Job Description

The software engineer is responsible for developing all the code in the enterprise. Applications are written in a variety of languages including Angular/TypeScript/JavaScript/C#/Python/Java, as well as mobile iOS/Android and Cordova applications. Work as part of a small team developing applications for both classified and unclassified environments. Help set the direction, implementation, and capabilities of the application. Take ownership of your work through unit testing and deliverable signoff. Grow your capabilities through developing scripted deployment solutions to the cloud using Jenkins and Ansible.

 

Responsibilities & Duties

  • Develops, maintains, and enhances complex and diverse software systems (e.g., processing-intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, and business management information systems) based upon documented requirements
  • Provides specific input to the software components of system design to include hardware/software trade-offs, software reuse, use of COTS/GOTS in place of new development, and requirements analysis and synthesis from system level to individual software components
  • Designs, implements, and integrates software applications or performs software engineering tasks
  • Utilizes software engineering and design methodologies appropriate to the development, integration, and production environment
  • Ensures efficient delivery of software engineering capabilities using industry standards and repeatable processes
  • Mitigates risks, controls costs and schedule variance, and effectively manages large scale, integrated software projects
  • Reviews and tests software components for adherence to the design requirements and documents test results
  • Develops or implements algorithms to meet or exceed system performance and functional standards.
  • Assists with developing and executing test procedures for software components. Writes or reviews software and system documentation.
  • Develops software solutions by analyzing system performance standards, confers with users or system engineers; analyzes systems flow, data usage and work processes; and investigates problem areas.
  • Serves as team lead at the level appropriate to the software development process being used on any particular project.
  • Modifies existing software to correct errors, to adapt to new hardware, or to improve its performance. Designs, develops and modifies software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design. Designs or implements complex database or data repository interfaces/queries.

 

Qualifications & Skills

  • Experience developing enterprise applications in one or more front-end and back-end programming languages
  • Self-starter requiring minimal oversight and direction
  • Jira or comparable SCRUM/SDLC management software
  • GitHub or comparable version control software
  • Confluence or comparable wiki/collaboration tools
  • MS Project and other management & reporting tools
  • Experience with AWS and scripted infrastructure a plus
  • Ansible, Docker, Chef/Puppet or similar experience a plus

 

Training and Certifications:

  • DoD 8570 compliance or information assurance certification a plus. Applicable software or hardware certifications commensurate with the technical objectives a plus.

 

Education and work experience:

  • Bachelors degree required
  • 4 years of related technical experience
     

Application Instructions

Please click on the link below to apply for this position. A new window will open and direct you to apply at our corporate careers page. We look forward to hearing from you!

Apply Online