> Markdown version of [/jobs/ext/2306249-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/2306249-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:** United States - **Salary:** $75,000.0 - $115,000.0 - **Contract:** Permanent contract - **Skills:** Testing (Software), Software Applications, C++ (Programming Language), Software Documentation, Code Review, Communications Protocols, Computer Programming, Databases, Data Structures, Software Debugging, Memory Management, Embedded Software, Ethernet, Firmware, Hardware Interface Design, Systems Analysis, Object-Oriented Software Development, Software Architecture, Systems Development Life Cycle, Real-Time Operating Systems, Software Configuration Management, Software Deployment, Software Engineering, Software Requirements Analysis, SQL Databases, Universal Asynchronous Receiver/Transmitter, Serial Peripheral Interface, PIC Microcontroller, Computer Network Technologies, Software Verification, Reliability of Systems, Git, Data Management, Hardware Infrastructure, Software Performance, Software Version Control, Visual Basic Language, Programming Languages - **Published:** August 30, 2026 - **Apply:** https://www.dice.com/job-detail/5cbda02f-7652-456c-8eb0-06dad89ecdc6 ## About the Role * BS in Software, Computer, Electrical, or other relevant Engineering degree. * Experience with C or C++ development. * Strong verbal and written communication skills. * Self-motivated, quick learner, with an any-problem-can-be-solved attitude. * Good organizational and time management skills. * Ability to identify needed actions and act to resolve issues. * Ability to communicate technical information effectively. * Ability to thrive in a team environment. * Must have a valid Driver's License., * Strong verbal and written communication skills with the ability to effectively collaborate across engineering, manufacturing, and cross-functional teams. * Proven analytical, troubleshooting, and problem-solving abilities with a customer-focused approach to identifying and resolving technical issues. * Ability to read and interpret electrical schematics, circuit diagrams, component datasheets, and hardware interface documentation. * Understanding of the complete Software Development Lifecycle (SDLC), including requirements gathering, system analysis, software design, development, testing, deployment, and maintenance. * Experience debugging embedded software and hardware issues, performing root-cause analysis, and implementing corrective actions to improve system reliability. * Knowledge of computer hardware architectures, microcontrollers, embedded systems, real-time operating systems (RTOS), and peripheral interfaces. * Strong programming experience in C and/or C++, including object-oriented design principles, data structures, memory management, and embedded software development best practices. * Familiarity with embedded development tools, IDEs, debuggers, version control systems (Git), and software configuration management processes. * Experience developing, maintaining, or interacting with databases and software applications utilizing technologies such as SQL, Visual Basic, or similar programming languages and development environments. * Ability to create and maintain software design documentation, test plans, technical specifications, and validation reports. * Knowledge of communication protocols such as CAN, UART, SPI, I2C, Ethernet, or similar embedded networking technologies is preferred. * Experience with software testing, verification, validation, and continuous improvement methodologies in embedded product development environments. ## Description * Design, develop, and implement embedded software solutions in C++ for embedded devices and systems, supporting the full product lifecycle from requirements definition through production deployment and ongoing product support. * Develop and maintain firmware and software architectures for real-time embedded applications, ensuring compliance with performance, reliability, and quality requirements. * Analyze, debug, and optimize software performance to improve system efficiency, stability, scalability, and resource utilization across embedded platforms. * Collaborate with cross-functional engineering teams to define software requirements, develop technical specifications, and integrate software with hardware components and communication interfaces. * Design, implement, and maintain logical and physical database structures, data management solutions, and associated software interfaces to support application functionality and system performance. * Perform software verification, validation, troubleshooting, and root-cause analysis to identify and resolve defects throughout the development process. * Create and maintain technical documentation, including software design descriptions, test procedures, interface specifications, and user documentation. * Evaluate project requirements, assess technical feasibility, and provide development effort, timeline, and cost estimates to support project planning and execution. * Participate in code reviews and continuous improvement initiatives to ensure adherence to software development best practices, coding standards, and quality processes. * Support product launch activities and provide ongoing enhancements, maintenance, and technical support for commercialized embedded software products. ## Related Videos - [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) - [The Gashlycrumb Tinies of AI Networking You Must Know (or Languish!)](https://www.wearedevelopers.com/videos/2067-the-gashlycrumb-tinies-of-ai-networking-you-must-know-or-languish) - [Playing Pong on a shoulder press machine](https://www.wearedevelopers.com/videos/100140-playing-pong-on-a-shoulder-press-machine) - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [Building a hypercar from scratch](https://www.wearedevelopers.com/videos/607-building-a-hypercar-from-scratch) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) ## Related Articles - [What is Software Engineering?](https://www.wearedevelopers.com/magazine/289-what-is-software-engineering) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know) - [Top Characteristics of a Software Engineer](https://www.wearedevelopers.com/magazine/166-top-characteristics-of-a-software-engineer) - [How software is steering vehicle technology](https://www.wearedevelopers.com/magazine/515-how-software-is-steering-vehicle-technology) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs)