JOBSEARCHER

Embedded Software Engineer (Mossville)

Education Requirements:- Bachelor's degree in Engineering, Computer Science, or related fieldRequired Skills for the Embedded Software Engineer:- Level 2: 2-4 years of experience- Level 3: 5-7 years of experience- Robotics and autonomy fundamentals- Effective collaboration across teams with diverse skills- Design process - evaluate tradeoffs without bias- Experience with software and electronic hardware development processes- Experience with autonomous or automated robotics- Requirements decomposition and solution creation- Risk and benefit tradeoff analysis- Technical writing - design documentation- Troubleshooting complex systemsDesired Skills:- Experience with mining, construction, or agricultural machines and methods- Experience with product lifecycle and multi-generational technology products- Data analysis and issue investigation using custom scripts and tools- Safety frameworks, such as functional safety or SOTIF- Simulation tools for development and validation- Familiarity with SiL and HiL test methods- C++ and Python familiarity- Development in a Linux environmentEmbedded Software Engineer Overview: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.Responsibilities:- 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