Software Engineer
Role summary
BraunAbility is seeking a Vehicle Software Engineer to develop and maintain source code for their vehicle conversion systems. This role involves writing code for module communication, controlling motors and actuators, interfacing with OEM vehicles via CAN-based messaging, and creating PC-based applications for dealer technicians. Responsibilities include debugging, documenting, and maintaining all created software. The ideal candidate will have knowledge of communication protocols (I2C, K-line, LIN, CAN, UART, SPI), PC application development, embedded C/C++, and ARM-based programming. Experience with soldering and hardware prototyping is also required. A Bachelor's degree in a relevant field and 3 years of automotive software experience are preferred.
Job Description:
GENERAL PURPOSE:
The Vehicle Software Engineer will be responsible for writing source code that will be used to control the operation of the BraunAbility system functions in our vehicle conversions.
ESSENTIAL FUNCTIONS:
Develop source code for communication between all our electrical modules.
Develop source code to control functions of motors, actuators, and various other outputs.
Maintain existing source code of modules to keep up to date and add improvements/updates.
Develop source code that will interface with OEM vehicles (Specifically CAN based messaging)
Write computer-based software to allow for a graphical interface from dealer techs to the BraunAbility controllers.
Connect to OEM vehicles and reverse engineer/decipher CAN/LIN messages.
Debug, document, and maintain all created software.
KNOWLEDGE, SKILLS, ABILITIES:
- Knowledge/Experience of communication protocols and messaging (I2C, K-line, LIN, CAN, UART and SPI)
- Knowledge/Experience in creating PC based applications.
- Knowledge/Experience in various coding disciplines (Embedded C, C++, C#, VB, etc.)
- Knowledge/Experience of ARM based programming
- Must be able to solder both surface mount and through-hole components.
- Troubleshooting skills are also required.
- Must be able to take prototype parts, or evaluation modules, and connect them together for working prototypes.
- Excellent written and verbal communication skills needed.
- Extremely organized, accurate and possesses a strong attention to detail required.
- Demonstrated ability to effectively solve and analyze problems.
- Desire to work in a fast-paced environment.
MINIMUM QUALIFICATIONS:
Bachelor’s degree in electrical engineering, Electrical Engineering Technology, Computer Science, or similar is required.
A minimum of 3 years work experience in automotive software is preferred, but if applicant meets other requirements and seems a good fit they will be considered.
## Equal Employment Opportunity
BraunAbility is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.
BraunAbility is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.
Similar roles
Senior Software EngineerNorthside Hospital · Atlanta, Georgia, United States · Onsite- Senior Software EngineerRandstad Digital Americas · North York, Ontario, Canada · Hybrid
Software EngineerConcord Servicing, LLC · Dallas, Texas, United States · Remote
Lead Software EngineerElanco · Lake County, Indiana, United States · Onsite
Software EngineerAMERICAN SYSTEMS · Fredericksburg, Virginia, United States · Onsite