JOBSEARCHER

Embedded Software Engineer

Job DescriptionJob title: Embedded C Software DeveloperLocation: Pittsburgh, PAVISA: US Citizen, Green CardNote: If someone is ready to relocate from Day 1, they can also apply.Job DescriptionInterview 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 DevelopmentDesign, 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 EngineeringDevelop 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 & LeadershipWork closely with project engineering, systems engineering, signalling design, hardware, V&V, and safety assurance teams.Experience with writing software requirementsContribute to system architecture trade‑offs involving performance, safety, maintainability, and certification impact. Required skills/experience:Bachelor’s or Master’s Degree in Computer EngineeringAt least 5-8 years of software development experience with CExpert‑level proficiency in C for embedded, real‑time environmentsStrong understanding of real‑time concepts including scheduling, interrupts, concurrency, memory constraints, and hardware interactionExperience working in structured, audited, configuration‑controlled development environments