Embedded Software Engineer
Role details
Job location
Tech stack
Job 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.
Requirements
Do you have a valid Driver's License license?, Do you have experience in Writing skills?, * 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, Preferred
- Bachelors of Science or better in Software Engineering or related field
- Bachelors of Science or better in Computer Engineering or related field
- Bachelors of Science or better in Computer Science or related field, Preferred
- Soft Lang - C
- Soft Lang - C++
Benefits & conditions
Pulled from the full job description
- 401(k)
- Health insurance
- Paid time off
- Vision insurance
- Health savings account
- Dental insurance
- Flexible spending account, 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., 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