Embedded Software Engineer IV

WabtecGermantown, MD
$91,000 - $129,800Onsite

About The Position

As an Embedded Software Engineer, you will collaborate with cross-functional engineering teams to design, develop, and maintain embedded software solutions for industrial electronics products. You will work throughout the product lifecycle, from requirements definition and architecture to implementation, testing, and deployment, ensuring reliable, high-quality software that meets performance, safety, and customer requirements. As a member of the DOSE Software Team, you will collaborate with cross-functional engineering teams to design, develop, and maintain high-quality embedded software solutions that meet system, functional, performance, safety, and cybersecurity requirements. Reporting to the Software Manager, you will play a key role in delivering reliable software solutions on schedule while maintaining the highest standards of quality and customer satisfaction. In this role, you will be responsible for the full software development lifecycle, including requirements analysis, architecture, design, implementation, integration, testing, and release of embedded software applications. You will contribute to technical reviews, including requirements, design, and code reviews, and develop unit and integration tests to ensure software quality and compliance. Additionally, you will support software verification and validation activities, troubleshoot complex technical issues, and work closely with system, hardware, quality, and product teams to deliver robust and scalable software solutions in accordance with DOSE processes, standards, and guidelines.

Requirements

  • Bachelor's degree in Computer Engineering, Electrical Engineering, Software Engineering, Computer Science, or a related field, with 7 to 10 years of relevant industry experience.
  • Strong verbal and written communication skills, with the ability to clearly articulate technical concepts to both technical and non-technical audiences.
  • Self-motivated, results-oriented professional with a strong commitment to quality, continuous learning, and collaboration.
  • Proven experience developing embedded software using C and C++.
  • Experience with Python, Bash, or other scripting languages for automation, testing, and development workflows.
  • Experience working with Linux, Unix-based systems, or real-time operating systems (RTOS) such as QNX and FreeRTOS.
  • Proficiency in software architecture, component design, interface design, and software integration.
  • Strong understanding of operating system concepts, networking protocols (TCP/IP, UDP, Ethernet), and hardware interfaces.

Nice To Haves

  • Experience developing device drivers and Board Support Packages (BSPs).
  • Knowledge of Software Change Management (SCM), Software Development Lifecycle (SDLC) methodologies, and Continuous Integration/Continuous Delivery (CI/CD) practices.
  • Experience working in an Agile Scrum development environment.
  • Familiarity with safety-critical software development and industry standards, including CENELEC and rail transportation standards.
  • Experience with software verification, validation, and debugging in embedded environments.
  • Knowledge of secure software development practices and cybersecurity requirements for embedded systems.

Responsibilities

  • Design, develop, and maintain high-quality embedded software solutions that meet system and subsystem requirements.
  • Collaborate with systems, hardware, test, and product engineering teams to ensure software functionality aligns with product specifications and customer requirements.
  • Perform root cause analysis of software defects and system issues, and implement effective corrective actions.
  • Develop and maintain technical documentation, including requirements, architecture, design, implementation, and process documentation.
  • Participate in software architecture, design, code, and peer reviews to ensure quality, maintainability, and compliance with development standards.
  • Contribute to all phases of the software development lifecycle, from requirements definition through deployment and maintenance.
  • Develop, automate, and maintain unit, integration, and regression test suites to improve software quality and reliability.
  • Investigate, assess, and remediate cybersecurity vulnerabilities in accordance with secure development processes and product security requirements.
  • Support software integration, verification, validation, and release activities in accordance with organizational standards and processes.
  • Continuously identify opportunities to improve development tools, processes, automation, and engineering efficiency.

Benefits

  • Relocation assistance may be provided if eligibility requirements are met.
  • health
  • welfare
  • retirement
  • annual bonus
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service