Mid-Level Embedded Software Engineer
TSC · Huntsville, AL · 1 mo ago
EngineeringFull-time
Responsibilities
- Design, develop, and maintain embedded software for ARM-based processors using the C and C++ programming languages.
- Design, develop, and maintain system test applications using the C, C++, and Python programming languages.
- Implement real-time controls, signal processing algorithms, and inter/intra-process communications.
- Collaborate with cross-functional teams, including hardware and FPGA engineers, to define software requirements and system architecture.
- Debug and troubleshoot software and hardware integration issues, utilizing lab equipment (e.g., oscilloscopes, spectrum analyzers) and debugging tools (e.g., JTAG, GDB) as necessary.
- Conduct integration and system testing to ensure software quality and performance.
- Work with hardware-in-the-loop (HWIL) testing to validate embedded software functionality.
- Document software designs, development processes, and test plans and results.
Requirements
- Bachelor’s degree in electrical or computer engineering, or a related field.
- 3-10 years of experience in embedded software development.
- Proficiency in programming languages such as C/C++ and Python/MATLAB.
- Strong understanding of microcontroller/microprocessor architectures and peripherals.
- Familiarity with debugging tools such as JTAG, oscilloscopes, and signal analyzers.
- Knowledge of communication protocols (e.g., UART, SPI, I2C, CAN, Ethernet).
- Excellent problem-solving skills and attention to detail.
- Strong organizational and communication skills.
Qualifications
- US Citizenship and ability to obtain and maintain a DoD security clearance.
Preferred Qualifications
- Experience with AMD/Xilinx SoC devices (e.g., Zynq-7000, Zynq UltraScale+, Versal).
- Familiarity with RADAR concepts and signal processing.
- Familiarity with the Git version control system.
- Familiarity with development/collaboration tools such as Artifactory, Jenkins, Confluence, etc.
- Understanding of cybersecurity principles in embedded systems.
- Experience with real-time operating systems (RTOS) and embedded Linux.
Benefits
TSC offers a stable work environment, a competitive salary, and a comprehensive benefits package; including ESOP participation, 401k Plan, Flexible Work Schedules, Tuition Reimbursement, Co-Sponsored Health Plan, Paid Leave, and much more.