Robotics Software Engineer
Join the growing Ditch Witch Team! This employee develops new embedded software for machine automation, machine learning and other software applications. Depending on the project the employee will either work as an individual or as part of a multi-disciplinary team. The employee sometimes directs the work of other designers and technicians, and performs other duties as assigned. This role can be remote part of the time.
- Collect and analyze technical information from a variety of sources, including:
- Conversations with engineers, product managers, suppliers, customers, etc.
- Technical documents.
- Operation of equipment.
- Their own tests & experiments
- Develop design concepts for software, including operational features, user interface, and interactions with other equipment.
- Define & implement communication protocols between software and electronic equipment.
- Develop and de-bug software prototypes to demonstrate compliance with specifications.
- Define software test plan and track necessary changes for software through testing.
- Integration and test support including technical assistance and troubleshooting.
- Adhere to established software development processes.
- Prepare production documentation in the form of release files & User’s Manuals.
- Prepare patent-related documentation as required.
- Office environment most of the time, plant or outdoor environment part of the time. Plant and outdoor conditions include variable heat and humidity, dirt, and noise; physical hazards such as soldering irons, sharp objects, and moving machinery; hazardous materials such as solder and adhesives.
- Normal 8-hour workday, occasional workdays of up to 10 hours or more
- Rapidly changing workload and priorities
- High level of teamwork and cooperation
- Occasional overnight travel
- Have a BS in Engineering, Computer Science, or related field with appropriate software development courses and experience
- Have appropriate expertise, including:
- Use of C, C++, Python, OpenCV, etc.
- Experience in machine learning desired.
- Experience with machine vision desired.
- Demonstrated proficiency with math including advanced trigonometry and basic calculus.
- Familiarity with concepts of experimental design.
- Familiarity with Ethernet, USB, and CAN, and other communication protocols.
- Understanding of GPS and GIS systems.