Embedded Software Engineer IV
Overview
As Senior Embedded Software Engineer, you design, develop, and test embedded software for DOSE products (ECP, video/event recorders, network devices, braking and train control systems). You work with a cross-functional team to meet system, functional, and cybersecurity requirements and ensure on-time delivery. You’ll participate in reviews, CI/CD practices, and software releases, contributing to high-quality, safe rail solutions. This role offers impact through shaping software for critical rail technologies and cybersecurity posture. You will partner across engineering to drive robust, scalable implementations that align with the company mission to advance safe and efficient rail mobility.
Compensation / Benefitshealth, welfare, and retirement benefitsannual bonus (if eligible)
ResponsibilitiesDesign and develop high-quality embedded software components aligned with system and subsystem requirementsCollaborate with cross-functional teams to meet product specifications and delivery timelinesPerform requirement and design reviews, code reviews, and unit testingRelease software per DOSE processes and guidelinesExecute and enhance the full software development lifecycleCreate and maintain automated unit tests for new designsInvestigate and remediate cybersecurity vulnerabilitiesDevelop documentation covering design, requirements, architecture and processes
Key requirements5+ years of related experience in embedded softwareProficiency in C and C++ developmentExperience with Bash, Python, or other scripting languagesExperience with Linux/Unix-based RTOS (QNX, FreeRTOS)Strong software, component, and interface design skillsUnderstanding of modern OS coding techniques, IP protocols, and hardware interfacesKnowledge of safety-critical software and rail standards (CENELEC) is a plusExperience with SCM, SDLC, and CI in an Agile/Scrum environment is desirableEffective written and oral communicationSelf-driven, quick learnerTeam player, results-orientedC and C++ software developmentScripting with Bash or PythonLinux/Unix RTOS experience (QNX, FreeRTOS)