Embedded Engineer

Posted:
10/10/2024, 12:10:24 PM

Location(s):
South San Francisco, California, United States ⋅ California, United States ⋅ Ontario, Canada ⋅ Toronto, Ontario, Canada

Experience Level(s):
Junior ⋅ Mid Level ⋅ Senior

Field(s):
Software Engineering

Who We Are

AeroVect is transforming ground handling with autonomy, redefining how airlines and ground service providers around the globe run day-to-day operations. We are a Series A company backed by top-tier venture capital investors in aviation and autonomous driving. Our customers include some of the world’s largest airlines and ground handling providers. For more information, visit www.aerovect.com.

Job Description

We are seeking an Embedded Software Engineer to join our fast-paced team in designing and maintaining software for our autonomous Ground Support Equipment (GSE). The ideal candidate will have a foundational understanding of low-level systems in autonomous vehicles, including communication protocols, networking, operating system fundamentals, and embedded systems. This role focuses on software tasks related to OS optimization, networking, middleware, diagnostics management, and working on PLCs alongside senior engineers.

Responsibilities

  • Contribute to the design, development, and maintenance of embedded software and firmware.

  • Collaborate with vendors and cross-functional teams to integrate and maintain sensor drivers and onboard hardware components.

  • Support the optimization of operating systems with real-time constraints, including network architecture and time synchronization protocols.

  • Assist in developing diagnostic, watchdog, and communication systems, including wireless and cellular architectures.

  • Participate in benchmarking, selecting, and integrating compute hardware for autonomous vehicles.

  • Help streamline processes for new vehicle deployment and troubleshoot embedded systems as needed.

Qualifications

Minimum Qualifications

  • Bachelor's Degree in Computer Science, Electrical Engineering, Mechanical Engineering, Robotics, Physics, or a related field

  • Proficiency in C/C++ programming and strong problem-solving skills

  • Experience with Linux-based operating systems, schedulers, real-time kernels, and time synchronization protocols (PTP, NTP)

  • Understanding of memory management, concurrency, memory allocation, file systems, and networking protocols (TCP, UDP)

  • Familiarity with various communication protocols (EtherCAT, CAN, I2C, SPI, UART, Serial)

  • Experience with embedded systems and microcontroller programming

  • Excellent collaboration and communication skills

Desired Qualifications

  • Master's Degree in Computer Science, Robotics, or a related field

  • Experience integrating various sensors into the autonomy stack

  • Knowledge of Data Distribution Service (DDS) frameworks like ROS/ROS2 or other networking middleware

  • Familiarity with system development and deployment of unmanned systems

  • Understanding of Modern C++ (C++14 and beyond) and safety-critical coding practices (MISRA and ISO 26262 compliance)

  • Experience working with microcontrollers and single-board computers

  • Hands-on experience with embedded hardware design and debugging tools

  • Familiarity with firmware development and real-time operating systems (RTOS)

Join our team and contribute to the cutting-edge development of autonomous vehicles by optimizing operating systems, enhancing networking capabilities, improving middleware and diagnostic systems, and working on embedded hardware alongside a team of experienced engineers.