Robotics Software Engineer
The DAVIS Companies is excited to be working with an innovative company who building lightweight and autonomy platforms to efficiently move people and good and is looking to add a Software Engineer to their dynamic and growing team.
About the Role:
We’re looking for a Software Engineer to assist in the design and development of autonomous land robots and drones. You will take ownership of autonomy architectures and subsystems used in the products our client is creating for this exciting new marketplace. You will have the opportunity to create, fabricate and test software and hardware systems, and be part of a team that is dedicated to creating new transportation and robotic solutions. The specific role entails developing robotic software for control, monitoring, navigation, communication and human interfaces.
The Software Engineer should be a highly motivated self-starter with good communication skills, and should be able to work in an iterative and agile development style with a cross-functional team including mechanical and electrical engineering, software development, design, human factors, fabrication and research.
Requirements of the Software Engineer:
- The ideal candidate should have at least 3 years’ experience and demonstrated expertise with at least 3 of the following:
- Vision navigation and computer (machine) vision algorithm and software development
- Mission planning and re-planning and adaptive behaviors
- Autonomous navigation
- Simulation, modeling, analysis
- Robot Operating System and associated libraries
- Smartphone app development
- The applicant should be C++ proficient and have experience with Linux and Python. Experience with device I/O and embedded software is desired. BS, MS or PhD in Computer Science, Engineering or related subject is required.
Responsibilities of the Software Engineer:
- Collaborate with multidisciplinary team to define, design, test and deliver new autonomy systems
- Work closely with users to help define and refine system attributes in an agile environment
- Work on software sustainment and documentation
- Continuously research, discover, evaluate, and implement new technologies