SENIOR SOFTWARE ENGINEER
FULL-TIME BOSTON, MA
As a Senior Software Engineer at Square Robot Inc. you will be part of a small and talented team working on autonomous mobile robotic solutions for Oil and Gas infrastructure inspections. In this role, you will be responsible for designing, implementing, and testing the software that drives our autonomous robots. If you seek a position to thrive and innovate in a fast-paced environment as a big part of a small, cross-disciplinary engineering team, you are encouraged to apply. Applicants must be authorized to work in the U.S.
- Helping to design the overall software system architecture
- Designing and authoring error and fault-tolerant drivers for various hardware devices
- Implementing applications for robot behavior such as navigation, task execution and monitoring, path planning, obstacle avoidance, etc.
- Building tools for internal analysis
- Developing and Improving the CI and test infrastructure
- Investigating and Exploring the use of existing software as solutions for our uses
- Implementing graphical interfaces for user interaction and for data visualization
- Designing and implementing methodologies for managing and configuring our robot fleet and the data it generates
- Assisting with field work
- Collaborating within the engineering team to build a cross disciplinary innovative culture.
- BS, MS, or PhD in Computer Science, Robotics, or a related field
- 2+ years of professional software engineering experience
- Proficiency writing C++, Python, and Shell Scripts in a Linux environment
- Experience with software development on robotic platforms -- ideally with autonomous mobile robots
- Experience with ROS, or a comparable framework
- Solid knowledge of design patterns and data structures.
- Familiarity with Git and GitHub
- Proactive, self-directing, and good at estimating own work.
- Excellent visual and verbal communication skills
- Experience with marine robotics such as Remotely Operated Vehicles or Autonomous Underwater Vehicles (ROV/AUV).
- Experience developing error-tolerant software drivers for hardware devices
- Experience with any of the following: SLAM, mobile robot navigation, 3 dimensional path planning and obstacle avoidance, controls
- Experience writing firmware for embedded devices
- Ability to set up, perform, and debug bench-top tests with various sensors, boards, and electronic devices
- Experience with web development
- Experience creating tools for data visualization