||Base Software Engineer
- Designs and develops low level driver software including:
- Programming in C and assembly language for low level drivers, such as boot loaders, A/D drivers, CAN communications, OBD diagnostics, etc.
- Hardware/software integration,
- Memory usage analysis, stack usage analysis, timing analysis and throughput analysis.
- Develops software requirements specifications and software functional specifications, including:
- performing requirement analysis,
- software architecture design and optimization,
- data structure design,
- low level software requirement development,
- Performs coding, unit testing, debugging and modifying of complex embedded systems software to ensure project objectives and schedules are met. .
- Coordinates and participates in software design reviews and code reviews.
- Documents and archives software program releases in accordance with company software development process.
- Works closely with a team of other highly skilled engineering professionals to solve cross functional design issues and deliver top quality products to the end user.
- Provides technical expertise on embedded software to multiple project teams, assists in the resolution of product based technical issues.
- Bachelor's Degree in Electrical Engineering or Computer Engineering with a strong background in software development and/or software engineering.
- Strong C, programming skills and assembly languages with expertise in well structured and documented analysis, design and coding.
- A minimum of three (3) years of automotive embedded systems software development and/or software engineering.
- Experience with automotive CAN communications (preferably GM-LAN) and diagnostics.
- Experience with Vector tools (CANape, CANalyzer)
- Working knowledge of version control and bug tracking software preferably MKS, but not required.
- Experience with logic analyzers, scopes and multimeters.
- Experience with Freescale 16 and 32 bit MCUs and Code Warrior compiler preferred, but not required.
KEY BEHAVIORAL TRAITS FOR SUCCESS:
- Continuous Quality & Performance Improvement: Able to establish personal standards of quality for own work; independently improve the quality of own work processes products, and/or services; identify and apply “best practices” in own work; improve the efficiency of own work by eliminating barriers and streamlining work processes; measure and track own performance.
- Creativity & Innovation: Able to generate creative ideas to solve problems and improve work methods; apply novel approaches to situations; independently apply professional expertise in ways that are unique or innovative; collaborate with team members to brainstorm creative approaches; rethink situations to create new opportunities or overcome obstacles.
- Problem Solving & Analysis: Able to gather appropriate data and diagnose the cause of a problem before taking action; separate causes from symptoms; apply lessons learned from others who encountered similar problems or challenges; anticipate problems and develop contingency plans to deal with them; develop and evaluate alternative courses of action.
- Technical/Functional Expertise: Able to demonstrate mastery of the technical/functional skills necessary for performing own job; maintain state-of-the-art knowledge of the advances in field; regularly publish or present on leading-edge issues; conduct leading-edge research or similar work that has organization-wide impact; play a key role in advancements in profession.
MANAGERIAL / SUPERVISORY RESPONSIBILITES:
Office environment; 10% Travel possible.
While working in this environment, the employee will be exposed to machinery, moving equipment and material, moderate noise, airborne particles, fumes and various levels of temperature created by the manufacturing process.