Embedded Software Engineer
ARCHIVED
We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.
Job Description
Job title: Embedded C Software Developer
Location: Pittsburgh, PAVISA: US Citizen, Green Card
Note: If someone is ready to relocate from Day 1, they can also apply.
Job Description:
- Interview Mode: There will be an initial video interview then an on-site/in-person interview to wrap it up.
- Our client is looking for an enthusiastic self-motivated Embedded C Software Developer (Contract role) who thrives in a fast-paced environment. The successful candidate is comfortable performing a wide range of tasks.
- Please note this is 6 months – 1 year contract role.
- Embedded C Software Developer Position responsibilities will include: On‑Board Embedded Software Development
- Design, implement, and maintain embedded C software for on‑board signalling and train control systems.
- Develop software for safety‑related functions such as automatic train protection, communications handling, timing synchronization, diagnostics, and fault management.
- Interface closely with on‑board hardware, including processors, I/O modules, communication buses, and safety peripherals.
- Ensure deterministic execution, robust error handling, and compliance with real‑time constraints. Rail Signalling & Safety‑Critical Engineering
- Develop software in accordance with safety lifecycle requirements for railway control and protection systems.
- Contribute to safety documentation, including software requirements, architecture descriptions, and design specifications.
- Implement defensive coding and fault‑tolerant strategies appropriate for train safety systems. Cross‑Disciplinary Collaboration & Leadership
- Work closely with project engineering, systems engineering, signalling design, hardware, V&V, and safety assurance teams.
- Experience with writing software requirements
- Contribute to system architecture trade‑offs involving performance, safety, maintainability, and certification impact. Required skills/experience:
- Bachelor’s or Master’s Degree in Computer Engineering
- At least 5-8 years of software development experience with CExpert‑level proficiency in C for embedded, real‑time environments
- Strong understanding of real‑time concepts including scheduling, interrupts, concurrency, memory constraints, and hardware interaction
- Experience working in structured, audited, configuration‑controlled development environments