1

Flexible Principal Java Software Engineer Jobs in Iowa

Comfortable working with languages such as C, C++, and Java * Knowledge and\or experience in multi-threaded embedded application software engineering development and integration * Experience working ...

... engineer supporting the Provider Data Management area, you will own the endtoend software ... Angular, NodeJS, TypeScript, C++, .NET, Java, SQL) OR 5+ years of related and applicable experience.

... engineer supporting the Provider Data Management area, you will own the end-to-end software ... Angular, NodeJS, TypeScript, C++, .NET, Java, SQL) OR 5+ years of related and applicable experience.

Principal Software Engineering

Cedar Rapids, IA

$132.20K - $177.20K/yr

Summary The Principal Software Engineer is a senior technical leader responsible for defining and ... NET/C#, JAVA, OOD, OOP, Functional Programming, Spring Framework, J2EE Development, OOP, Service ...

next page

Showing results 1-20

Flexible Principal Java Software Engineer information

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

To thrive as a Flexible Principal Java Software Engineer, you need deep expertise in Java development, system architecture, and design patterns, typically supported by a computer science degree and extensive experience. Familiarity with frameworks like Spring, cloud platforms (AWS, Azure), CI/CD tools, and relevant certifications (like Oracle Certified Professional) are commonly required. Strong leadership, problem-solving, and communication skills help drive complex projects and mentor teams effectively. These skills ensure the delivery of robust, scalable solutions and foster technical excellence within the organization.

How does a Flexible Principal Java Software Engineer typically collaborate with cross-functional teams, and what impact does this have on project outcomes?

As a Flexible Principal Java Software Engineer, you will frequently collaborate with cross-functional teams, including product managers, UX designers, QA engineers, and DevOps specialists. This collaboration ensures that technical decisions align with business goals and user needs, leading to more robust and scalable solutions. You'll often facilitate technical discussions, mentor junior developers, and help bridge communication gaps between technical and non-technical stakeholders. Effective collaboration not only improves project outcomes but also fosters a culture of continuous learning and innovation within the team.

What is a Flexible Principal Java Software Engineer?

A Flexible Principal Java Software Engineer is a highly experienced software engineer specializing in Java programming who also demonstrates adaptability in working across various projects, teams, and technologies. 'Principal' denotes a leadership role, often involving technical guidance, architecture decisions, and mentoring other engineers. The 'flexible' aspect means this professional can adjust to changing requirements, work environments, or technical stacks as needed. They are typically responsible for designing robust solutions, overseeing complex projects, and ensuring high-quality software delivery.

What is the difference between Flexible Principal Java Software Engineer vs Principal Java Software Engineer?

AspectFlexible Principal Java Software EngineerPrincipal Java Software Engineer
Required CredentialsBachelor's or Master's in Computer Science, Java certifications often preferredBachelor's or Master's in Computer Science, Java certifications often preferred
Work EnvironmentFlexible, often remote or hybrid, project-basedTypically on-site or hybrid, leadership-focused
Employer & Industry UsageTech companies, startups, consulting firmsLarge enterprises, tech firms, financial institutions
Common Search & ComparisonYesYes

The main difference is that the Flexible Principal Java Software Engineer often works in more adaptable, remote environments and may handle diverse projects, while the Principal Java Software Engineer typically holds a more traditional, leadership-focused role within larger organizations. Both roles require strong Java expertise and similar credentials, but their work settings and responsibilities can differ.

What are the most commonly searched types of Principal Java Software Engineer jobs in Iowa? The most popular types of Principal Java Software Engineer jobs in Iowa are:

Software Engineer - Displays

Rogers Freels & Associates Inc

Dubuque, IA

$65K - $95K/yr

Full-time

Posted 16 hours 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