Senior Software Engineer, C++ Infrastructure
Agtonomy
Software Engineering, Other Engineering
South San Francisco, CA, USA
Posted on Nov 15, 2024
About Us
Agtonomy is pioneering advanced automation and AI solutions to transform agriculture and beyond. Initially focused on specialty crops, our TeleFarmer™ platform addresses labor-intensive needs with automation, turning conventional equipment into autonomous machines. By partnering with leading manufacturers like Doosan Bobcat, we integrate smart technology into tractors and other machinery, enhancing safety and efficiency. As we expand into ground maintenance and other industrial applications, our expert team continues to address key challenges with labor shortages, sustainability and profitability across various industries.
About the Role
Join our dynamic team as we push the boundaries of robotics and autonomy technology. In this role, you will design and develop high-performance software frameworks, ensuring optimal performance and efficiency. You will interact with advanced sensors and handle large volumes of data, creating robust systems that support a wide range of autonomy applications. You will use first principles to drive technical designs. Your work will involve close collaboration with cross-functional teams, contributing to the continuous enhancement of our technology. This role is perfect for someone with a strong background in modern systems programming, software design, and performance optimization, who is passionate about advancing the field of autonomous systems.
What You'll Do
- Design, implement and maintain our on-robot software framework & middleware for executing, monitoring and testing the autonomy system on our vehicles
- Profiling system performance and identifying performance bottlenecks
- Developing user-space software to interact with physical sensors such as cameras, LIDARs, IMUs, GNSS receivers, etc.
- Developing frameworks for buffering and logging high-throughput data
- Developing foundational libraries used by a wide variety of autonomy algorithms and applications
- Continuously raise the quality of our product by identifying gaps using real-time diagnostics of various system components
- Designing metrics pipelines to better understand performance characteristics of the system
- Working cross-functionally with other teams to gather requirements and identify areas of improvement across the software stack
What You'll Bring
- Expertise in C++17 (or newer) or other modern systems programming languages
- Experience with asynchronous, event-driven programming
- Excitement to contribute across the stack to solve problems from end-to-end
- Experience profiling software performance in a Linux environment
- Experience designing well-documented software APIs
- Strong software architecture skills, having designed and shipped solutions for complicated real-world use cases
- Minimum of 4 years of experience designing flexible, performant software and interfaces for resource-constrained systems such as robots or mobile devices
- Ability to pitch technical ideas to cross-functional audiences
What Makes You a Strong Fit
- Experience with autonomy software systems and development patterns
- Expertise in C++ specific low-level code optimizations
- Experience with Nvidia Jetson platforms, CUDA, libargus, etc.
Benefits:
• 100% covered medical, dental, and vision for the employee (cost plus partner, children, or
family is additional)
• Commuter Benefits
• Flexible Spending Account (FSA)
• Life Insurance
• Short- and Long-Term Disability
• 401k Plan
• Stock Options
• Collaborative work environment working alongside passionate mission-driven folks!
Our interview process is generally conducted in five (5) phases:
1. Phone Screen with People Operations (30 minutes)
2. Video Interview with the Hiring Manager (45 minutes)
3. C++ Coding Challenge (1 hour with an Engineer)
4. Panel Interview (Video interviews scheduled with key stakeholders; each interview will be 30 to 45 minutes)
5. Final Interviews (CEO, CFO, VP of Engineering, 30 minutes each)