Platform Software Engineer
South San Francisco, CA, USA
Posted on Wednesday, January 3, 2024
Agtonomy is a hybrid autonomy and tele-assist service platform that turns tractors and other equipment into autonomous machines. A robust sensor suite and custom software stack enable remote modes of operation with a higher margin of safety than conventional equipment. Agtonomy, through its OEM partners, will address both local agriculture skilled labor shortages and broader land maintenance operations, including wildfire prevention through land clearing.
About the role
We are looking for a dynamic and problem-solving software generalist to join our embedded software team. You will develop the infrastructure driving the autonomy application stack. Examples include sensor ingestion, message passing and inter-process communication, high fidelity data recording, build system infrastructure, telemetry pipelines, deployment over the air, automated test infrastructure, and much more. You will coordinate with other hardware, software, program management, and business teams to design, implement, and iterate on solutions.
What you’ll be doing:
- Develop C++ middleware framework for distributed autonomy software
- Develop user-space software to interact with sensors
- Develop internal tooling to aid in autonomy development (C++, Python, Bash)
- Develop over the air deployment pipelines for production releases and developer workflows
- Develop CI/CD pipelines, software-in-the-loop and hardware-in-the-loop test infrastructure
- Develop necessary tools to support development, debugging and testing
- Write performant, well-tested software, improve code quality through code and design reviews
What you’ll bring:
- Several years of experience with C++11 or newer
- Several years of experience working with Linux-based systems
- Experience developing multithreaded software and IPC patterns
- Experience with C/C++ toolchains and build systems such as Bazel, make, cmake, etc.
- Curiosity and willingness to learn about new technology
- Ability to thrive in a fast-moving, collaborative, small team environment with little supervision
- Excellent analytical, communication, and documentation skills with demonstrated ability to collaborate with interdisciplinary stakeholders
- Passion for sustainable energy and electric vehicle development
What makes you a strong fit:
- Experience with Bazel build system and Docker
- Experience working with “IoT” devices (OTA & telemetry problems)
- Experience with Google Protobufs or other serialization libraries such as Capnproto, Flatbuffers, etc.
- Some working experience with Python & Bash in addition to C++
- Understanding of event-driven, asynchronous programming models
- Understanding of Linux executable loading (dynamically loaded libraries, etc)