Software Engineer, Localization
Agtonomy
Software Engineering
South San Francisco, CA, USA
Posted on Saturday, July 27, 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
As a Localization Engineer on the Autonomy Team, you will be responsible for developing state estimation algorithms to help our tractors more accurately estimate their pose with respect to the local and global frames. You will work closely with perception, planning, and controls engineers on the team to design and evolve the outputs of the pose and localization systems to better serve their consumers. This role is perfect for someone who loves combining math and software, and is excited about applying their experience to make robots drive in smart ways in rugged, agricultural environments.
What You'll Do
- Implementing new features to improve the stability and reliability of our local and global pose estimates.
- Designing mitigation and fallback strategies for the pose estimation systems.
- Creating robust online and offline sensor calibration routines that perform reliably in complex and unpredictable environments.
- Researching, prototyping, and experimenting with various sensors and state-of-the-art state estimation algorithms.
- Architecting, designing, and implementing software applications, as well as onboard and offboard infrastructure and tools to support those applications.
- Developing portable, scalable, and fast geometry and optimization libraries.
- Writing performant, well-tested software, and improving code quality of the entire Autonomy team through code and design reviews.
- Validating your solutions on real vehicles in real-world scenarios.
What You'll Bring
- Demonstrated experience deploying state estimation algorithms in real robots: Kalman filters, particle filters, structure from motion, visual inertial odometry, etc.
- Deep understanding of the design tradeoffs involved when fusing various sensing technologies: cameras (mono and stereo), LiDAR, RADAR, GNSS, IMUs, wheel encoders, etc.
- Experience implementing state estimation math effectively in software with the following libraries: Eigen, Ceres, GTSAM, etc.
- Strong proficiency in modern C++ and experience writing efficient algorithms for resource-constrained embedded systems.
- Ability to thrive in a fast-moving, collaborative, small team environment with lots of ownership.
- Excellent analytical, communication, and documentation skills with demonstrated ability to collaborate with interdisciplinary stakeholders outside of Autonomy.
- An eagerness to get your hands dirty by testing your code on real robots at real customer farms (gives “field testing” a whole new meaning!).
What Makes You a Strong Fit
- Experience architecting state estimation systems from scratch and understanding the design tradeoffs when leveraging filters, pose graph optimization, etc.
- Experience with state-of-the-art visual and/or lidar odometry algorithms.
- Experience implementing custom factors for factor graph optimization.
- Thinks/dreams in Lie algebra.
- 5+ years of software development experience in autonomy, robotics, or a related field.
- MS or PhD in Robotics, Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- Passion for sustainable agriculture and electric vehicles.
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. Coding Challenge and Technical Challenge (1 hour with an Autonomy 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)