Software Engineer
Role details
Job location
Tech stack
Job description
This Software Engineer role focuses on developing advanced software solutions within a custom research and development team dedicated to image processing. You will design, implement, and optimize software that interfaces with custom equipment, while also creating robust test, automation, and documentation protocols to support reliable operation and continuous improvement., * Design, develop, and maintain software solutions for custom image processing applications using C++ and related technologies.
- Develop and implement test protocols to validate software functionality, performance, and reliability on custom equipment.
- Create automation routines for custom systems, including programming PLCs using Structured Text, preferably within Beckhoff environments.
- Document software designs, interfaces, test procedures, and system behavior in a clear and structured manner.
- Collaborate closely with the R&D team to translate experimental and engineering requirements into robust software solutions.
- Integrate and test software with smart sensors, hyperspectral cameras, and other imaging hardware.
- Work with Linux-based systems to configure, deploy, and troubleshoot embedded and application-level software.
- Contribute to computer vision and machine learning-driven features by integrating algorithms into production-ready software.
- Perform hands-on testing of software on the shop floor, including debugging and fine-tuning systems in a real hardware environment.
- Support continuous improvement of software development, testing, and automation practices within the team., The role operates in a mixed shop and office environment, where you will split your time between a traditional office setting for software development and a hands-on shop floor for system integration and testing. You will work closely with custom equipment, smart sensors, PLC-controlled systems, and imaging hardware such as hyperspectral cameras. The position involves working with Linux-based systems, embedded software, and industrial control components in a practical, experimental R&D setting.
Requirements
- Approximately 10 years of experience in software development with strong proficiency in C++.
- Proficiency with Linux for development, deployment, and troubleshooting.
- Experience programming PLCs using Structured Text, preferably with Beckhoff platforms.
- Hands-on experience with embedded software development and integration with hardware systems.
- Exposure to smart sensors and their integration into software-controlled systems.
- Experience working with hyperspectral cameras and related imaging hardware.
- Knowledge of computer vision concepts and their implementation in software.
- Familiarity with machine learning techniques as applied to image processing or computer vision.
- Experience with PLC programming and industrial control systems.
- Ability to create clear technical documentation for software, testing, and automation protocols.
Additional Skills & Qualifications
- Experience with computer vision frameworks and tools.
- Knowledge in machine learning, particularly for image processing applications.
- Exposure to Allen Bradley PLCs and associated programming environments.
- Experience with hyperspectral camera systems and their data processing workflows.
- Familiarity with C# and .NET for auxiliary tools, interfaces, or supporting applications.
- Experience working in a custom R&D or experimental engineering environment.
- Strong problem-solving skills and the ability to debug complex interactions between software and hardware., LeadershipAutomationLife SciencesDebuggingSensors.NET FrameworkSoftware EngineeringTest AutomationSoftware DevelopmentProgrammable Logic ControllersContinuous Improvement ProcessReliabilityMechanical EngineeringLinuxProgrammable Logic Controllers ProgrammingSystems IntegrationProblem SolvingTroubleshooting (Problem Solving)AlgorithmsManufacturing EngineeringElectrical EngineeringMachine LearningTechnical DocumentationEmbedded SoftwareC++ (Programming Language)Software TestingCritical Illness InsuranceC# (Programming Language)Data ProcessingComputer VisionStructured TextVisionarySoftware Solutions
Benefits & conditions
This is a Contract position based out of Johnston, IA. Pay and Benefits
The pay range for this position is $40.00 - $50.00/hr.
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:
- Medical, dental & vision
- Critical Illness, Accident, and Hospital
- 401(k) Retirement Plan - Pre-tax and Roth post-tax contributions available
- Life Insurance (Voluntary Life & AD&D for the employee and dependents)
- Short and long-term disability
- Health Spending Account (HSA)
- Transportation benefits
- Employee Assistance Program
- Time Off/Leave (PTO, Vacation or Sick Leave) Workplace Type