View all jobs
Software Engineer ( Full-time ) Huntsville, AL - DK
Job Purpose:
The Software Engineer designs, develops, and tests software applications and products.
Additionally, the Software Engineer manages software development teams, provides technical leadership, and establishes software development lifecycle practices and processes.
The Software Engineer is proficient in programming languages such as Java, JavaScript, C, C++, C#, Ruby, Python, Scala, and Groovy. In this role, the Software Engineer requires extensive knowledge of programming languages, software development, computer operating systems, Continuous Integration/Continuous Delivery (CI/CD), DevOps, Application Programming Interface (API) development, container development, and distributed systems.
The Software Engineer also applies engineering principles to software creation, manages production releases of software, performs code reviews, merges feature development branches, and analyzes and triages issues.
The necessary skill areas for the Software Engineer include programming and coding, fundamentals of computer science, software design and architecture development, algorithms and data structures, information analysis, software debugging and testing, and working on development teams.
The Software Engineer also works with sponsors to curate requirements, define sprint work items, set priorities for work backlogs, and organize development teams.
Key Responsibilities:
Skills and Certifications [note: bold skills and certification are required]
C++
Python
Linux operating systems
Security Clearance Required: No
Visa Candidate Considered: No
Compensation
Base Salary - USD $130,000 to $150,000
The Software Engineer designs, develops, and tests software applications and products.
Additionally, the Software Engineer manages software development teams, provides technical leadership, and establishes software development lifecycle practices and processes.
The Software Engineer is proficient in programming languages such as Java, JavaScript, C, C++, C#, Ruby, Python, Scala, and Groovy. In this role, the Software Engineer requires extensive knowledge of programming languages, software development, computer operating systems, Continuous Integration/Continuous Delivery (CI/CD), DevOps, Application Programming Interface (API) development, container development, and distributed systems.
The Software Engineer also applies engineering principles to software creation, manages production releases of software, performs code reviews, merges feature development branches, and analyzes and triages issues.
The necessary skill areas for the Software Engineer include programming and coding, fundamentals of computer science, software design and architecture development, algorithms and data structures, information analysis, software debugging and testing, and working on development teams.
The Software Engineer also works with sponsors to curate requirements, define sprint work items, set priorities for work backlogs, and organize development teams.
Key Responsibilities:
- Perform software development, debugging, modification, enhancement, and documentation.
- Design, test, and develop computer software in order to meet program requirements.
- Develop and maintain kernel and user-level software and scripts.
- Contribute to research reports, presentations, white papers, and competitive proposals.
- Create and analyze network protocols.
- Design and develop software requirements for air and missile defense systems supporting current and next-generation platforms.
- Implement high-performance software solutions that meet stringent real-time and reliability requirements for operational defense systems.
- Develop and optimize containerized applications using Docker and Podman for deployment across diverse operational environments.
- Collaborate regularly with customers, users, and cross-functional team members throughout the product lifecycle to deliver quality solutions.
- Report development status, technical challenges, and results to Project Director and stakeholders.
- Provide ongoing engineering support, troubleshooting, and performance optimization for fielded products.
- Contribute to Agile development practices including sprint planning, code reviews, and continuous integration/deployment.
- Strong proficiency in either:
- C++, or other Object Oriented Programming (OOP) language such as Java, or similar, with focus on performance-critical code and optimization techniques.
- Python, JavaScript, or similar, for tooling, automation, and application development.
- Strong coordination, organization, and technical communication abilities.
- Self-motivated with proven ability to work effectively in a collaborative, multi-tasking team environment.
- The candidate must be self-motivated, possess communication skills, and be capable of working in a multi-tasking team environment.
- Active Secret Clearance.
- Demonstrated experience with Agile development methodologies and structured documentation practices.
- Proficiency with software development in Linux environments.
- Experience with air and missile defense systems such as IBCS (Integrated Air and Missile Defense Battle Command System), THAAD (Terminal High Altitude Area Defense), or CAML (Common Autonomous Missile Launcher).
- Direct experience in the air and missile defense domain or related military systems.
- Proficiency with development tools: Jira, Confluence, GitLab, VS Code.
- Hands-on experience with containerization technologies (Docker, Podman) for application deployment and orchestration.
- Experience writing and optimizing high-performance, low-latency code for real-time or embedded systems.
- Knowledge of network communication protocols: TCP/IP, UDP, REST, and middleware technologies.
- Experience with Data Distribution Service (DDS) and Interface Definition Language (IDL) for distributed systems.
- Familiarity with real-time operating systems (RTOS) or deterministic software design patterns.
- Hands-on troubleshooting, debugging, and performance profiling of complex software systems.
- Experience with CI/CD pipelines, automated testing frameworks, and DevOps practices.
- Understanding of software security principles and secure coding practices for defense applications.
- 2 years of related experience with a Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering, Systems Engineering, Mathematics, Physics, Aerospace Engineering, Information Technology, or related field.
- 0 years of related experience with a Masters’ degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering, Systems Engineering, Mathematics, Physics, Aerospace Engineering, Information Technology, or related field.
Skills and Certifications [note: bold skills and certification are required]
C++
Python
Linux operating systems
Security Clearance Required: No
Visa Candidate Considered: No
Compensation
Base Salary - USD $130,000 to $150,000