13 days ago
Huntsville, AL, USASenior
Responsibilities
- Design, develop, integrate, verify, and test modular, high-performance embedded Linux software systems.
- Develop scalable multithreaded applications using modern C++ for embedded Linux platforms.
- Implement maintainable, modular, performant, reliable, and testable software components and interfaces.
- Integrate software with hardware devices, sensors, networking components, and real-time data-processing pipelines.
- Support software integration, system bring-up, debugging, performance optimization, and field support.
- Collaborate with systems, hardware, FPGA, algorithm, and test engineers to implement system-level capabilities.
- Design and implement networked software using IP protocols and distributed communication architectures.
- Develop Python- and Bash-based tools for testing, deployment, data analysis, simulation, and engineering workflows.
- Participate in software verification, validation, troubleshooting, design reviews, code reviews, requirements analysis, architecture development, and technical planning.
- Author and review technical documentation and contribute to customer deliverables.
- Provide technical guidance and code-review feedback to junior engineers and contribute to team-level technical decisions.
- Improve development processes, automated testing, build systems, and continuous integration and continuous delivery pipelines.
Requirements
- Bachelor’s degree in Computer Engineering, Electrical Engineering, or a related field, or equivalent professional experience developing embedded software systems.
- Five to seven years of experience in software design and development, including experience supporting complex embedded systems.
- Extensive experience developing multithreaded applications in modern C++ for embedded Linux platforms.
- Experience designing modular software architectures and interfacing software with hardware devices, serial interfaces, Ethernet, and custom communication protocols.
- Proficiency in Python for automation, test development, data processing, and engineering utilities.
- Experience with automated build systems, continuous integration, version control, and software configuration management.
- Strong analytical and debugging skills for diagnosing complex system-level issues and effective communication in multidisciplinary engineering teams.
- U.S. citizenship and ability to obtain and maintain a U.S. Department of Defense Secret security clearance.
- Preferred experience includes defense, aerospace, unmanned systems, robotics, RF systems, electronic warfare, SIGINT, guidance, navigation, or autonomous platforms.
- Preferred qualifications include real-time Linux, deterministic software design, POSIX threads, real-time scheduling, low-latency techniques, FPGA-based systems, custom hardware, high-speed data acquisition, Linux kernel interfaces, device drivers, and board support packages.
- Preferred experience includes distributed software architectures, publish-subscribe messaging, middleware frameworks, software simulation, hardware-in-the-loop testing, containerized development, virtualization, software safety, secure coding, defense standards, automated test frameworks, deployment tools, profiling, and performance optimization.
- An active DoD Secret or Top Secret security clearance is preferred.
Benefits
- Employee ownership through an ESOP retirement plan.
- 401(k) plan, flexible work schedules, tuition reimbursement, co-sponsored health plan, and paid leave.
- Employment is contingent upon a comprehensive background check, security investigation, and drug screening.
- The position is based in Huntsville, Alabama; no remote or hybrid arrangement is stated.
