High-Level Summary
An Embedded Software Engineer will support the design, implementation, testing, and debugging of embedded software for development prototypes and production systems. Working alongside senior engineers, the intern will gain hands-on experience with hardware bring-up, firmware development, automated testing, and embedded system integration while contributing to real aerospace and high-reliability engineering projects.
Structured Description
Position Overview
This role supports software development activities for embedded systems, avionics, test equipment, and related engineering tools. The Embedded Software/Firmware Intern will assist with software development, debugging, hardware integration, and testing efforts while learning industry best practices for developing reliable embedded systems used in aerospace and defense applications.
Key Responsibilities
- Assist with the development and maintenance of embedded software and firmware systems.
- Support development of automated test software, engineering tools, and software infrastructure.
- Assist with development and maintenance of software for automated test fixtures and laboratory equipment.
- Assist with development and maintenance of software for automated test fixtures and laboratory equipment.
- Develop and execute software test procedures under the guidance of senior engineers.
- Collaborate with hardware, test, and radiation engineers to support system validation and troubleshooting.
- Assist with documentation of software design, development, and testing activities.
- Participate in design reviews, code reviews, and technical discussions.
- Learn and apply software engineering best practices, including version control, testing, and documentation.
Qualifications
- Currently pursuing a Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
- Experience with programming in C or C++ through coursework, personal projects, research, or internships.
- Basic understanding of software development principles and debugging techniques.
- Familiarity with embedded systems, microcontrollers, or low-level software concepts.
- Strong analytical and problem-solving skills.
- Ability to work effectively both independently and within a multidisciplinary engineering team.
- Strong written and verbal communication skills.
Preferred Skills
- Experience with embedded projects through coursework, clubs, personal projects, internships, or research.
- Familiarity with Python or other scripting languages.
- Exposure to communication protocols such as SPI, I2C, UART, CAN, Ethernet, or USB.
- Familiarity with Git or other version control systems.
- Exposure to RTOS or bare-metal embedded development.