Job Description
DIAMOND AGE ROBOTICS SOFTWARE ENGINEER JOB DESCRIPTION
THE COMPANY
The DIAMOND AGE vision is to deliver high quality homes, faster and more affordably, making the American dream of home ownership more accessible for everyone.
Diamond Age is working to revolutionize the home building industry by deploying unique automation technologies combined with a deep level of robotics, people, and software integration. We are seeking an experienced, resourceful full stack software engineer who can make an impact on day one.
Diamond Age is headquartered in Phoenix, building homes through Arizona, with regional and national expansion plans in the next 24 months.
As part of Diamond Age, you will be integral to the success of the company as we bring our homes to market in the Phoenix area. Partnering with all of the core technical teams, you will be deeply involved in designing, testing, and building the systems that construct our homes.
THE ROLE
As a Robotics Software Engineer at Diamond Age you will report to the Head of Software and Controls Engineering and support the development of proprietary software that automates various tasks required for home construction. You will be part of a dynamic and mission critical team that is responsible for designing a rapidly deployable robotic system that can accurately automate an arbitrary set of procedurally generated operations.
You will directly contribute to the state-of-the-art in the robotics field by developing software that allows a house-sized system to perform accurate tasks on a field-deployed deformable gantry in an outdoor dynamic environment.
DUTIES & RESPONSIBILITIES
Design, build, test, and deploy software for robotic systems
Develop algorithms across various robotics disciplines e.g. localization, planning, and perception across the full design lifecycle: requirements, design, code, test, integrate
Contribute to system architecture design for a state-of-the-art robotic system that leverages an industrial manipulator to execute an arbitrary set of procedurally generated tasks
Identify, integrate, and test off-the-shelf industrial automation solutions and advise on in-house development opportunities
Undertake travel as necessary to support customer deployments
QUALIFICATIONS
REQUIRED
Practical experience with GoLang, C++, and Python
Coursework or experience with describing robot rigid body motion e.g. homogenous transformation matrices, transformation trees, quaternions
Coursework or experience with forward and inverse kinematics for redundant manipulators
Experience with ROS-based software development for robotic systems
Experience implementing robotic programs from a major industrial robot arm manufacturer e.g. Fanuc, Yaskawa, Kuka
Knowledge of Ethernet IP / TCP / UDP / Serial communication
Demonstrated ability to work on software codebases with multiple contributors
IDEAL
Demonstrated expertise in a fundamental robotics discipline e.g. localization, planning, perception, or control
Integration of open source libraries such as MoveIt, OpenCV, the Point Cloud Library (PCL) and/or similar packages
Coursework or experience with motion planning for redundant manipulators
Experience with closed-chain parallel mechanisms e.g. Stewart-Gough platform
Comfortable working alongside large scale industrial machinery in a safe and effective manner
Familiarity with modern software architecture and tools such as databases, containerized application deployment, micro-services, and source control
Company Description
Groundbreaking technology being applied to the site built, single family residential market.