Embedded Software Engineer 2 (Autonomy / Robotics)
Req #: 139616 Job Id: 8119-1 Category: Engineering Job Type: Contract Job Status: Full Time Salary: $50 to $52 per hour Location: IL, Mossville
The main function of an embedded software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the embedded software and systems that make computers work. A typical embedded software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Job Responsibilities
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment for product lines.
- Write and code logical and physical database descriptions and specify identifiers of database to management system or direct others in coding descriptions.
- Analyze and enhance efficiency, stability and scalability of system resources.
- Review project requests describing database user needs to estimate time and cost required to accomplish project.
Skills
- Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.
- Knowledge of reading schematics and data sheets for components.
- Basic knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
- Basic ability to troubleshoot issues and make system changes as needed to resolve issue.
- Basic knowledge of computer hardware and software. Solid programming experience in C or C++.
- Knowledge of computer development software as it relates to embedded systems, such as SQL, VisualBasic, etc.
Education/Experience
Bachelor's degree in computer science, software engineering or relevant field required. 2-4 years experience required.
Position's Contributions to Work Group
The hauling application team is responsible for the overall onboard solution (vehicle level) for Client autonomous haulage machines. This position is to work under the direction of the team's technical program manager and application architect.
Reason/motivation for request
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.
Typical task breakdown
The application architect assigns a task for a new requirement or issue. Collaborate within the hauling team, with process partners, and with SMEs to identify potential solutions and select one. Analysis may be required to understand the problem or to evaluate benefits and risks. Document the selected design and break it down into work items assigned to the appropriate teams. Collaborate with delivery teams as needed during implementation. When implementation is complete, review delivery against the original request and requirements. Collaborate with the validation team as they create a test plan. Support them as needed to triage issues.
Interaction with team
High collaboration across the hauling and platform teams. Team Structure - This role is a member of an application team led by a technical program manager and application architect. The application team is a part of the hauling division, which has onboard engineering ownership of autonomous haulage machines for mining. Teams within the hauling division interface with process partners, including platform, offboard, validation, product support, and business teams.
Work environment
This role is primarily performed in an office environment. Some tasks may include time in laboratory or validation environments. Occasional travel to proving grounds or customer sites may be required.
Education & Experience Required
Years of experience: 2-4 years Degree requirement: BS Degree Engineering, Computer Science, or equivalent 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: Autonomy Engineer
Top 3 Skills
Robotics and autonomy fundamentals Effective collaboration across teams with diverse skills Design process - evaluate tradeoffs without bias
Additional Technical Skills (Required)
Experience with development processes Experience with autonomous or automated robotics Requirements decomposition and solution creation Risk and benefit tradeoff analysis Technical writing - design documentation Troubleshooting (Desired) Experience with Client technology products Experience with mining, construction, or agricultural machines and methods Familiarity with product lifecycle Data analysis and issue investigation Safety frameworks, such as functional safety or SOTIF Simulation tools for development and validation C++ and Python familiarity Development in a Linux environment
Soft Skills (Required)
Collaboration โ must be able to work with specialized global teams to efficiently design solutions Clear Communication โ must be able to communicate effectively with teammates, process partners, and stakeholders with appropriate level of detail Continuous learning Initiative (Desired) Time management and task prioritization Organization Innovation Project management
Disqualifiers/Red Flags/Overqualifications
Looking for remote work Focused solely on being a software developer (only wants to write code)
Travel Requirement
0-25%; Tucson, US & Canada Mine Sites, Possibly Australia or South America
Export Control Requirements
Yes