Senior Software Engineer (Edge Robotics)
Aigen
Software Engineering  
Redmond, WA, USA
Posted 6+ months ago
At Aigen, our mission is to accelerate the transition to regenerative agriculture—with a pesticide-free, solar powered robotics platform.
   52% of agricultural land is degraded by current management practices, and toxic chemical pesticides are sprayed and then consumed in the food we eat. Join us to make a real world impact at the confluence of cutting edge robotic technology, agriculture, AI, and climate! With $19M raised to date, we are backed by a suite of investors including NEA, GFC, AgFunder, Regen.vc, and Bessemer Ventures. 
   The Role: Are you passionate about software development and eager to contribute in a way that will shape systems from early stages? Join our team and be a driving force in advancing the heart of our robot software stack. We are on a mission to address challenging real-world problems, and we need creative and dedicated developers like you to help us build our robotics platform. 
  Collaborate with cross-functional teams to design, develop, and maintain the robot software framework. Debug and troubleshoot software and hardware issues, working hand-in-hand with the testing and hardware teams to ensure seamless software integration.
  The responsibilities will be wide and varied. The ideal candidate will be a quick learner with the ability to understand complex systems, and have a creative approach to problem solving. 
  Aigen celebrates diversity in all its forms, and is an equal opportunity employer
     Tools / Languages: C/C++, Python, JIRA, Confluence 
Responsibilities
- Embedded Linux: Design, develop, and maintain robust embedded Linux systems that support our robotics platforms
 - Software Engineering: Develop high-quality, modular, and efficient software in Python and C++
 - Robotics Systems: Collaborate with the team to develop and harden new features, control algorithms, and optimize our custom ROS-like operating system
 - Cloud & App Integration: Develop IoT communication solutions, including IoT integration, to enable seamless connectivity between robots, the cloud, and mobile applications in an intermittent connectivity environment.
 - Sensor and Imaging Pipelines: Develop pipelines and systems for low latency real-time robotics operations.
 - Optimize the software stack running on our robots for maximum efficiency and responsiveness.
 - Write end-of-line (EOL) testing software and ensure it integrates seamlessly with our deployment systems.
 
Requirements
- Have launched a hardware product to customers
 - 5+ years of strong C++ and Python
 - Embedded Linux development experience, preferably for robotic systems
 - Comfortable with ambiguity and able to navigate through complex and evolving requirements and challenges
 - Strong understanding of inter-process communication (pub-sub, messaging, sockets, shared memory)
 
Desired Qualifications
- BS/MS degree in Computer Science, Robotics or related fields
 - Hands-on experience with robotics controls, coordinate transforms, and reference frames
 - Familiarity with ROS or ROS-like environments
 - Solid understanding of data structures, relational databases, and graph structures
 - Experience using messaging protocols (ex: ZeroMQ, MQTT)
 - Experience working with camera and sensor pipelines (ex: GStreamer, shared memory)
 - Experience with sensor fusion, SLAM, navigation, routing, and map creation algorithms
 - Background in agriculture, robotics, or related industries is a plus
 - Experience developing on compute-constrained and intermittently-connected platforms
 - Prior startup experience