1

Software Programmer Jobs in Iowa (NOW HIRING)

Software Engineer

Johnston, IA · On-site

$85K - $125K/yr

As a Software Engineer, you will be responsible for supporting the development, maintenance and improvement of software applications with minimal guidance from more experienced engineers. This ...

Embedded Software Engineer

Dubuque, IA · On-site

$70K - $110K/yr

Embedded Software Engineer This position is associated with the design and development of Back-end embedded software that controls machine operations and functions. Development methods include C ...

Embedded Software Engineer

Cedar Rapids, IA · On-site

$128K - $169K/yr

Embedded Software Engineer LOCATION: Cedar Rapids, IA EMPLOYMENT TYPE: Full time/Contract Roles & Responsibilities : Development and Verification for Platform Software as per DO 178B/C 3+ years of ...

Embedded Software Engineer

Dubuque, IA · On-site

$70K - $110K/yr

Embedded Software Engineer This position is associated with the design and development of Back-end embedded software that controls machine operations and functions. Development methods include C ...

Embedded Software Engineer This position is associated with the design and development of Back-end embedded software that controls machine operations and functions. Development methods include C ...

Embedded Software Engineer

Dubuque, IA · On-site

$70K - $110K/yr

Embedded Software Engineer This position is associated with the design and development of Back-end embedded software that controls machine operations and functions. Development methods include C ...

RFA Engineering ( ;/strong> ) supports industry-leading clients through the full software development lifecycle to build cutting-edge precision agriculture, machine guidance, vehicle automation and ...

RFA Engineering ( www.rfamec.com ) supports industry-leading clients through the full software development lifecycle to build cutting-edge precision agriculture, machine guidance, vehicle automation ...

PCS/Software Engineer

Davenport, IA · On-site

$80 - $115/hr

PCS/Software Engineer $80000 - $115000 per year | Davenport, IA | On-site | Permanent Build the Technology Behind Advanced Manufacturing | PCS/Software Engineer A leading aluminum manufacturer that ...

New

Showing results 21-40

Software Programmer information

See Iowa salary details

$26

$51

$76

How much do software programmer jobs pay per hour?

As of Aug 19, 2026, the average hourly pay for software programmer in Iowa is $51.05, according to ZipRecruiter salary data. Most workers in this role earn between $41.30 and $59.62 per hour, depending on experience, location, and employer.

What does a software programmer do?

A software programmer works on the development of computer software. Your duties in this career include writing code and programming the software so that it performs the needed processes. Your responsibilities in this job require testing of computer software and the removal of any bugs or malfunctions. If you are writing programs for a company, you may need to test it on their network to ensure usability throughout the company. After programming, you may need to write technical instructions for how to use the software.

What does a software programmer do?

A software programmer is responsible for writing, testing, and maintaining computer programs and applications according to specific requirements. They use programming languages such as Python, Java, or C++ to create software solutions that solve problems or enhance user experiences. Programmers also debug code, collaborate with other team members, and stay updated on new technologies and best practices in the field.

What are the key skills and qualifications needed to thrive as a software programmer, and why are they important?

To thrive as a Software Programmer, you need strong proficiency in programming languages (such as Python, Java, or C++), problem-solving abilities, and a relevant degree or coding certifications. Familiarity with integrated development environments (IDEs), version control systems like Git, and frameworks or libraries pertinent to your specialization is typically required. Attention to detail, effective communication, and teamwork are vital soft skills that help programmers excel in collaborative development environments. These skills and qualities ensure the delivery of reliable, high-quality software solutions and promote effective project collaboration.

What are some common challenges software programmers face when working on large-scale projects?

Software programmers working on large-scale projects often encounter challenges such as coordinating effectively with cross-functional teams, managing complex codebases, and maintaining clear documentation. Balancing the need for quick feature delivery with writing maintainable, bug-free code can also be demanding. Additionally, integrating new technologies or tools into existing systems while ensuring system stability requires strong problem-solving skills and adaptability.

What is the difference between Software Programmer vs Software Developer?

AspectSoftware ProgrammerSoftware Developer
CredentialsTypically requires a bachelor's degree in computer science or related fieldUsually requires a bachelor's degree, sometimes a master's, in computer science or software engineering
Work EnvironmentOften works on coding, debugging, and implementing specific featuresInvolves designing, developing, testing, and maintaining software applications
Industry UsageCommonly used in tech companies, IT firms, and software service providersWidely used across industries for creating software solutions
Search & Comparison IntentFocuses on coding tasks and technical skillsEncompasses broader development responsibilities and project management

While both roles involve programming skills, a Software Programmer primarily focuses on writing and debugging code, whereas a Software Developer has a broader role that includes designing and managing entire software projects. The choice depends on the scope of work and career goals within the software industry.

What is the job of a software programmer?

