Job Title: Senior Software Developer
Location: Johnston, IA (Hybrid - Onsite Tuesday through Thursday; must reside within 50 miles)
Start Date: Minimum 2 weeks from date of offer acceptance
Position Overview: We are seeking a
Senior Software Developer with a strong background in industrial automation to join our R&D engineering team in Johnston, IA. This role is ideal for a seasoned professional passionate about building software solutions for custom research and development equipment across greenhouses, laboratories, seed processing, and field environments. You'll work hands-on with hardware, design and maintain C applications, and contribute to advanced imaging and automation projects.
Key Responsibilities: - Collaborate with cross-functional engineering teams to deliver software solutions for custom R&D equipment.
- Design, develop, and maintain C software to control imaging and automation systems.
- Integrate hyperspectral imaging technologies with robotic and industrial systems.
- Program PLCs using Structured Text (preferably Beckhoff).
- Work with machine vision systems, smart sensors, and industrial communication protocols (e.g., MQTT, MODBUS).
- Develop, test, and document software based on seasonal R&D schedules.
- Operate safely around shop equipment and directly interface with hardware during development.
- Maintain clear and professional communication within the team and with stakeholders.
Required Qualifications: - 10+ years of experience in industrial automation.
- Bachelor's degree in Engineering (Agricultural, Biological, Mechanical, Software, or related field) or equivalent work experience.
- Proficiency in both Linux and Windows environments.
- Expertise in C development.
- Hands-on experience with PLC programming in Structured Text.
- Experience with machine vision systems and smart sensors.
- Familiarity with industrial protocols such as MQTT, MODBUS, etc.
- Strong team collaboration and communication skills.
- Authorization to work in the U.S. without sponsorship.
Preferred Qualifications: - Experience in C .NET development.
- Knowledge or experience with hyperspectral cameras.
- Familiarity with Rockwell PLCs.
- Understanding of design patterns, N-tiered architecture, and CRUD database operations.
- Proficiency in synchronous programming concepts: resource locking, deadlocks, race conditions.
- Experience with:
- Serial communication (Modbus RTU, CAN).
- Ethernet protocols (EtherCAT, PowerLink, EthernetIP, Modbus TCP).
- IEC 61131 PLC languages.
- Prior work in the agricultural industry.