Software Engineer
Annapolis Junction, MD
Description

  

Position Description

The Software Engineer shall be responsible for developing, sustaining, and troubleshooting team’s software suite of web based mission applications in a Linux environment. Software Engineering activities include requirements analysis, design, implementation, testing, and integration with other COTS and FOSS products, packages, and libraries. The Software Engineer must have a demonstrated understanding of the software development lifecycle.


Requirements

 Position Required Skills

§ Experience using the Linux CLI

§ Experience developing with Java in a Linux computing environment

§ Experience developing with the Spring Framework including Spring Boot and Spring Integration

§ Experience developing web based UI applications using Javascript/Typescript, HTML and CSS

§ Experience developing with the React Javascript Framework 

§ Experience developing with NoSQL MongoDB (CRUD, Advanced Queries, Indexing, Sharding) 

§ Experience developing with FOSS Messaging Frameworks such as Kafka and RabbitMQ

§ Experience with CI/CD principles, methodologies, and tools such as GitLab CI and Jenkins

§ Experience with containerization technologies such as Docker

§ Experience using Git Version Control System

Position Desired Skills

§ Experience using the Atlassian Tool Suite (JIRA, Confluence)

§ Experience with UX graphic design and visualization techniques

§ Experience with container orchestration techniques such as Kubernetes