Purpose/Summary
The position is for a self-motivated and innovative software developer who is proficient in Matlab programming, and has the strong potential to be successful in an Embedded Software Engineer role. This hybrid role will work for the following two categories of assignment, to support electric brake system development.
- Matlab programming – maintain and enhance existing Matlab tools developed by Akebono, as well as creating new tools per company’s need. These tools involve Matlab GUI, digital signal processing, communication with external instrumentation and control hardware, testing data processing etc.
- Embedded software development – develop electric brake application software using MBD (model based design) approach, with the initial focus on software testing. Work with a multi-disciplinary team including system design & test and mechanical design & test engineers to deliver an electric brake system with full functional software and controls.
Essential Duties/Responsibilities
- Matlab programming
- Maintain existing Matlab tools
- Continually fix bugs reported by end users
- Make updates due to environmental change (hardware/software/OS)
- Make updates due to changes in analysis method and/or report format
- Add new features per internal customer requests, etc.
- Create new Matlab based tools to meet customer application and/or internal development need.
- Embedded software development
- Generate software unit test specifications based on software unit requirements.
- Complete software unit testing including formal verification and coverage analysis.
- Generate software component test specifications based on software component requirements.
- Complete software component testing including formal verification and coverage analysis.
- Generate software qualification test specifications based on software requirements.
- Complete software qualification testing including formal verification and coverage analysis.
- Collaborate with cross functional engineering team to resolve software related issues to support the electric brake development.
- Other duties may be assigned.
Education and/or Experience (minimum required for the position)
- BSc in Mechatronics, Electrical, Computer Engineering, or the equivalent.
- Demonstration of proficiency in Matlab programming involving multi-discipline, e.g. GUI, signal processing, controller communication, DAQ.
- Experience in embedded software development using Model Based Design (MBD) is a plus.
Required/Preferred Skills
- Self-motivated and efficient in time/task management is required.
- Strong experience using Matlab to create tools that are deployed to end users without requiring Matlab license is a must.
- Preferred skills are as follows.
- Familiarity in embedded software development toolchains such as Simulink, Stateflow, Modeling guideline, Embedded Coder, MES MTest, etc.
- Experience working with embedding software on prototype ECU for software integration activities.
- Familiarity with CAN bus, calibration tools, and data logging equipment, and the ability to analyze data for supporting SW debug activities.
Essential Knowledge, Skills, Abilities
- To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Ability to read, analyze, and interpret common scientific and technical journals, financial reports, and legal documents.
- Ability to respond to common inquiries or complaints from customers, regulatory agencies, or members of the business community.
- Ability to write reports and presentations that conform to prescribed style and format.
- Ability to effectively present information to top management, public groups, and/or boards of directors.
- Ability to apply advanced mathematical concepts such as exponents, logarithms, quadratic equations, and permutations.
- Ability to apply mathematical operations to such tasks as frequency distribution, determination of test reliability and validity, analysis of variance, correlation techniques, sampling theory, and factor analysis.
- Ability to define problems, collects data, establish facts, and draw valid conclusions. Ability to interpret an extensive variety of technical instructions in mathematical or diagram form and deal with several abstract and concrete variables.
Supervisory Responsibilities
This position does not have supervisory responsibility.
Physical Demands/Environment
This position requires the following physical abilities: to sit; to use hands; to reach with hands and arms, to stand, to talk, to hear and occasionally lift and/or move up to 50 pounds. In addition, the specific vision abilities required by this job include close vision, distance vision, color vision, peripheral vision, depth perception, and ability to adjust focus. The work environment is mostly sedentary; however, there is occasional exposure to moving mechanical and/or electrical parts and to outside weather conditions. The noise level in the work environment is usually moderate.
Other Requirements
This position does not have any other requirements.