Autonomous Solutions logo

Embedded Systems Engineer

Autonomous Solutions
Full-time
On-site
Mendon, Utah, United States

POSITION DESCRIPTION


Position Title: Embedded Systems Engineer


Department: N/A


Technical Team: Embedded Team


Classification: Exempt


Location: Petersboro, Utah


Travel: Less than 10% of the time




REPORTING RELATIONSHIPS


Reporting to: Project Manager


Positions supervised: N/A






JOB SUMMARY


The System Engineer for the autonomous haulage solutions serves as a technical specialist; provides expertise to support the development of new product ideas, concepts and product improvements; ensures the designs are consistent with the organization objectives; and acts as the interface between Product Managers, Solution Architects and Hardware Developers for transforming the defined stakeholder requirements into a set of system/subsystem requirements that will guide the design of the system.




ESSENTIAL DUTIES AND RESPONSIBILITIES



  • Develops products by analyzing customer needs and exploring various solutions.

  • Resolves intricate issues by assembling cross-functional teams, leveraging their skills, knowledge, and expertise to engineer the necessary solution.

  • Constructs the optimal interface through a comprehensive understanding of the interdependencies between subsystems and effectively communicates these concepts to engineer the solution.

  • Generates detailed system specifications for subsystem solutions, features, and functions.

  • Collaborates with Product Architects, Solution Architects, Software Developers, and Product Manager teams to strategize on standardizing, scaling, and enhancing ASI's products and solutions.

  • Evaluates test results for their applicability, validity, and compliance with product requirements.

  • Assists teams in defining product requirements and conducting risk assessments.

  • Integrates engineering safety standards, methodologies, and global product development processes into all project aspects.

  • Concentrates on workflows, optimization methods, and risk management tools for assigned projects.

  • Develops estimates for the assigned scope of work and ensures the team adheres to the scope.

  • Contributes to the business development process through proposal inputs, meetings, and presentations to potential customers, among other activities.

  • Travels, as required, to customer facilities, test facilities, and customer field sites to address issues, explore design alternatives, and provide information to development teams.




SOFTWARE PRACTICES:



  • Write understandable C and C++ code.

  • Continuous refactoring.

  • Testing first mentality. Unit testing, integration testing, and system simulation.

  • Design patterns and SOLID principles adherence.

  • Design for re-use.

  • Use of distributed version control systems.


ESSENTIAL EDUCATION, WORK EXPERIENCE, JOB SKILLS



  • Bachelor's degree in Electrical Engineering, Computer Science, Computer Engineering, or related. Master's preferred.



  • Mechatronics solutions, V-Model Architecture and Requirements Generation, Communication Protocols



  • 5+ years professional experience designing and implementing embedded, real-time software systems using C/C++ for embedded processors. Senior software engineering experience preferred.

  • Familiarity with large multithreaded embedded applications, running on an RTOS.

  • Familiarity with electrical and mechanical systems.

  • Ability to work in an open and collaborative team environment.

  • Strong interpersonal and communication skills.

  • Must be authorized to work in the U.S.


DESIRABLE EXPERIENCE/SKILLS:



  • Agile software development concepts and processes.

  • Device drivers for embedded systems.

  • Unmanned vehicle systems.

  • Knowledge of flash programming tools.

  • Communication protocols: TCP, UDP, Controller Area Network (CAN), SPI, RS232.

  • Robotic Operating System (ROS/ROS2).

  • Sensor interfacing: GPS, LIDAR, RADAR, ultra-sonics.

  • Controls systems.