> Markdown version of [/jobs/ext/2292608-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/2292608-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:** Parallel Systems - **Location:** Los Angeles, CA, United States - **Salary:** $132,000.0 - $178,000.0 - **Contract:** Internship / Graduate position - **Skills:** Testing (Software), C (Programming Language), Unit Testing, Software Bug Management, C++ (Programming Language), Code Review, Communications Protocols, Computer Programming, Computer Engineering, Data Transmissions, Software Debugging, Programming Tools, Digital Electronics, Memory Management, Embedded Software, Hardware Interface Design, Integrated Development Environments, PID Controllers, Real-Time Operating Systems, Server Administration, Software Engineering, Verification and Validation (Software), System Programming, Systems Integration, Universal Asynchronous Receiver/Transmitter, Rust (Programming Language), Serial Peripheral Interface, PIC Microcontroller, Real Time Systems, State Machines, Hardware Testing, Integration Tests, Information Technology, Bare Metal, Hardware Infrastructure, Hardware Debugging, Programming Languages - **Published:** August 29, 2026 - **Apply:** https://www.careerbuilder.com/job-details/embedded-software-engineer-vehicle-software-los-angeles-ca--f5cae148-8283-4b34-b5e1-5ccad846b177 ## About the Role * Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Robotics, or a related technical field, or equivalent practical experience * Experience programming in C, C++, Rust, or another systems programming language through coursework, internships, projects, or professional experience * Familiarity with embedded systems, microcontrollers, or real-time software development * Understanding of common digital communication protocols such as SPI, I2C, UART, or CAN * Familiarity with basic software concepts such as state machines, interrupts, memory management, and hardware interfaces * Hands-on experience debugging technical systems through academic projects, internships, student teams, personal projects, or professional work * Strong problem-solving skills and an interest in working directly with hardware * Willingness to learn Rust and modern embedded software development practices Preferred Qualifications * Internship, co-op, research, or project experience developing embedded software * Experience with bare-metal or RTOS-based development * Familiarity with oscilloscopes, logic analyzers, debuggers, or other hardware debugging tools * Experience with robotics, autonomous systems, automotive, aerospace, industrial automation, or similar hardware-focused projects * Exposure to control systems, PID controllers, or motion control * Coursework or project experience in electrical engineering or digital electronics * Experience with Rust or interest in developing production embedded software in Rust, Aerospace and Defense, Automation, Automotive Automation, C Programming Language, C++ Programming Language, Cargo/Freight, Code Reviews, Communications Protocols, Computer Engineering, Computer Science, Continuous Improvement, Control Systems, Debugging Skills, Debugging Tools, Diversity, Documentation, Electrical Design, Electrical Engineering, Electronic Engineering, Embedded Software, Embedded Systems, Hardware Components, Hardware Debugging, Hardware Quality Assurance, Hardware-Software Integration, I2C, Integration Testing, Logic Analyzer, Logistics, Memory Hardware, Memory Management, Microcontroller, Motion Control, Oscilloscope, Problem Solving Skills, Programming Languages, Programming Tools, Quality Assurance Methodology, Realtime Operating System, Robotics, Rust Programming Language, Software Administration, Software Development, Software Engineering, Software Validation, Standards Development, Systems/Internals Programming, Test Plan/Schedule, Trucking, Unit Test, Universal Asynchronous Receiver-Transmitter (UART) ## Description Parallel Systems is seeking an Embedded Software Engineer to help develop the embedded systems that power our autonomous rail vehicles. In this role, you will contribute to real-time software that interfaces directly with hardware components, sensors, and control systems to support safe and reliable vehicle operations. This is an early-career role for an engineer looking to build strong foundations in embedded software development, hardware-software integration, and real-time systems. You will work closely with experienced software and hardware engineers while gaining hands-on experience developing and testing software on production hardware. Responsibilities * Develop and maintain embedded software for bare-metal and RTOS-based systems * Implement and test digital communication protocols such as SPI, I2C, UART, and CAN * Contribute to state machines and command/control software for autonomous vehicle systems * Write reliable, memory-conscious embedded software, primarily in Rust * Work with hardware engineers to integrate, debug, and validate hardware-software interfaces * Develop unit and integration tests for embedded software using hardware test stands * Debug software using standard embedded development tools and techniques * Participate in code reviews, design discussions, documentation, and continuous improvement of engineering practices What Success Looks Like * After 30 Days: You understand the basics of our embedded architecture, development environment, and hardware platforms. You are contributing small code changes, tests, and bug fixes with support from the team. * After 60 Days: You are independently implementing and testing well-scoped embedded software features and becoming comfortable debugging software on target hardware. * After 90 Days: You have delivered embedded software that has been validated on target hardware, can independently own smaller features or subsystems, and are contributing effectively to the team's development and testing practices. ## Related Videos - [Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World](https://www.wearedevelopers.com/videos/1206-single-server-global-reach-running-a-worldwide-marketplace-on-bare-metal-in-a-cloud-dominated-world) - [Are Code Reviews Worth It? Insights from 16 Years of Review Data](https://www.wearedevelopers.com/videos/1135-are-code-reviews-worth-it-insights-from-16-years-of-review-data) - [Are you still programming unit tests or already generating?](https://www.wearedevelopers.com/videos/722-are-you-still-programming-unit-tests-or-already-generating) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [How to Avoid Tech Hype Traps - Josip Stuhli](https://www.wearedevelopers.com/videos/1817-how-to-avoid-tech-hype-traps-josip-stuhli) - [Code to Road in < 12 hours](https://www.wearedevelopers.com/videos/1082-code-to-road-in-12-hours) ## Related Articles - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [What is Software Engineering?](https://www.wearedevelopers.com/magazine/289-what-is-software-engineering) - [How software is steering vehicle technology](https://www.wearedevelopers.com/magazine/515-how-software-is-steering-vehicle-technology) - [4 reasons why you should learn Rust in 2021 – and maybe even have fun doing it](https://www.wearedevelopers.com/magazine/35-4-reasons-why-you-should-learn-rust-in-2021-and-maybe-even-have-fun-doing-it) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [Steps to Get a Software Engineer Internship](https://www.wearedevelopers.com/magazine/160-steps-to-get-a-software-engineer-internship)