Robotics Software Developer (Embedded Software Engineer 3) (# 8151)

Embedded Software Engineer 3 - (99106-1)    
Mossville, IL or Pittsburgh, PA
12 months


Job Description 
Position’s Contributions to Work Group: 
- Software development focused on positioning and localization.
- Collaborate with team members to prototype and bring to production algorithms that enable autonomous & semiautonomous systems to localize robustly within the world around them.  

- Estimate position and altitude absolutely but also relatively to terrain features and static or mobile equipment, and implementing filters using perception-based, inertial, and GNSS inputs
- Participate in various aspects of the development process including design, documentation, coding, product quality, and validation

Reason/motivation for request:
- Addition

Why Client? “Whether it be ground-breaking products, best in class solutions or a lifelong career, you can build what matters to you at Client. With 150 locations in countries around the world, what you create at Client travels and helps people around the world. You can collaborate with the best minds in the industry, complete meaningful work and continuously grow and develop through our various opportunities. Here, you can do the work that matters.”

Why this Role?
- Our focus isn’t just on what we build, but how we build it. We scale technology solutions across the business. We spearhead product development tools and processes. We collaborate with our partners to provide a seamless experience for our customers. We are obsessed with speed, simplicity and customer outcomes.
- Client Technology also owns enterprise-wide initiatives in innovation, research and development, manufacturing automation and advanced materials, ensuring Client continues to lead the industry in technological excellence and engineering innovation.

Typical task breakdown:
- Research and design of localization algorithms and software
- Develop production quality C++ software including design, documentation, coding, product quality, and validation
- Contributes to requirements generation and architecture design considerations for the localization architecture
- Support functional safety software design and validation process

Interaction with team: 
-  Collaborate and mentor localization team members to execute on goals

Team Structure
- Technical team that is led by an Architect and Program Manager

Work environment: 
- Primarily in the office
- Occasionally in labs or at Proving Grounds

Education & Experience Required: 
- Years of experience: 5+
- Degree requirement: Bachelor’s degree, Master’s degree, or PhD in an accredited Robotics, Electrical or Computer engineering or Computer Science degree; 2 years with Masters’ Degree
- Do you accept internships as job experience:  Yes
- Are there past or additional job titles or roles that would provide comparable background to this role: Software Developer in Robotics


Top 3 Skills
- Excellence in developing C++ software
- Discovers, analyzes, and resolves software or application problems
- Helps to analyze risks and benefits of alternative approaches and obtain decision on resolution.


Additional Technical Skills 
(Required)
- Knowledge:
- Inertial Measurement Technology
- State Estimation

Problem Solving:
- Identifies and documents specific problems and resolution alternatives.
- Helps to analyze risks and benefits of alternative approaches and obtain decision on resolution.
- Uses fact-finding techniques and diagnostic tools to identify problems.
- Software Development Life Cycle:
*Identifies common issues, problems, and considerations for each phase of the life cycle.
*Interprets product development plans and functional documentation.

Programming:
- Excellency in C++
- Fluency in Python
- Interprets application system designs and program specifications.
- Strong engineering practices, debugging/profiling skills.
- Applies structured programming techniques to structured environments.


Technical Troubleshooting:
- Discovers, analyzes, and resolves software or application problems.
- Analyzes code, logs, and current systems as part of advanced troubleshooting.
- Records and reports specific technical problems, solving processes and tools that have been used.

(Desired) 
- 5+ years of Robotics/Autonomous solution experience illustrating deep technical domain expertise
- Proven experience implementing filtering solutions including Error State, Kalman and Extended Kalman
- In depth knowledge of Inertial Measurement technology and Inertial Based Navigation and/or Guidance Systems
- Ability to survey literature for ideas and convert research papers into production implementation

- Experience with localization including Simultaneous Localization and Mapping (SLAM) type approaches, utilization of graph optimization libraries, and overall state estimation
- Knowledge of robotics and frameworks such as Robot Operating System (ROS)
- Strong foundation in mathematics and fundamentals (3D geometry, linear algebra, statistical error modeling including Gauss Markov Processes)
- Ability to work in various coordinate system references and perform transformations between
- Understanding of Physics based modeling, vehicle modeling and dynamics

Soft Skills
(Required)
- Supports team collaboration when solving problems
- Strong written and verbal communication skills
- Takes ownership of moving ideas from prototype to production
- Adaptable to various phases of development 
- Attention to detail

(Desired) 
- Takes on initiative to research and prototype
- Systems thinking
- Resilient and Persistent when encountering complex problems

Disqualifiers/Red Flags/Overqualifications:
- Looking for remote work

Travel Requirement: 0-25%; Domestic
Export Control Requirements: Yes

Apply

Apply for this role

Additional questions

The following error(s) occurred:

Hi I'm ravi

I manage this role

Harvey Nash Benefits & Perks

Medical, dental, and vision coverage
401(k) retirement plan
Voluntary benefits and insurance options
Referral bonus opportunities
Pre-tax commuter benefits
spinner

Processing...