Sr. Robotics Software Engineer  - Billerica, MA

alert-innovation-logo 

 

Alert Innovation is a growing startup with a mission to re-invent retailing through robotics – and we’re off to a great start. We’ve partnered with world’s largest retailer to help re-invent the customer’s shopping experience with our Alphabot Technology at the center of a new era in retail. To succeed, we need to grow our team.

The Senior Robotics Software Engineer (SRSE) is responsible for developing highly reliable multi-threaded code in a constrained embedded environment. As an experienced robotics software engineer, you have extensive experience architecting and implementing object oriented, multi-threaded designs on a robotic platform. The SRSE can architect and implement the proper abstractions and interfaces that are needed to allow code to be highly de-coupled and cohesive. The position requires taking personal ownership to design, document, communicate, implement, and test software components within a complex system. You are equally comfortable as both technical contributor and mentor in a growing multi-disciplinary team.

 

Who You Are:

●     You are passionate about technical challenges and eager to broaden your skillset

●     You are focused on making progress every day, and strive for efficient solutions

●     You understand how to create the proper abstractions that allow others on your team to effectively use your code.

 

Responsibilities:

●     Collaborate both inter-team and cross-functionally to software solutions using C++

●     Clearly document requirements and design

●     Provide accurate task timelines

●     Design concepts, demonstrate in simulation, implement in C++ software, and integrate on hardware running in a real-time OS and Linux environments

●     Actively perform root cause analysis and apply solutions

●     Integrate third-party software where appropriate

●     Work with customers, vendors, or other technical or non-technical stakeholders to assess software needs and performance

●     Investigate new technologies

●     Mentor junior engineers

 

REQUIRED KNOWLEDGE/SKILLS

TECHNICAL REQUIREMENTS

○     Experience implementing software for resource-constrained target platforms.

○     Extensive C++ skills; C++11/14 and Template Meta Programming experience on embedded platforms is highly desired.

○     Strong grasp of concurrency and multithreading design. Lock-free paradigm experience highly desired.

○     Experience developing software for Linux and at least one real-time OS (QNX preferred).

○     A keen understanding of how to create APIs that are easy to use and hard to misuse. Experience creating and maintaining open source C++ libraries is highly desired.

○     Extensive understanding of Test Driven Development and how to properly use unit tests, integration tests and mock objects.

○     Knowledge of common design patterns and the appropriate use of them.

○     Ability to gather requirements and get stakeholder approval for complex problems.

○     Knowledge of common development tools and practices: environments, compilers, versioning (i.e. git, SVN), software configuration management, defect tracking, and peer review methodologies

 

EDUCATION/Relative Years Experience

●     Minimum of a Masters technical degree (or the equivalent in training and experience) plus 5 years industry experience with a background in robotics, embedded programming or other related fields.

Apply Below!