
Software Developer Intermediate
- Ashland, VA
- Permanent
- Full-time
Responsibilities
- Contributing to the design and development of software systems for integrated early warning of CBRN sensors, under the guidance of senior developers and technical leads.
- Collaborating with team members to understand project requirements, user needs, and system architectures, and participating in solution design discussions.
- Implementing software components and features according to technical specifications and project timelines, utilizing modern programming languages, frameworks, and technologies.
- Participating in code reviews, providing feedback, and incorporating best practices to ensure code quality, maintainability, and performance.
- Assisting in the integration of disparate data streams, real-time analysis algorithms, and visualization tools to support decision-making and situational awareness.
- Development of flexible and customizable front-end user interfaces in accordance with customer requirements.
- Building of optimized mobile interfaces, which may be either native apps or web interfaces depending on the use case
- Consideration of usability factors for operators who may be in austere environments and/or are wearing protective equipment
- Development of plugins for other external mobile applications, in accordance with each external system’s Application Programming Interfaces (APIs)
- Following cybersecurity guidelines and best practices to ensure the security and integrity of software systems, including implementing encryption, access controls, and secure communications.
- Supporting testing, verification, and validation activities, including unit testing, integration testing, and user acceptance testing, to ensure the reliability and effectiveness of deployed solutions.
- Assisting with documentation tasks, including documenting software designs, development processes, and technical specifications, for upload to project repositories and documentation platforms.
- Collaborating with team members and stakeholders to troubleshoot issues, address technical challenges, and ensure the successful deployment and maintenance of software systems.
- Research and learning: Stay up to date with new technologies and industry trends, attend training sessions or using online resources to continually improve development skills.
- Education / Certifications: Related experience may be substituted for education.
- Bachelor’s Degree in Computer Science (BSCS), Engineering, Science, or similar field
- Security certifications, such as CompTIA Security + are preferred but not required
- You must be a US Citizen with the ability to obtain a secret level security clearance.
- Experience: Minimum:
- Demonstrated proficiency in backend software development (Java, C#, Go, etc), with experience supporting frontend software development (Typescript, React, etc).
- Familiarity with software development frameworks, version control systems, and development tools commonly used in agile software development environments.
- Strong problem-solving skills, with the ability to analyze technical challenges and develop effective solutions in collaboration with team members.
- Good understanding of software design principles, data structures, algorithms, and object-oriented programming concepts.
- Experience with automated testing, unit testing, integration testing (JUnit, NUnit, etc).
- Experience with user interface development.
- Preferred:
- Industry experience in software development, with a minimum of 3 years in a mid-level role, preferably in a DOD or defense contracting environment.
- Creation and development of mobile user interfaces.
- Experience presenting and demonstrating technical options to stakeholders and customers.
- Excellent communication and interpersonal skills, with the ability to collaborate effectively with remote team members and stakeholders.
- Eagerness to learn and adapt to new technologies, methodologies, and project requirements.
- Commitment to professionalism, integrity, and accountability in all aspects of software development.
- Familiarity with infrastructure as code (IaC) tooling, such as terraform, ansible, Kubernetes, Helm or similar.
- Experience with containerization with tools such as Docker and Kubernetes.
- Experience with continuous integration and deployment strategies and configuration software, such as Helm and Ansible.
- Experience using microservices to build scalable and robust applications.
- Experience with developing cross-platform applications.