Under limited supervision, analyzes, designs, programs, debugs and modifies software for assigned projects.
Essential Job Responsibilities:
• Creates software applications for robotics.
• May design and develop imaging algorithms for software components, interactive and automated applications and/or test programs.
• Using current programming language and technologies, writes code, completes programming and performs testing and debugging of applications.
• Completes documentation and procedures for installation and maintenance.
• Coordinates with the program director on current programming tasks.
• Collaborates with other project team members to design and implement features.
• Produces well-organized, optimized, and documented source code.
• Debugs existing source code
• Contributes to technical design documentation.
• Applies company policies and procedures to resolve routine to complex issues.
• Works on problems of moderately complex scope.
• Responsible for analyzing situations or data from which answers are not easily obtained.
• Performs other duties as assigned.
• Bachelors’ degree in Computer Science or related field.
• Master’s degree or higher preferred but not required.
• 1-5 years of related industry experience.
• Proficiency in Linux and programming in C++ required.
• Theoretical and practical knowledge of robotic systems
• Familiarity with ROS
• Requires attention to detail and the ability to carry out tasks to the highest standard.
• Experience with large code bases, version control with teams, and system architectures preferred.
• Experience with DVCS’s such as Git and Mercurial preferred.
• Previous work with open source software and similar systems preferred.
• Comfortable with Gazebo simulator preferred.
• Experience with robotic hardware preferred.