Software Verification Engineer, Embedded Test Infrastructure
Located in Northern California, the Joby Aviation team is steadily working toward our goal of creating an affordable, all-electric air transportation system. Imagine an air taxi that takes off vertically, then quietly and quickly carries you over the traffic congestion below, giving you back the time that otherwise would have spent sitting in traffic. Since 2009, our team has been making this dream a reality, designing and flight testing a prototype aircraft capable of serving in a network of electric air taxis. We’re looking for talented individuals to join our team as we push onwards toward certifying the aircraft with the Federal Aviation Administration and preparing for commercialization with launch targeted in select markets for 2024.
The Embedded Test Infrastructure SV Engineer will build out the test infrastructure that is required for large-scale automated testing of our embedded software. In this position, you will work with flight simulation software, hardware emulation, hardware-in-the-loop simulation, signal analyzers, and python tools to test embedded devices in a Linux environment. The candidate should be energetic, meticulous, and self-motivated with a passion for product quality.
Your primary responsibility will be to develop lab environments, python test frameworks, continuous integration configurations, and the underlying tools that verify the correctness of the embedded software used on the Joby aircraft. The goal of this work is to create workflows so that Software Verification Engineers can easily develop automated tests from requirements in order to verify embedded software for certification purposes.
- Work with the development operations, automation development and software verification teams to design and implement automated test infrastructure.
- Become a product expert on the embedded software used for controlling the aircraft.
- Write test automation scripts in the python language that exercise embedded software features and contribute to the development of the python test framework that underlies automated scripts.
- Monitor and troubleshoot automated test failures and generate bug reports and triage them such that they can be resolved in a timely manner.
- Design and assemble test environments to host automated tests in our Vehicle Software Integration Lab.
- Document lab environments and automation test infrastructure.
- Develop configuration management techniques to ensure conformance of these test environments for certification purposes.
- Assist users of our test venues to ensure conformity and satisfactory performance of the associated networks.
- Design, execute and maintain test cases, test plans, test procedures, test reports, and supporting documentation for software validation and verification purposes
- B.S. in Computer Science, Mathematics, Mechanical Engineering, Aerospace Engineering, or equivalent real-world experience and 3+ years industry experience in Embedded Software development, Software Quality Assurance, Software Verification or Test Engineering or and advanced degree and 1+ years industry experience.
- Demonstratable proficiency in Python programming in Software Test and Verification particularly in conjunction with testing embedded systems, robotics or network-based services.
- Strong understanding of basic embedded software concepts such as signal analysis, processor time, and memory allocation.
- Development, execution and reporting of test cases and reporting of defects, code coverage and other quality metrics.
- Experience with commonly used project management, bug tracking and continuous integration tools, e.g., JIRA, Jenkins, Teamcity.
- Experience capturing, monitoring and analyzing network traffic
- Linux system administration, configuration management and shell scripting experience.
- Experience testing real time operating systems (RTOS), hardware abstraction layers, firmware drivers and other low-level C/C++ software.
- Experience with flight simulators leveraging both software and hardware “in-the-loop” testing strategies
- Agile software development, Unit Testing and Test Driven Development.
- C/C++ programming proficiency.
- Network protocol debugging
- Background testing power distribution methods such as Power over Ethernet (PoE) and Power over Data Line (PoDL)
Please still apply if you don’t meet all items in the desired section! Studies have shown that women and people of color are less likely to apply to jobs unless they meet every single qualification. We are dedicated to building a diverse and effective workplace, so if you’re excited about this role but your past experience doesn’t align perfectly with every qualification, we encourage you to apply anyway. You may be just the right candidate for this or other roles.
Joby Aviation is an Equal Opportunity Employer.
Your application has been successfully submitted.
Electric Aerial Ridesharing