> Markdown version of [/jobs/ext/4547633-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/4547633-embedded-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer - **Company:** Actalent - **Location:** Pittsburgh, PA, United States (Remote available) - **Salary:** $119,996.0 - $159,994.0 - **Contract:** Temporary to permanent - **Skills:** Systems Engineering, Computer Engineering, Embedded C, Embedded Software, Fault Tolerance, Software Engineering, Software Requirements Analysis, Verification and Validation (Software), Systems Architecture, Real Time Systems, Concurrency, Software Coding - **Published:** November 3, 2026 - **Apply:** https://www.careercircle.com/jobs/all/all/usa/pa/pittsburgh/2a5aa5e7-6c28-42f4-9e77-137abbd5d69c ## About the Role Scheduling Leadership Innovation Embedded C Testability Communication Problem Solving Decision Making Control Systems Fault Tolerance Safety Assurance Embedded Systems Fault Management Design Strategies Embedded Software Peripheral Devices Exception Handling Systems Engineering Project Engineering Software Development Computer Engineering Systems Architecture Deterministic Methods Technical Documentation Engineering Design Process Hardware Verification Language, * Bachelors or Masters degree in Computer Engineering or a closely related discipline. * At least 58 years of professional software development experience using C. * Expert-level proficiency in C for embedded, real-time environments. * Strong understanding of real-time concepts, including scheduling, interrupts, concurrency, memory constraints, and hardware interaction. * Hands-on experience developing embedded software that interfaces with processors, I/O modules, communication buses, and safety peripherals. * Experience working in structured, audited, configuration-controlled development environments. * Proven ability to write clear and comprehensive software requirements. * Ability to ensure deterministic behavior and robust error handling in real-time systems. * Experience applying defensive coding practices and fault-tolerant design strategies in safety-critical applications., * Experience in safety-critical domains, particularly railway control and protection systems, is highly beneficial. * Familiarity with safety lifecycle processes and documentation for control and protection systems. * Experience collaborating with multidisciplinary teams, including systems engineering, signalling design, hardware engineering, V&V, and safety assurance. * Background in system architecture decision-making involving performance, safety, maintainability, and certification considerations. * Strong analytical and problem-solving skills for diagnosing and resolving complex embedded software issues. * Clear written communication skills for producing technical documentation and design specifications., Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors. ## Description This role focuses on designing, implementing, and maintaining embedded C software for onboard signalling and train control systems. The engineer develops software for critical safety-related functions, including automatic train protection, communications handling, timing synchronization, diagnostics, and fault management, while ensuring deterministic execution, robust error handling, and compliance with real-time and safety lifecycle requirements for railway control and protection systems. The position involves close collaboration with multidisciplinary engineering teams and significant contribution to safety documentation, system architecture, and fault-tolerant design strategies appropriate for train safety systems., * Design, implement, and maintain embedded C software for onboard signalling and train control systems. * Develop software for safety-related functions such as automatic train protection, communications handling, timing synchronization, diagnostics, and fault management. * Work closely with onboard hardware, including processors, I/O modules, communication buses, and safety-related peripherals. * Ensure deterministic execution and robust error handling in a real-time embedded environment. * Develop software in accordance with safety lifecycle requirements for railway control and protection systems. * Contribute to safety documentation, including software requirements, architecture descriptions, and detailed design specifications. * Implement defensive coding techniques and fault-tolerant strategies suitable for train safety systems. * Collaborate closely with project engineering, systems engineering, signalling design, hardware, verification and validation (V&V), and safety assurance teams throughout the development lifecycle. * Write clear, testable, and traceable software requirements for embedded control functions. * Contribute to system architecture trade-offs involving performance, safety, maintainability, and certification impact. * Participate in structured, audited, and configuration-controlled development processes to ensure high-quality and traceable software deliverables.