> Markdown version of [/jobs/ext/3095027-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/3095027-embedded-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer - **Company:** RFA Engineering - **Location:** Johnston, IA, United States - **Salary:** $70,000.0 - $120,000.0 - **Contract:** Permanent contract - **Skills:** Testing (Software), Agile Methodology, Unit Testing, C++ (Programming Language), Communications Protocols, Computer Engineering, Continuous Integration, Embedded Software, Github, Integrated Development Environments, Python (Programming Language), Software Tools, Sniffers, Software Engineering, Software Requirements Analysis, Systems Integration, Software Troubleshooting, Integration Tests, Information Technology, Docker - **Published:** September 26, 2026 - **Apply:** https://www.juju.com/job/16_36e075623 ## About the Role * Bachelor's or Master's of Science degree in Computer Science, Software Engineering, Electrical Engineering, Computer Engineering or related experience/degree. * Experience with C or C++ programming languages * Strong mathematical and analytical problem solving skills * Strong verbal and written communication skills. * Ability to thrive in a team environment * Self-motivated, quick learner, with an any-problem-can-be-solved attitude * Must have a valid driver's license 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 ## Description This position is associated with the design and development of embedded software that controls machine operations, functionality, or display information to operators. Various development roles are available that require use of C++ and Python programming languages. Testing methods include simulation-based software testing, bench testing with physical controllers in the loop, and/or physical full machine testing., * Development of embedded software applications for vehicle controller software or display interfaces using C++. * Integration of software in a multi-developer Agile team using Continuous Integration process. * Functional and integration testing prior to hand-off to software test and evaluation group * Development and release status tracking using the Agile development process. * Troubleshooting and debugging using unit tests, vehicle simulators and bench testing of controllers with hardware in the loop. * Creation of software design documentation. ## Related Videos - [Agile work at CARIAD – Creating a customer web application for controlling the vehicle ](https://www.wearedevelopers.com/videos/200-agile-work-at-cariad-creating-a-customer-web-application-for-controlling-the-vehicle) - [Innovating Developer Tools with AI: Insights from GitHub Next](https://www.wearedevelopers.com/videos/1268-innovating-developer-tools-with-ai-insights-from-github-next) - [Docker Compose: Rediscovered](https://www.wearedevelopers.com/videos/1978-docker-compose-rediscovered) - [Car's are Technology on Wheels - Impact of Software and IT Competence in Automotive](https://www.wearedevelopers.com/videos/780-car-s-are-technology-on-wheels-impact-of-software-and-it-competence-in-automotive) - [Bringing AI Model Testing and Prompt Management to Your Codebase with GitHub Models](https://www.wearedevelopers.com/videos/1536-bringing-ai-model-testing-and-prompt-management-to-your-codebase-with-github-models) - [Docker build without Docker](https://www.wearedevelopers.com/videos/100114-docker-build-without-docker) ## Related Articles - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [What is Software Engineering?](https://www.wearedevelopers.com/magazine/289-what-is-software-engineering) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know) - [How software is steering vehicle technology](https://www.wearedevelopers.com/magazine/515-how-software-is-steering-vehicle-technology) - [Top Characteristics of a Software Engineer](https://www.wearedevelopers.com/magazine/166-top-characteristics-of-a-software-engineer)