Software Engineer 3

Category: Engineering
Department: Engineer
Location: Annapolis Junction, Maryland

Job Description:

Description of work: Work with team lead to understand tasking and deliver system to required specifications. Work with stakeholders to understand and implement system components. Participate as a member of an Agile team in daily stand ups. Specific duties include: • Interface with sub-system software and systems engineers; responsible for gathering user requirements, assisting with implementation, and support to system integration & test • Programming to include new development, bug fixes, and enhancements, as well as installation, monitoring and configuration programs and scripts • Software testing, installation, configuration and upgrading • Perform coding and unit test of new system components as they are defined • Documentation of all software developed; documentation to include application and interface documentation, Version Description Documents (VDD), User’s Manuals, and Trouble Shooting guides

Preferred Skills:

Experience: • 20 years’ experience in programs and contracts of similar scope, type, and complexity is required. • Minimum 10 years’ experience as a Software Developer using OO techniques and Java • Developing middleware or presentation layer software is a strong plus • Minimum 10 years’ in programs and contracts of similar scope, type, and complexity as a Software Engineer supporting software architecture development, requirements analysis, process execution and evaluation. • 7 years’ experience with JAVA and technical experience • Minimum of 3 years experience developing REST services • Minimum of 3 years experience using Spring/SpringBoot • Experience with Jenkins, Gradle, Maven and/or Git • Experience with Machine Shop • Maintains and promotes a DEVOPS culture during the design, development and sustainment process • Experience with monitoring tools (e.g. ELK, Prometheus, Graffana, etc) Preferred Experience: • Must be able to take the initiative, tackle implementation tasks, and solve problems with minimal guidance, but still be a “team player”, meaning, be able to accept direction and decisions from the Lead SWE and the Lead SE • Background in SIGINT, Cyber and/or IA • 3+ years using container technology (Docker, Kubernetes, Mesos, etc) • Familiarity with Microservice architectures • Familiarity with Twelve-Factor App methodologies for building software • Background in use of workflow orchestrators or rules processing engines such DROOL, Camunda, jBPM, or Activiti is a strong plus • Background in use of ASDF, TSDF, or BloodyMary • Background in use of serialized object such as Avro • Background in use of JMS (ActiveMQ) topics and queues • Exposure to Agile methodology a plus