Software Engineer


Job Description

If You Join Us, You Will:

  • Design, Develop, and test software for Command and Control based products.
  • Develop front end and backend of software prototypes, components, and tooling that can be leveraged to speed prototyping process
  • Help to design and develop software requirements for multiple Command and Control based products including the software architectures, APIs, frameworks, and libraries.
  • Work with data scientists, UX designers, engineers, and product managers to help in composing cohesive and sound software designs that form the basis of scalable Command and Control software solutions
  • Optimize software designs and architectures to deliver desired performance targets
  • Maintain a forward-thinking approach in resolving roadblocks presented by current software strategy
  • Stay informed on latest software architectures and trends from design patterns to DevSecOps and systems architecture patterns
  • Migrate legacy systems to the cloud
  • Analyzes and decomposes activities and requirements to software designs that are allocated across systems components/sub-components, classification system levels, etc
  • Implements and practices DevOps Enablement
  • Communicate with key stakeholders ensuring business goals and visions are met
  • Be part of a cross-functional product team that respects, supports, and pushes for continuous improvement

Our Ideal Candidates Are:

  • Knowledgeable of industry standards and best practices
  • Comfortable with Extreme Programming (XP) Practices, paired programming, test-driven development, continuous integration/continuous delivery (CI/CD) techniques
  • Experienced with IT Architecture and System Integration
  • Experienced in one or many object-oriented programming languages
  • Familiar with implementing and using AWS or other similar cloud technologies
  • Aware of software development risks, with an appreciation for what is technically feasible
  • Able to maintain a high level of coding, testing, and engineering standards
  • Able to be flexible and adaptable if changes in priorities occur
  • Self-starters and fast-learners who are able to independently research and resolve issues using appropriate resources
  • Comfortable working with multi-disciplinary, multicultural, and geographically dispersed teams
  • Confident and proactive in communicating challenges or opportunities
  • Committed to their personal success, as well as success of their peers
  • Technologists at heart and leaders in practice

Basic Qualifications:

  • Minimum of 4-6 years of non-internship professional Full-Stack Software development experience (Java, Web services, Database, and/or web application development)
  • Bachelor's degree in a highly quantitative field (ie: Computer Science, Machine Learning, Operational Research, Statistics, Mathematics, etc). 3 years of directly related experience will be considered in lieu of Bachelor's degree.
  • 3-4 years of programming experience with JavaScript, Java, and preferably one more programming language (Python, etc)
  • 1-2 years of experience with DevSecOps tools and processes such as Git, Concourse, GitLabCI, SonarQube, Fortify, and ThreadFix
  • 1-2 years of experience with front end frameworks like React or Vue
  • 2 years of experience with Extreme Programming practices (Test-Driven Development, Pair Programming, CI,CD, etc)
  • 1-2 years of experience contributing to software architecture and design (architecture, design patterns, reliability and scaling) of both new and existing systems
  • 1 year of experience using container technologies such as Docker or Kubernetes

Preferred Qualifications:

  • Bachelor's degree in a highly quantitative field (Computer Science, Machine Learning, Operational Research, Statistics, Mathematics, etc.)
  • MS in a highly quantitative field (Computer Science, Machine Learning, Operational Research, Statistics, Mathematics, etc.)
  • 1-2 years of experience with backend runtimes and frameworks like Node.js, Spring, Spring Boot, Django, Flask, etc.
  • 2 years of test authoring experience in Javascript, Java, or other languages.(Unit tests, Integration tests, and Journey tests)
  • 1 year of experience with test mocks
  • 1 year of experience with contract testing
  • 1 year experience training, upskilling, and/or mentoring engineers
  • CompTIA Sec+, CMU SEI or CSSLP Certification

Chat with us