Senior Software Engineers bring strong technical development skills and strong software engineering skills to Faurecia Clarion Electronics. In addition to the skills expected of software developers, software engineers are expected to bring experience with engineering enterprise-class solutions. This means being:
- Able to decompose business requirements into engineered solutions;
- Able to add in appropriate non-functional requirements to guarantee proper maintainability, persistence, scalability, security, and performance;
- Able to maintain architectural consistency with other software products and technical design patterns currently in use by the team.
With minimal direction from a lead engineer or a manager,
- Review and provide effort estimates on accomplishing team tasks
- Decompose team tasks into specific work items to be accomplished in development period
- Assess risk and priority, and balance tasks in a development period to ensure maximum team success
- Enable all team members for successful completion of tasks with clear and constant communication; availability to peer review or brainstorm; and willingness to cover in times of absence or unforeseen interruptions to team progress
- Design, develop, prove, and document embedded software products and solutions
- Occasionally mentor software developers, engineers, and interns
- Occasionally review code and unit tests of other software developers and engineers on the team
- Provide product definition and high-level design support for team software products and efforts
- Decompose high level business requirements into component business requirements for inclusion in development efforts
- Foster teamwork among engineering disciplines of software, hardware, mechanical, and quality assurance groups
- Travel to customer engineering centers and minimal travel overseas for collaboration and training.
- 5+ years’ experience programming with C or C++
- Proficient understanding of embedded device programming
- Decomposition of business requirements into functional specifications, design documentation, and use cases; creation of support documentation.
- Ability to design solutions to enterprise class persistence, scalability, performance, security and maintainability models
- Experience with the use and applicability of design patterns
- Experience with model based development and code generation (MATLAB, Simulink, etc)
- Experience with the development of path planning, SLAM, and obstacle avoidance.
- Familiar with state-of-the-art techniques for the development of embedded systems
- Familiarity with automotive safety requirements (ASIL, SOTIF, ISO 26262, etc.)
- Familiarity with In-Vehicle communication bus protocols (CAN, Ethernet, LVDS, etc.)
- Ability to work in a fast-paced environment building software products
- Ability to propose and support inspect-and-adapt processes for improving team performance, reducing cost of ownership for products, or shortening time-to-value for priority Faurecia Clarion Electronics initiatives
- Ability to travel nationally and internationally to work with global product, sales, and engineering teams
- Bachelor’s degree in a software development discipline.
- Consistent participation in on-going career development education, either through advanced degree programs or certification programs