Software Engineer
About the Role
This role focuses on designing, developing, and maintaining complex applications and embedded systems with minimal supervision. You will contribute to advanced test and simulation solutions for electronic warfare applications, including embedded C/C++ programming for microcontrollers or FPGAs, graphical user interface development, and close collaboration with hardware in a lab environment to create high-fidelity simulations of evolving electromagnetic threats.
Responsibilities
- Design, code, and maintain software applications in various programming languages with minimal supervision.
- Develop embedded software in C and C++ for microcontrollers and FPGAs, ensuring reliable and efficient performance.
- Create and enhance graphical user interfaces that support sophisticated test and simulation systems.
- Write interface control documents, specifications, and detailed test procedures for all software designs.
- Work closely with hardware in a lab setting to integrate and validate software with electronic systems.
- Debug software and hardware interactions using lab equipment such as spectrum analyzers and digital oscilloscopes.
- Participate in the full software development lifecycle, including requirements analysis, design, implementation, testing, and maintenance.
- Apply object-oriented design principles and design patterns to build scalable and maintainable software solutions.
- Collaborate with cross-functional teams to support test and simulation hardware and software for electronic warfare applications.
- Contribute to the design and development of systems used on the flight line, range, or in lab environments to simulate enemy radar and missile threats.
- Ensure high-fidelity software and hardware designs that accurately simulate complex and evolving electromagnetic threat environments.
- Follow established coding standards and best practices to maintain code quality and consistency.
- Manage multiple tasks and projects simultaneously while meeting deadlines and demonstrating strong initiative.
- Document work clearly and thoroughly to support testing, maintenance, and future enhancements.
Requirements
- 4–5+ years of professional experience in C/C++ embedded programming; entry-level candidates will not be considered.
- Bachelor's degree in Computer Science, Computer Engineering, or a related field with 5+ years of related experience.
- Strong proficiency in embedded software development using C and C++ for microcontrollers and FPGAs.
- Experience working in Linux and embedded Linux environments.
- Hands-on experience with firmware development and debugging.
- Proficiency with lab equipment such as spectrum analyzers and digital oscilloscopes for debugging and validation.
- Skilled in software development using C++, including object-oriented design and application of design patterns.
- Familiarity with database design using SQL.
- Knowledge of coding standards and the complete software development lifecycle.
- Proficiency with Visual Studio 2010 and later for software development.
- Ability to work independently, learn new tasks quickly, handle multiple tasks, solve complex problems, and meet deadlines.
- Strong self-motivation and initiative in a technical environment.
- Active Top Secret security clearance.
Skills
- Experience with Python and MATLAB for data analysis, scripting, or test automation.
- Developing graphical user interfaces for technical or engineering applications.
- Experience working with embedded software and firmware in aerospace, defense, or other high-reliability industries.
- Understanding of electronic warfare concepts and electromagnetic threat environments.
- Experience collaborating with hardware engineers to develop integrated test and simulation systems.
- Knowledge of SQL database integration within complex software systems.
- Comfort with learning new tools, technologies, and methodologies in a fast-paced environment.
Work Environment
This role operates in a state-of-the-art facility focused on designing and developing test and simulation hardware and software for electronic warfare applications. The environment includes lab-based work with access to advanced equipment such as spectrum analyzers and digital oscilloscopes, as well as modern software development tools including Linux, embedded Linux, Visual Studio, and various programming and scripting languages.
The organization invests heavily in training and professional development, offering extensive resources to help engineers grow their skills and advance their careers. Work centers on innovative technology that supports aerospace and defense, specialized vehicles, turf care, and fuel systems, with solutions used on flight lines, ranges, and in laboratories to simulate enemy radar and missile threats for testing aircraft sensors and electronics or training pilots. The culture values makers, thinkers, creators, and doers who enjoy working on cutting-edge systems that fly, hover, zoom, launch, move people, protect soldiers, and power industries.
Schedule
The standard schedule follows a 9/80 work arrangement, providing every other Friday off, which supports work–life balance.
Pay
The pay range for this position is $80,000.00 - $180,000.00 per year.
Benefits
- Paid time off (PTO)
- Medical, vision, and dental insurance
- Health insurance
- 401K match
This is a permanent, fully onsite position based in Hunt Valley, MD.