Embedded Software Engineer
Required Education* Degree: Bachelor's degree in computer science, software engineering, or a relevant field is required.* Experience: 5+ years of experience required (internships are not accepted; co-op or master's with research lab experience is considered).Top 3 Must-Have Skills (Hard Requirements):1. C++ Programming – Demonstrated, professional experience is mandatory. Missing this is a disqualifier.2. Automation experience.3. Robotics experience.Additional Technical Skills :* Unit testing* SIL (Software-in-the-Loop) testingPreferred Technical Skills* Canape or CANanalyzer* Ethernet tools (e.g., Wireshark)* Familiarity with construction equipment* Robotics or automation experienceSoft Skills (Required):* Verbal and written communication skills* Problem-solving skills* Customer service and interpersonal skillsOther Knowledge Requirements:* Knowledge of reading schematics and data sheets for components* Basic knowledge of the full software development lifecycle (business/systems analysis, requirements gathering, functional specification, development, testing, delivery)* Basic ability to troubleshoot issues and make system changes as needed* Basic knowledge of computer hardware and software* Knowledge of computer development software as it relates to embedded systems (e.g., SQL, VisualBasic)Job Responsibilities* Design and implement software for embedded devices and systems, from requirements gathering through to production and commercial deployment for product lines.* Write and code logical and physical database descriptions, and specify identifiers to the management system or direct others in coding descriptions.* Analyze and enhance the efficiency, stability, and scalability of system resources.* Review project requests describing database user needs to estimate the time and cost required to accomplish the project.* Support ongoing field issues, new features, and requests for LTTT (Large Track Type Tractors).* Code C++ at the application level to ensure the RC/Autonomy system functions as desired on Dozers.* Collaborate with Domain Architect, Technology Project Manager, other Software Developers, and Systems Engineers to deliver releases and fix issues.