A software programmer writes, tests, and maintains computer software using programming languages such as Java, Python, or C++. They analyze user needs, develop code solutions, and troubleshoot issues to ensure software functions correctly. Strong problem-solving skills and knowledge of development tools are essential for this role.

What are the most commonly searched types of Software Programmer jobs in Iowa?

The most popular types of Software Programmer jobs in Iowa are:

What are popular job titles related to Software Programmer jobs in IA?

For Software Programmer jobs in IA, the most frequently searched job titles are:

Infographic showing various Software Programmer job openings in Iowa as of August 2026, with employment types broken down into 2% As Needed, 85% Full Time, 10% Part Time, and 3% Contract. Highlights an 87% Physical, 4% Hybrid, and 9% Remote job distribution, with an average salary of $106,194 per year, or $51.1 per hour.

Embedded Software Engineer

Rogers Freels & Associates Inc

Waterloo, IA

$70K - $120K/yr

Full-time

Posted 26 days ago


Job description

RFA Engineering (www.rfamec.com) supports industry-leading clients through the full software development lifecycle to build cutting-edge precision agriculture, machine guidance, vehicle automation and autonomy applications. We are seeking passionate, talented engineers to work on exciting projects using the latest tools and technologies including robotics, computer-vision, machine learning, IoT, cloud computing, and much more. Collaborate with a team of industry experts onsite at our client's world-class engineering center and contribute to developing innovative solutions that drive sustainable agriculture practices.

This is a full-time position with a full benefit package listed below that includes opportunities for professional growth, direct hire by our customers, and additional opportunities within our own organization.

Embedded Software Engineer

In this role, you will collaborate with software developers, test engineers, and cross-functional stakeholders to design, develop, validate, and optimize embedded software for advanced vehicle systems. You will contribute to the development of steering and braking software for agricultural equipment, delivering high-quality features that enhance machine performance while supporting functional safety objectives.

Responsibilities

  • Design, develop, test, and maintain embedded software for steering and braking control systems.
  • Collaborate with software engineers, test engineers, and system stakeholders throughout the software development lifecycle.
  • Develop embedded applications using C/C++ and/or MATLAB.
  • Interpret and implement software requirements into reliable, maintainable code.
  • Participate in software integration, validation, debugging, and system tuning activities.
  • Support software verification to ensure functionality, quality, and functional safety objectives are achieved.
  • Troubleshoot software and system issues using appropriate development and diagnostic tools.
  • Participate in planning, prioritization, and continuous improvement activities within an Agile development environment.
  • Contribute to software documentation and technical reviews.
  • Support development and validation efforts on production hardware and prototype systems.

Requirements

  • Bachelor's degree in Software Engineering, Computer Engineering, Computer Science, Electrical Engineering, Mechanical Engineering, or a related engineering discipline (or equivalent professional experience).
  • Experience developing embedded software using C/C++ and/or MATLAB.
  • Strong technical problem-solving and analytical skills.
  • Experience working with embedded software development processes.
  • Ability to interpret and implement software requirements.
  • Understanding of software development lifecycle and software delivery processes.
  • Strong written and verbal communication skills.
  • Ability to work independently while contributing effectively within a collaborative engineering team.

Desired Attributes

  • Experience with CAN J1939 communication protocol
  • Previous experience in a structured software development process
  • Ability to interpret hardware schematics for wiring and electronic controllers
  • Experience with CAN sniffers or similar tools to use for troubleshooting communication issues
  • Ability to interpret software requirements and state diagrams
  • Knowledge of common software development tools such as VSCode, Github, Docker, etc.
  • General machine knowledge of industrial equipment or machinery

Visa Sponsorship is NOT available for this position.

Pay Range: $70,000-$120,000 – Commensurate with experience

About RFA Engineering

RFA Engineering has provided product development and engineering services to industry leading customers since 1943. Our primary focus is the development of off highway equipment including agricultural, construction, mining, recreational, industrial, and special machines. Our work includes concept development, product design, documentation, problem-solving, simulation, optimization, and testing of components, systems and complete machines. Our engineering staff is located at our Engineering Center in Minneapolis, branch office in Dubuque, IA, and at numerous customer sites throughout the U.S.
Competitive Benefits

  • Health and Dental Insurance
  • TelaDoc Healthiest You
  • Supplemental Vision Insurance
  • Company Paid Life Insurance
  • Company Paid Long-Term Disability
  • Short-term Disability
  • Retirement Savings Account (Traditional 401k & Roth 401k)
  • Flexible Spending Plan Dependent Care
  • HSA for Medical Expenses
  • Bonus Plan (Exempt Employees Only)
  • Paid Time Off (PTO)
  • Paid Holidays
  • Bereavement Leave
  • Employee Assistance Programs (EAP)
  • Education Assistance

Equal Opportunity and Veteran Friendly