1

Software Programmer Jobs in Iowa (NOW HIRING)

Description The Software Engineer utilizes skills and resources to effectively engineer software solutions to solve business needs. Working closely with product owners, solution architects and ...

About Software Engineering Roles at Danaher Are you passionate about building real-world applications, writing clean code, and solving meaningful technical challenges? As a Software Engineering ...

About Software Engineering Roles at Danaher Are you passionate about building real-world applications, writing clean code, and solving meaningful technical challenges? As a Software Engineering ...

About Software Engineering Roles at Danaher Are you passionate about building real-world applications, writing clean code, and solving meaningful technical challenges? As a Software Engineering ...

About Software Engineering Roles at Danaher Are you passionate about building real-world applications, writing clean code, and solving meaningful technical challenges? As a Software Engineering ...

Role summary This position is ideal for midlevel software engineers to join a crossfunctional, multiregional development organization as a C++ Software Engineer, contributing to the development ...

next page

Showing results 1-20

Software Programmer information

See Iowa salary details

$26

$51

$76

How much do software programmer jobs pay per hour?

As of Jun 18, 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 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 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 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 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.

Can I make 100k as a software developer?

Software developers can earn $100,000 or more annually, especially with experience, specialized skills, and working in high-demand industries or locations. Salaries vary based on factors such as location, education, certifications, and the complexity of projects handled.

Is programmer still in demand?

Software programmers are in high demand due to ongoing digital transformation across industries. Skills in programming languages like Python, Java, and C++, along with knowledge of software development tools, continue to be valuable for employment opportunities and career growth.

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 engineers make $500,000?

Highly experienced software engineers, especially those in senior or lead roles at large technology companies, can earn $500,000 or more annually through base salary, bonuses, and stock options. Fields such as software development, machine learning, and data engineering with strong technical skills and advanced certifications are more likely to reach this compensation level.

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 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 Iowa? For Software Programmer jobs in Iowa, the most frequently searched job titles 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:

Software Engineer - Displays

Rogers Freels & Associates Inc

Dubuque, IA

$65K - $95K/yr

Full-time

Posted 18 days ago


Job description

RFA Engineering (www.rfamec.com) is an engineering service provider dedicated to delivering our clients with timely engineering support and expertise. We are seeking an Entry-Level to Experienced candidate to become an integral part of our engineering team. The selected candidate will work with an experienced engineering staff using state-of-the-art engineering tools & processes. This position will operate onsite at our customer's world-class engineering and manufacturing facility.

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.

Application Developer - Display Systems

This position is associated with the design and development of advanced system displays and the applications each display would contain. Various roles are available that require use of C++, Qt/QML, and virtual machines that run Linux based operating systems. The developer will be creating robust operating system driven software for advanced displays in conjunction with the display systems team and product testing team.

** Note: This is not an embedded software engineering opportunity.

Responsibilities

  • Design, develop, and maintain software applications and frameworks for Linux-based operating systems that power advanced machine display systems.
  • Implement features, graphical interfaces, and system controls using C++, and Qt/QML.
  • Collaborate with cross-functional teams including electrical, systems, and test engineers to define software requirements and system behavior.
  • Work within an Agile development environment to plan, implement, test, and deliver iterative software improvements.
  • Perform peer code reviews, troubleshoot issues, and provide solutions to both software and hardware interface challenges.
  • Develop and execute unit and system-level tests to validate software functionality and performance.
  • Utilize modern development tools such as VS Code, Git, and Linux-based build environments to manage and deliver quality software releases.
  • Contribute to continuous improvement of software processes, tools, and practices.

Requirements

  • Bachelor’s degree in Computer Science, Software Engineering, or a related technical field.
  • Proficiency in Object Oriented Programming. (C++, Java, or C# Preferred)
  • Experience developing in Linux environments using VS Code or similar IDEs.
  • Practical experience with Git or equivalent version control systems.
  • Understanding of UI/UX development principles and application design.
  • Strong analytical, troubleshooting, and problem-solving skills for both software and system-level issues.
  • Effective written and verbal communication skills, including cross-functional and international collaboration.
  • Ability to interpret requirements and translate them into efficient, maintainable software solutions

Desired Skills and Attributes

  • Experience with 2D/3D graphics rendering and visualization.

  • Knowledge of OpenGL or OpenCV for display rendering or image processing.

  • Working knowledge of JavaScript or Python for scripting or automation.
  • Experience developing graphical user interfaces using Qt/QML.

  • Exposure to Full Stack Development concepts and frameworks.

  • Familiarity with CAN protocol or other machine communication interfaces.

  • Understanding of MQTT or similar message-based communication systems.

  • Passion for creating innovative software solutions that enhance operator experience in rugged, real-world environments.

  • Collaborative mindset with a proactive approach to learning new technologies and tools.

VISA Sponsorship is NOT available for this role.

Salary Range: $65,000-$95,000/year commensurate with experience

Why work for RFA?

About RFA Engineering

RFA Engineering has provided machine design and engineering services to industry leading customers dating back to 1943. Our primary focus is project based product 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, MN, Satellite office in Dubuque, IA, and at numerous customer sites throughout the U.S.

We Offer Competitive Benefits:

  • Health and Dental Insurance
  • Supplemental Vision Insurance
  • Company Paid Life Insurance
  • Company Paid Long-Term Disability
  • Short-term Disability
  • Retirement Savings Account (Traditional 401k & Roth 401k)
  • Flexible Spending Plans for Medical Expenses and Dependent Care
  • Extra Time Bonuses
  • Paid Time Off (PTO)
  • Holiday Pay
  • Bereavement Leave
  • Employee Assistance Programs (EAP)
  • Education Assistance

Equal Opportunity and Veteran Friendly