Embedded Software Engineer 2 (Autonomy / Robotics)

Harvey Nash USA

Mossville, IL • On-site

$50 - $52/hr

Other

This job posting has expired and is no longer accepting applications. Check out similar jobs


Job description

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




Frequently asked questions

Q: What skills or qualities help someone succeed as a Embedded Software Engineer?

A: To succeed as an Embedded Software Engineer, key technical skills include proficiency in programming languages such as C, C++, and assembly, as well as experience with microcontrollers, real-time operating systems, and hardware-software integration. Additionally, strong problem-solving skills, attention to detail, and the ability to work collaboratively in a team environment are essential soft skills, along with effective communication and adaptability to rapidly changing project requirements. These technical and soft skills enable Embedded Software Engineers to design, develop, and troubleshoot complex systems, driving innovation and efficiency in the field.

Q: What is the career path for a Embedded Software Engineer?

A: A typical career path for an Embedded Software Engineer involves progression from entry-level roles such as Embedded Software Engineer or Firmware Engineer, to mid-level positions like Senior Embedded Software Engineer or Technical Lead, and eventually to senior roles like Technical Architect or Engineering Manager. Key opportunities for skill development and growth include learning programming languages like C, C++, and Python, as well as gaining expertise in operating systems, microcontrollers, and hardware-software integration. Long-term career prospects may include transitioning into roles like Product Manager, Technical Consultant, or even starting one's own company, leveraging the technical expertise and problem-solving skills developed as an Embedded Software Engineer.