Embedded Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking a highly experienced Real-Time Embedded Software Engineer with a strong background in C/C++ development and hands-on involvement in Hardware-in-the-Loop (HWIL) environments. This role requires expertise in real-time systems, hardware/software integration, and Linux-based development. The engineer will work on-site in lab environments to support system integration and testing.
Responsibilities
Design, develop, and optimize real-time embedded software using C/C++ (C++11 or higher)
Support Hardware-in-the-Loop (HWIL) development, integration, and testing
Collaborate with cross-functional engineering teams (software, hardware, systems)
Integrate software with hardware components in real-time environments
Participate in debugging, troubleshooting, and performance optimization
Support on-site lab activities, including hardware bring-up and test execution
Contribute to full software development lifecycle processes
Work within Agile teams using modern tooling and version control systems
Requirements
Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, or related field
Extensive hands-on experience with real-time embedded systems
Strong proficiency in C/C++ (C++11 or higher)
Experience working with Linux systems and real-time operating environments
Demonstrated capability in hardware/software integration
Background in real-time software development, hardware testing, or embedded/simulation systems
Preferred Qualifications
Master's degree in a related engineering field
Experience with Ada
Full software development lifecycle (SDLC) experience
Familiarity with Git, GitLab, JIRA, and Agile/Scrum methodologies
Experience integrating closed-loop systems
Knowledge of automated testing frameworks and unit testing
Background in low-level software, including device driver development