Systems Engineer, Vehicle Systems (Embedded)
Aurora Innovation (View all Jobs)
1. Simplified real-world coding task on Coderpad.io 2. Time-boxed take-home assignment 3. Face-to-face meeting with teammates.
Programming Languages Mentioned
C++, Python, C
Who We Are
Aurora (Nasdaq: AUR) is delivering the benefits of self-driving technology safely, quickly, and broadly. Founded in 2017 by experts in the self-driving industry, Aurora is revolutionizing transportation – making it safer, increasingly accessible, and more reliable and efficient than ever before. Its flagship product, the Aurora Driver, is a platform that brings together software, hardware, and data services, to autonomously operate passenger vehicles, light commercial vehicles, and heavy-duty trucks. Aurora is partnered with industry leaders across the transportation ecosystem including Toyota, Volvo, PACCAR, Uber, Uber Freight, FedEx, and U.S. Xpress. Aurora tests its vehicles in the Bay Area, Pittsburgh, and Texas and has offices in those areas as well as in Bozeman, MT; Seattle, WA; Louisville, CO; and Detroit, MI. To learn more, visit www.aurora.tech.
Aurora hires talented people with diverse backgrounds who are ready to help build a transportation ecosystem that will make our roads safer, get crucial goods where they need to go, and make mobility more efficient and accessible for all. The Systems Engineering team at Aurora is seeking a candidate with expertise in software architecture, engineering, and integration of safety- and mission- critical software systems.
Aurora’s Systems Engineers work closely with engineering design teams to develop sound and implementable design concepts and requirements. Collaboration and teamwork are essential for bringing various stakeholders together, and guide implementation decisions across different disciplines.
In this role, you will
- Work with hardware, embedded software and safety engineering teams to:
- Define implementation-agnostic functional and performance requirements for embedded software.
- Develop architecture concepts and supporting documentation, such as (but not limited to) interface definitions, state machine / transition diagrams, boundary diagrams and software/hardware architecture diagrams. These artifacts support requirements development, system decomposition, safety analysis,cross functional requirements allocation and prototype integrations of the Aurora Driver on to Vehicle Platforms
- Support cross-functional system-level failure mode analyses to help define requirements that define the Aurora Driver and Vehicle Platform integration.
- Develop verification and validation plans against sub-system and system requirements respectively. Establish traceability across the system and drive cross functional discussions to ensure that requirement coverage is achieved for the product.
- Support the embedded software team’s development of sub-system-level verification (Eg. HIL, lab/bench test) and vehicle level validation.
- Define and conduct experiments / tests during the development cycle to flush out concepts.
- Develop and support in releasing functional and design FMEAs.
- Work closely with Safety Engineering to support Functional Safety work product development and to establish a cohesive system concept for the Vehicle Platform
- Establish and execute systems engineering practices that can be utilized across the company to guide efficient product development, including development and management of requirements, functional architecture, establishing traceability.
- BS/MS or PhD in Computer Science, Computer Engineering, or a related field such as Systems Engineering with notable design engineering experience in embedded systems.
- Knowledge of both high and low-level communication protocols, from I2C and SPI to CAN and TCP/IP Protocols
- Field Programmable Gate Array (FPGA) development experience including HDL code development (VHDL, Verilog, or System Verilog), simulation, test bench development, synthesis, and timing analysis
- Embedded system development experience in a microprocessor and FPGA based mixed signal environment such as the Xilinx Zynq platform or comparable platforms as Intel Arria
- Experience using a range of laboratory tools to verify board functionality including oscilloscopes, logic analyzers, digital multimeter, function generators, or network analyzers
- Excellent C or C++ programming, Python and software design skills; expertise in other languages welcome
- Basic knowledge of electrical engineering fundamentals to support low level debugging
- Experience with authoring requirements including use of a requirements management systems
- Strong organizational and communication skills; ability to coordinate efforts and requirements across a large number of stakeholders across the organization
- Proficiency in JAMA for requirements management
- Working level knowledge of AUTOSAR
- Working knowledge of CAN protocols
- Knowledge of SoC architectures; experience working with complex, heterogeneous SoCs - especially ARM-based ones.
- Knowledge of other Real-Time OS architectures (e.g. FreeRTOS, Integrity, VxWorks, etc.)
- Experience working with low-level bootloaders.
- Experience implementing OTA solutions.
- Experience with PTP and other Time Sensitive Networking Protocols
- Experience with software development practices for safety critical systems
- Digital Signal Processing (DSP) experience in processor or FPGA-based designs
- Proven ability to rapidly prototype algorithmic designs (e.g. control systems, DSP) using technologies such as MATLAB
- Design work utilizing serializer / deserializer (SERDES) technology for high speed digital designs such as PCIe, 1Gbps / 10Gbps Ethernet, D-PHY, or M-PHY
- Linux Experience
- Highly proficient in either C or C++
- Any level may apply
Working at Aurora
At Aurora, we bring together people with extraordinary talent and experience united by the strength of our values. We operate with integrity, set outrageous goals, and continue to build a culture where we win together—all without any jerks.
We have offices in 8+ locations across the United States. We offer a competitive benefits package to qualifying employees. Our Career Page includes everything you need to know about working at Aurora.
At the core of everything we do is our commitment to safety. Building best-in-class self-driving technology will take time, and we believe that each employee at Aurora has a role in contributing to safety, every step of the way. Aurora expects commitment to our safety policies from every employee, and seeks candidates who take an active responsibility, can contribute to building an atmosphere of trust, and invest in the organization’s long-term success by prioritizing working safely, no matter what.
We believe that self-driving technology has broad benefits – including an increase in safety and access to transportation – and to achieve those benefits, we want and need a workforce with diverse experiences, insights, and perspectives; said another way, a workforce that reflects the communities and people our technology will benefit. You can find all the latest news on our Blog
Individuals seeking employment at Aurora are considered without regard to race, color, religion, national origin, age, sex, gender, gender identity, gender expression, sexual orientation, marital status, pregnancy status, parent or caregiver status, ancestry, political affiliation, veteran and/or military status, physical or mental disability, or any other status protected by federal or state law.
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