Full Job Description
Are you an embedded software engineer looking for a role where you can create precision farming solutions? If so, read on!
About the Opportunity
Join a cross-functional team of engineers building the software that helps farmers maximize profit and field productivity. The Software Engineering Team builds integrated solutions to enable farmers to automate their work, better understand and plan their operations, and improve the performance of their equipment. These teams create, iterate, and implement these innovative Ag Leader products from first concept through production release.
Key Responsibilities
• Lead the design, implementation, and testing of innovative software solutions that solve customer problems.
• Mentor and guide less experienced team members, providing technical assistance, feedback, and support across teams.
• Champion continuous improvement, agile practices, and change initiatives by identifying and resolving challenges using root cause analysis or similar methods.
• Participate as a technical leader in discussions and initiatives to improve solutions, processes, and development practices.
• Model best practices in code quality, actively lead code reviews, and foster a culture of constructive feedback.
• Create, update, and maintain technical documentation, processes, and development standards.
• Deliver high-quality, working code and demonstrate product features to stakeholders and company-wide audiences.
• Develop a comprehensive understanding of our products and their impact in the field.
We hire for this team based on demonstrated skill. You do not need every preferred item to apply.
About You
• Demonstrated product development experience focused on software products.
• Strong professional experience with Linux and embedded systems.
• Experience and strong understanding of C++. (C, Python, and QML preferred but not required).
• Skilled in clean coding, refactoring, and code specifications.
• Knowledge of design principles (SOLID, domain-driven, pragmatic/clean architecture).
• Understanding of UI/UX design fundamentals (visual design, interaction design, prototyping, usability testing).
• Experience with automated testing (unit tests, integration tests, UI tests).
• Experience with embedded debugging and profiling tools.
• Strong problem-solving skills.
• Flexible and receptive to constructive feedback.
• Strong interpersonal skills and ability to work cross-functionally in a strong team environment.
• Bachelor's degree or higher in Computer Science, Software Engineering, or related engineering discipline.
Preferred Skills and Experiences
• Background in Agriculture, Robotics, Industrial Machinery, Drone Development, or Fleet Management.
• Skilled in Qt Designer.
• Experience with GitLab, Perforce, Jenkins, Artifactory.
• Skilled in Docker, Yocto, CMake, Conan.
• Experience with test-driven development/design, continuous integration, Scrum/Agile methods.
• Skilled in Bash, YAML.
• Understanding of Electrical schematics and pinouts.