©2018 ProObject
Principal Level Software Engineer (SOAP)

Position Description:

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 the SCRUM 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
  • Middleware developer who is proficient in web services
  • Experience with extraction/translation/load (ETL) operations
  • 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

Labor Requirements:

  • Delegate programming and testing responsibilities to one or more teams and monitor their performance
  • Ensure quality control of all developed and modified software
  • Recommend new technologies and processes for complex software projects
  • Select the software development process in coordination with the customer and system engineering
  • Serve as the technical lead of multiple software development teams
  • Implement recommendations for improving documentation and software development process standards
  • Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met
  • Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements and interfaces
  • Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints; Perform quality control on team products
  • Oversees one or more software development teams and ensures the work is completed in accordance with the constraints of the software development process being used on any particular project
  • Design or implement complex database or data repository interfaces/queries
  • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design
  • Modify existing software to correct errors, to adapt to new hardware, or to improve its performance
  • Serve as team lead at the level appropriate to the software development process being used on any particular project

Technical Skills Required:

  • Developing middleware or presentation layer software is a strong requirement
  • Minimum 20 years’ experience as a Software Developer using Java and JavaScript
  • Minimum of 5 years of experience developing REST services, SOAP
  • Minimum of 5 years of experience using Spring/SpringBoot
  • Experience with Jenkins, Maven, Git

Special Technical Skills Desired:

  • 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
  • Experience using Vert.X, SnoarQube a plus
  • Experience using ElasticSearch a plus
  • Exposure to Agile and SCRUM methodology a plus

Minimum Experience Required:

Twenty (20) years of experience in programs and contracts of similar scope, type, and complexity is required. Bachelor’s Degree in Computer Science or related discipline from an accredited college or university is required. Four (4) years of additional software engineering experience on projects with similar software processes may be substituted for a bachelor’s degree.

TS/SCI with Polygraph required

Previous Job