Software Engineer
Ag Leader Technology · Ames, IA · 2 mo ago
On-siteEngineeringFull-time
The Opportunity
To work on a cross-functional team building software products that help farmers maximize profit and field productivity as a Software Engineer.
In this position you, along with your teammates, will be responsible for designing and delivering quality, innovative solutions to customer needs. In addition, you will serve as a mentor for your teammates and a technical expert for the department.
This is a challenging opportunity to gain experience and expertise in a variety of programming environments related to development in embedded devices and Linux. There will be opportunities to participate in training and personal development.
Responsibilities
- Mentor and guide less experienced team members, providing technical assistance, feedback, and support across teams.
- Lead the design, implementation, and testing of innovative software solutions that exceed customer needs.
- 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.
- Facilitate cross-team / team collaboration, including meetings and conflict resolution, to drive alignment and progress.
- 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.
- Actively engage in retrospectives, showing openness to feedback and commitment to team and personal growth.
- Develop a comprehensive understanding of our products and their impact in the field.
- Support recruitment by participating in candidate interviews.
Qualifications/Skills
- Bachelor’s degree or higher in Computer Science, Software Engineering, or related engineering discipline
- 5+ years of product development experience focused on software products
- Strong professional experience with Linux and embedded systems
- 5+ years’ experience and strong understanding of C++ Programming Languages C, C++, Python, QML Bash, YAML
- Software Design & Architecture Test-driven development/design, continuous integration, Scrum/Agile methods
- Clean coding, refactoring, and code specifications
- Knowledge of design principles (SOLID, domain-driven, pragmatic/clean architecture)
- Build & DevOps GitLab, Perforce, Jenkins, Artifactory Docker, Yocto, CMake, Conan
- UI/UX & Tools Qt Designer UI/UX design fundamentals (visual design, interaction design, prototyping, usability testing)
- Specialized Areas Vision processing and machine learning Robotics and robotic path planning Geospatial functions and concepts Electrical schematics and pinouts
- Strong foundations in math concepts
- Testing & Troubleshooting Automated testing frameworks (e.g., gtest, QML testing) Debugging with gdb/lldb and profiling tools Root cause analysis