JOBSEARCHER

Embedded Software Developer C++

RFA Engineering (www.rfamec.com (http://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. Embedded Software Developer C++ The main function of this position is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the embedded software and systems that make computers work. A typical embedded software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications. Responsibilities 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. Requirements 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. Desired Attributes 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. Visa sponsorship is NOT available for this position. Pay Range: $75,000-$115,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 Health Savings Account TelaDoc: Virtual Health Care Vision Insurance Company Paid / Supplemental Life Insurance Company Paid Long-Term Disability Supplemental Short-Term Disability Retirement Savings Account (Traditional 401k & Roth 401k) Flexible Spending Plan Dependent Care Bonus Plan (Exempt Employees Only) Paid Time Off (PTO) Paid Holidays Bereavement Leave Employee Assistance Programs (EAP) Education Assistance Equal Opportunity and Veteran Friendly #ZR Education Preferred Bachelors of Science or better in Software Engineering Bachelors of Science or better in Electrical Engineering Bachelors of Science or better in Computer Engineering or related field Bachelors of Science or better in Computer Science or related field Skills Required Soft - LIN Bus Soft - CAN Bus Soft - Agile Soft Lang - C Behaviors Preferred Team Player: Works well as a member of a group Detail Oriented: Capable of carrying out a given task with all details necessary to get the task done well 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 (https://www.eeoc.gov/poster) notice from the Department of Labor.