Embedded Software Engineer - Vehicle Software
Los Angeles, CA·Posted today
airoboticsrust
<div class="content-intro"><p>Parallel Systems is pioneering autonomous battery-electric rail vehicles designed to transform freight transportation by shifting portions of the $900 billion U.S. trucking industry onto rail. Our innovative technology offers cleaner, safer, and more efficient logistics solutions. Join our dynamic team and help shape a smarter, greener future for global freight.</p></div><p><strong><span data-contrast="auto">Embedded Software Engineer </span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335551550":1,"335551620":1,"335559685":0,"335559737":0,"335559738":240,"335559739":240,"335559740":279}"> </span></p> <p><span data-contrast="auto">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.</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}"> </span></p> <p><span data-contrast="auto">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.</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":240,"335559739":240}"> </span></p> <p><strong><span data-contrast="auto">Responsibilities</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335551550":1,"335551620":1,"335559685":0,"335559737":0,"335559738":240,"335559739":240,"335559740":279}"> </span></p> <ul> <li><span data-contrast="auto">Develop and maintain embedded software for bare-metal and RTOS-based systems</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Implement and test digital communication protocols such as SPI, I2C, UART, and CAN</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Contribute to state machines and command/control software for autonomous vehicle systems</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Write reliable, memory-conscious embedded software, primarily in Rust</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Work with hardware engineers to integrate, debug, and validate hardware-software interfaces</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Develop unit and integration tests for embedded software using hardware test stands</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Debug software using standard embedded development tools and techniques</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Participate in code reviews, design discussions, documentation, and continuous improvement of engineering practices</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> </ul> <p><strong><span data-contrast="auto">What Success Looks Like</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335551550":1,"335551620":1,"335559685":0,"335559737":0,"335559738":240,"335559739":240,"335559740":279}"> </span></p> <ul> <li><strong><span data-contrast="auto">After 30 Days:</span></strong><span data-contrast="auto"> 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.</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><strong><span data-contrast="auto">After 60 Days:</span></strong><span data-contrast="auto"> You are independently implementing and testing well-scoped embedded software features and becoming comfortable debugging software on target hardware.</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><strong><span data-contrast="auto">After 90 Days:</span></strong><span data-contrast="auto"> 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.</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> </ul> <p><strong><span data-contrast="auto">Basic Requirements</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335551550":1,"335551620":1,"335559685":0,"335559737":0,"335559738":240,"335559739":240,"335559740":279}"> </span></p> <ul> <li><span data-contrast="auto">Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Robotics, or a related technical field, or equivalent practical experience</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Experience programming in C, C++, Rust, or another systems programming language through coursework, internships, projects, or professional experience</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Familiarity with embedded systems, microcontrollers, or real-time software development</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Understanding of common digital communication protocols such as SPI, I2C, UART, or CAN</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Familiarity with basic software concepts such as state machines, interrupts, memory management, and hardware interfaces</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Hands-on experience debugging technical systems through academic projects, internships, student teams, personal projects, or professional work</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Strong problem-solving skills and an interest in working directly with hardware</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{"335552541":1,"335559683":0,"335559684":-2,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="8" data-aria-level="1"><span data-contrast="auto">Willingness to learn Rust and modern embedded software development practices</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> </ul> <p><strong><span data-contrast="auto">Preferred Qualifications</span></strong><span data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335551550":1,"335551620":1,"335559685":0,"335559737":0,"335559738":240,"335559739":240,"335559740":279}"> </span></p> <ul> <li><span data-contrast="auto">Internship, co-op, research, or project experience developing embedded software</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Experience with bare-metal or RTOS-based development</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Familiarity with oscilloscopes, logic analyzers, debuggers, or other hardware debugging tools</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Experience with robotics, autonomous systems, automotive, aerospace, industrial automation, or similar hardware-focused projects</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Exposure to control systems, PID controllers, or motion control</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Coursework or project experience in electrical engineering or digital electronics</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> <li><span data-contrast="auto">Experience with Rust or interest in developing production embedded software in Rust</span><span data-ccp-props="{"134233117":false,"134233118":false,"335551550":0,"335551620":0,"335559738":0,"335559739":0}"> </span></li> </ul><div class="content-pay-transparency"><div class="pay-input"><div class="description"><p><span style="font-size: 12px;"><em>We are committed to providing fair and transparent compensation in accordance with applicable laws. Salary ranges are listed below and reflect the expected range for new hires in this role, based on factors such as skills, experience, qualifications, and location. Final compensation may vary and will be determined during the interview process. The target hiring range for this position is listed below.</em></span></p></div><div class="title">Target Salary Range:</div><div class="pay-range"><span>$132,000</span><span class="divider">—</span><span>$152,000 USD</span></div></div></div><div class="content-conclusion"><p><span style="font-size: 10pt;"><em>Parallel Systems is an equal opportunity employer committed to diversity in the workplace. All qualified applicants will receive consideration for employment without regard to any discriminatory factor protected by applicable federal, state or local laws. We work to build an inclusive environment in which all people can come to do their best work.</em></span></p> <p><span style="font-size: 10pt;"><em>Parallel Systems is committed to the full inclusion of all qualified individuals. As part of this commitment, Parallel Systems will ensure that persons with disabilities are provided reasonable accommodations. If reasonable accommodation is needed to participate in the job application or interview process, to perform essential job functions, and/or to receive other benefits and privileges of employment, please contact your recruiter.</em></span></p></div>