1

Staff Software Engineer Jobs in Iowa (NOW HIRING)

Embedded Software Engineer

Waterloo, IA · On-site

$70K - $120K/yr

Embedded Software Engineer In this role, you will collaborate with software developers, test ... Our engineering staff is located at our Engineering Center in Minneapolis, branch office in Dubuque ...

The selected candidate will work with an experienced engineering staff using state-of-the-art ... Design, develop, and maintain software applications and frameworks for Linux-based operating ...

RFA Engineering ( www.rfamec.com ) supports industry-leading clients through the full software ... Our engineering staff is located at our Engineering Center in Minneapolis, branch office in Dubuque ...

Embedded Software Engineer

Urbandale, IA · On-site

$70K - $120K/yr

Embedded Software Engineer This position is associated with the design and development of embedded ... Our engineering staff is located at our Engineering Center in Minneapolis, branch office in Dubuque ...

The selected candidate will work with an experienced engineering staff using state-of-the-art ... Embedded Software Engineer This position is associated with the design and development of Back-end ...

Embedded Software Engineer

Dubuque, IA · On-site

$70K - $110K/yr

The selected candidate will work with an experienced engineering staff using state-of-the-art ... Embedded Software Engineer This position is associated with the design and development of Back-end ...

Embedded Software Engineer

Dubuque, IA · On-site

$70K - $110K/yr

The selected candidate will work with an experienced engineering staff using state-of-the-art ... Embedded Software Engineer This position is associated with the design and development of Back-end ...

Collabera awarded Best Staffing Company to work for in 2012 by SIA. (hyperlink here) Collabera ... Qualifications This is a software engineering position responsible for embedded software ...

next page

Showing results 1-20

Staff Software Engineer information

See Iowa salary details

$56.8K

$151.4K

$206.6K

How much do staff software engineer jobs pay per year?

As of Jul 31, 2026, the average yearly pay for staff software engineer in Iowa is $151,360.00, according to ZipRecruiter salary data. Most workers in this role earn between $126,300.00 and $178,900.00 per year, depending on experience, location, and employer.

How does a Staff Software Engineer typically contribute to setting technical direction within a team?

As a Staff Software Engineer, you are expected to play a pivotal role in shaping the technical roadmap and ensuring architectural consistency across projects. This often involves mentoring junior engineers, reviewing system designs, and making critical decisions on technology choices and best practices. You'll collaborate closely with product managers, engineering leads, and other stakeholders to align technical goals with business objectives. Your leadership helps foster innovation while maintaining high standards for code quality and system reliability.

What is the difference between Staff Software Engineer vs Senior Software Engineer?

AspectStaff Software EngineerSenior Software Engineer
Required CredentialsBachelor's or Master's in CS or related field; extensive experienceBachelor's or Master's in CS; significant experience
Work EnvironmentLeads projects, mentors teams, influences technical strategyDevelops features, solves complex problems, mentors juniors
Employer & Industry UsageCommon in large tech companies, enterprise environmentsWidespread across startups, mid-sized, and large companies

The main difference between a Staff Software Engineer and a Senior Software Engineer lies in scope and influence. Staff Engineers typically lead technical initiatives, mentor multiple teams, and shape engineering strategies, while Senior Engineers focus on developing features and solving complex problems within their teams. Both roles require strong technical skills, but Staff Engineers have a broader impact across projects and departments.

What Is a Staff Software Engineer?

A staff software engineer works on the technical team at an organization, typically under a senior management-level team member, to repair, develop, and maintain company software to ensure an efficient user experience. As a staff software engineer, your duties include finding and implementing solutions for issues, creating new software or applications by writing code, using visual development environments to debug, and ensuring the technical architecture runs smoothly. A significant aspect of your job is to not only contribute your skills but also mentor other software engineers to improve their skills and productivity.

What is a Staff Software Engineer?

A Staff Software Engineer is a senior-level technical role responsible for designing, developing, and overseeing complex software systems. They often serve as technical leaders within their teams, guiding architecture decisions, mentoring junior engineers, and collaborating across departments. Staff Software Engineers are expected to solve high-impact engineering problems, set technical standards, and ensure the quality and scalability of software products. Their role typically involves both hands-on coding and strategic planning to drive technological innovation within an organization.

What are the key skills and qualifications needed to thrive as a Staff Software Engineer, and why are they important?

To thrive as a Staff Software Engineer, you need deep expertise in software development, system architecture, and problem-solving, often supported by a relevant degree and significant industry experience. Mastery of programming languages (such as Java, Python, or C++), cloud platforms, version control systems, and familiarity with CI/CD pipelines are typically required. Exceptional leadership, strong communication, and mentorship abilities set candidates apart in this role. These skills are essential for designing scalable solutions, guiding technical teams, and ensuring the successful delivery of complex projects.
What are the most commonly searched types of Staff Software Engineer jobs in Iowa? The most popular types of Staff Software Engineer jobs in Iowa are:
What job categories do people searching Staff Software Engineer jobs in Iowa look for? The top searched job categories for Staff Software Engineer jobs in Iowa are:
Infographic showing various Staff Software Engineer job openings in Iowa as of July 2026, with employment types broken down into 91% Full Time, 6% Part Time, and 3% Contract. Highlights an 87% Physical, 6% Hybrid, and 7% Remote job distribution, with an average salary of $151,360 per year, or $72.8 per hour.

Embedded Software Engineer

RFA Engineering

Waterloo, IA • On-site

$70K - $120K/yr

Full-time

Medical, Dental, Vision, Life, Retirement, PTO

Posted 9 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
Equal Opportunity Employer
This employer is required to notify all applicants of their rights pursuant to federal employment laws. For further information, please review the Know Your Rights notice from the Department of Labor.