Embedded Software Engineer
Job Description
Apera is hiring an Embedded Software Engineer for a 12-month hybrid contract focused on embedded real-time software for aerospace and defense electromechanical systems.
Responsibilities
- Design, develop, test, integrate, verify, document, and maintain embedded real-time application software
- Convert system, customer, and software requirements into reliable, testable software solutions
- Support hardware/software integration across sensors, actuators, motors, electrical hardware, and system interfaces
- Troubleshoot embedded software and hardware interactions, investigate anomalies, perform root-cause analysis, and apply corrective actions
- Develop and execute software verification activities to show compliance with defined system and software requirements
- Analyze test results, document findings, and support issue resolution during development, integration, production, and field support
- Create and maintain software requirements, design descriptions, interface documentation, technical analyses, and verification records
- Participate in design reviews, code reviews, configuration management, change control, and software release activities
- Interpret electrical schematics, interface control documents (ICDs), and engineering specifications
- Collaborate with engineering, program management, production, and quality teams to address technical risks and meet program objectives
Requirements
- Bachelor’s degree in a related STEM discipline with 2+ years of relevant professional experience, or an advanced degree in a related field
- Experience with embedded software development, real-time applications, software integration, verification, or a closely related technical discipline
- Working knowledge of the software development lifecycle including requirements analysis, software design, implementation, integration, testing, verification, and configuration management
- Proven ability to investigate complex technical problems, troubleshoot software issues, and support integration activities
- Ability to communicate technical information and collaborate with multidisciplinary engineering teams
- Ability to manage assigned engineering priorities and meet established project schedules
- U.S. citizenship required; No sponsorship and No visas
Preferred Technical Experience
- Embedded real-time software development for microcontrollers, processors, or comparable embedded platforms
- Hands-on embedded hardware integration, debugging, and verification
- Sensor interface development, including analog-to-digital conversion (ADC)
- Embedded software for brushless DC (BLDC) motor-control applications
- Resolver interfaces and motor-position feedback
- Integration of software with electrical, electronic, and electromechanical systems
- Source control, issue tracking, code reviews, and continuous integration
- Interpretation of electrical schematics, ICDs, and other engineering drawings
- Aerospace, defense, or other safety-critical development experience
- DO-178/DO-178C software development and verification environments
- Requirements-based testing, verification, traceability, configuration management, and problem-reporting processes
- Laboratory-based hardware/software troubleshooting using debugging equipment or test environments
- Formal engineering reviews and structured product development processes
Technology Stack
- MATLAB/Simulink
- IBM Engineering Requirements Management DOORS
- C, C++
- RTOS
- Bare-metal
Position Details
- Contract duration: 12 months
- Work arrangement: Hybrid (one week onsite per month; remote for remaining weeks)
- Industry: Aerospace & Defense
- Expected hours: 40.0 per week
- Work location: Hybrid remote in Middlebury, VT 05753
- Ability to commute: Middlebury, VT 05753 (required)
Pay
- $70.00 - $100.00 per hour (USD)
Application Questions
- How many years of professional experience do you have developing embedded software or firmware using C and/or C++?
- Have you personally developed software that runs directly on microcontrollers or embedded processors?
- Do you have hands-on experience developing real-time embedded software using an RTOS or bare-metal architecture?