2021 Zipline Embedded Systems Software Engineering Internship
Deadline: May 26, 2021.
Do you want to change the world? Zipline uses drones to deliver critical and life-saving medicine to thousands of hospitals serving millions of people in multiple countries.
Do you love tinkering with mechanical and electrical devices and watching your code come to life? Does writing safety-critical low-level software intrigue you? Do you see your projects through from start to finish, regardless of what you’re working on?
Zipline is looking for interns to join our Embedded Systems team to create and improve upon a reliable software platform for our autonomous aircraft and ground systems. As a member of the team, you will go deep in your area of ownership, becoming an expert in the problem domain, defining requirements for systems, rapidly developing creative and simple solutions, and proving with testing and data that the system meets the rigors and edge-cases of real-world deployment. Embedded Systems engineers at Zipline also contribute beyond their field–reviewing schematics, building user interfaces, designing hardware in the loop test systems, and more.
Embedded interns can own a variety of big problems integral to our system! Examples of previous projects included:
- Building a high data rate voltage and current telemetry system that runs continuously in our RTOS using ADCs, I2C devices and GPIO interrupts. Testing this feature rigorously, deploying it to production globally, building data analysis tools to verify that the feature is working properly, and using this data to root-cause tricky failures to improve the reliability of our systems.
- Rapidly iterating on the concept of a new perception system, integrating compute modules and sensor prototypes to fly a proof of concept ASAP and de-risk key aspects of the approach.
- Building a system to multiplex batteries between chargers, reducing charging times and operator fatigue. Owning the entire feature development process from the design and user interface, through implementation, testing, deployment, and data monitoring, continuously soliciting feedback from engineers and operators throughout the whole process.
- Working with the Guidance, Navigation and Controls team to integrate a new plant model into our Hardware-in-the-Loop simulator, unlocking new testing capabilities across our entire software team.
- Immediately responding to, reproducing and root-causing failures so that everyone can get their medical products when they need them.
- Finding ways to make the codebase better for other engineers through every feature built, for example removing tech debt or cruft, adding debugging or logging tools, increasing test coverage, improving toolchains or build times, etc.
- You’ve designed, built and deployed electromechanical systems and robots outside the classroom. Previous interns have built submarines, solar cars in the Australian outback, electric boats, rockets, etc.
- You’re comfortable working in C, C++, Python, and/or Rust, and have developed software for a real time operating system or embedded linux.
- You set a high standard for your software — your code is efficient, easy-to-ready, well-tested, and has friendly APIs.
- You’re familiar with basic electrical engineering concepts, such as reading schematics, and debugging with a multimeter.
- You can work independently–taking ownership of projects with ambiguous requirements–as well as collaboratively with a diverse team.
- Additional interdisciplinary engineering skills are a plus, such as control of dynamic systems, PCB design/CAD, or backend infrastructure experience.