Full Time, Exempt
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.
- 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
- 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 multihreaded 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 mis-use. 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
TEAMING & PERSONAL
- Works successfully in a collaborative team environment and constructively influences team decisions
- Self-motivated and capable of working through ambiguity
- Excellent critical thinking and analytical/problem solving skills
- Possesses flexibility, independent thinking and responsibility for execution
- Excellent written and verbal communication skills and ability to communicate across all levels of the organization
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.
All members of Alert Innovation practice the following values as part of their daily responsibilities and model these values as she/he leads or supports their teams.
- The Golden Rule: Extraordinarily powerful in its simplicity and depth: “Treat others as you would want to be treated”.
- The Power of Person: The contribution of every single person in a company is important, and the performance of the entire company can only be maximized when every person strives to achieve his/her full potential and to contribute to the best of his/her ability.
- The Power of Team: The Power of Person becomes amplified exponentially when a group of people working effectively as a team create “performance synergy”, whereby the capacity to perform as a team is much greater than the sum of the individual members’ capacities.
- The Power of Truth: We strive to see the world as it is, not as we want or imagine it to be, because only then can we make it better. This core value manifests itself through questioning, probing, testing, measuring, validating, verifying, proving, listening with an open mind, and making fact-based decisions. It also fosters transparency and honesty with others, as well as self-examination and self-honesty.
Alert Innovation is proud to be an Equal Employment Opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. We do not discriminate based upon race, religion, color, national origin, gender (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender identity, gender expression, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics.