We are seeking an experienced Embedded Software Engineer to join our multi-disciplinary engineering team. In this role, you will contribute to ongoing programs within the Design & Engineering division and participate across the full software development lifecycle, including requirements interpretation, architecture design, implementation, integration, testing, and system troubleshooting.
This position involves a broad range of embedded software tasks such as microcontroller programming, interfacing with data acquisition (DAQ) systems, implementing communication protocols, and developing firmware as well as integrating embedded systems with external services or host applications. The role requires strong communication skills to effectively collaborate with cross-functional engineering teams and clearly convey technical concepts to stakeholders.
Required- ABET accredited BS degree in Computer Science, Computer Engineering, or a related discipline
- 5 years of relevant technical experience
- Strong foundational knowledge of embedded systems, microcontrollers, and low-level software development
- Proficiency in C/C++ and Python with the ability to work with additional languages as needed
- Experience with communication protocols (e.g., UART, RS-232, RS-422, RS-485, Modbus, SPI, I2C, CAN, TCP/IP)
- Familiarity with reading schematics and understanding digital/analog circuitry
- Experience working in Linux environments
- Must be able to obtain and maintain a security clearance
Desired- Familiarity with hardware description languages (e.g, Verilog, VHDL)
- Experience with hardware-in-the-loop or system-integration test environments
- Experience with Git/GitLab, including CI/CD pipelines and SAST/DAST security tooling
- Experience working with APIs (e.g., REST, SOAP, gRPC, WebSocket)
- Knowledge of working in containerized environments (e.g., Docker, Kubernetes)
- Experience with MATLAB/Simulink
- Knowledge of Agile methodologies