JOBSEARCHER

Software Engineer III Full-Stack Development

Job DescriptionSALARY RANGE $220,000 - $280,000/yearDUTIES As a successful candidate for the Software Engineer III role, you will develop, maintain, and enhance complex and diverse software systems, including processing-intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, and business management information systems based on documented requirements. You will work independently or as part of a team to review and test software components for adherence to design requirements and document test results. You will utilize software development and software design methodologies appropriate to the development environment and provide input to the software components of system design, including hardware and software trade-offs, software reuse, the use of Commercial Off-the-Shelf (COTS) and Government Off-the-Shelf (GOTS) solutions in place of new development, and requirements analysis and synthesis from the system level to individual software components.Required SkillsSKILLS Analyze user requirements to derive software design and performance requirementsDebug existing software and correct defectsProvide recommendations for improving documentation and software development process standardsDesign and code new software or modify existing software to add new featuresIntegrate existing software into new or modified systems or operating environmentsDevelop simple data queries for existing or proposed databases or data repositoriesWrite or review software and system documentationServe as team lead at the level appropriate to the software development process being used on a projectDesign or implement complex database or data repository interfaces and queriesDevelop or implement algorithms to meet or exceed system performance and functional standardsAssist with developing and executing test procedures for software componentsDevelop software solutions by analyzing system performance standards, conferring with users or system engineers, analyzing system flow, data usage, and work processes, and investigating problem areasModify existing software to correct errors, adapt to new hardware, or improve performanceDesign, develop, and modify software systems using scientific analysis and mathematical models to predict and measure outcomes and consequences of designDesign or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints, and perform quality control on team productsImplement recommendations for improving documentation and software development process standardsOversee one or more software development teams and ensure work is completed in accordance with the constraints of the software development process being used on the projectConfer with system engineers and hardware engineers to derive software requirements and obtain information on project limitations and capabilities, performance requirements, and interfacesCoordinate software system installation and monitor equipment functioning to ensure operational specifications are metRecommend new technologies and processes for complex software projectsServe as the technical lead of multiple software development teamsSelect the software development process in coordination with the customer and system engineeringEnsure quality control of all developed and modified softwareDelegate programming and testing responsibilities to one or more teams and monitor their performanceQUALIFICATIONS Candidates must possess a Bachelor's degree in Computer Science or a related discipline from an accredited college or university and twenty (20) years of experience as a Software Engineer on programs and contracts of similar scope, type, and complexity. In lieu of a Bachelor's degree, four (4) additional years of Software Engineering experience on projects with similar software processes may be substituted.Additional RequirementsTen years of experience developing with Java SE, Python, Git, Shell/Bash, Nexus, Maven, JavaScript, HTML5, CSS3, JUnit, and modern IDEsTen years of experience in software architecture development, requirements analysis, code generation, process execution and evaluation, and technology selection and assessmentTen years of experience with containers and orchestration technologies such as Docker, Kubernetes, OpenShift, and GitLab CI, including microservices, CI/CD pipelines, automated testing integration such as SonarQube, automated deployments and failure rollbacks, and Kubernetes-based deploymentsTen years of experience supporting Agile development programs that deliver new capabilities in each sprintExperience with Spring Framework, Spring Tool Suite, Grit, Jenkins, Hibernate, MySQL, Web Services, and Google Web Toolkit or Vaadin is a plus