Job Description
Do you have a passion for bringing hardware products to life with your code? Do you find something beautiful about well-written software? Are you fearless when it comes to learning and applying a new programming language or paradigm? Do you find that difficult challenges motivate you even more? Do you crave a fast-paced, intimate work environment?
As an embedded firmware engineer, you will be writing code that brings hardware products to life, from autonomously flying UAVs to battery-swapping, cloud-connected ground robots. Your tasks will range from writing autopilot firmware code in C/C++ to writing web interfacing code in higher-level scripting languages.
What you'll do:
- Architecting and developing production quality autopilot firmware in C/C++
- Writing application-level software
- Writing firmware algorithms for control systems
- Writing sensor drivers and data processing algorithms
What we are looking for:
- 5+ years of experience with production quality C/C++
- 5+ years of experience developing embedded firmware on 32- or 64-bit processors
- 3+ years of experience developing with an RTOS
- Basic electronics and schematic understanding
- Experience with at least one scripting language (Python, Ruby, Bash, Javascript)
- Experience with Linux Embedded Microcontrollers (Raspberry, Artik)
Preferred Skills and Experience:
- Experience with aeronautics and control algorithms
- Experience with system state estimation algorithms is strongly preferred
- Experience with UAV autopilot development
- Experience deploying production ready IOT firmware