Job Title: Lead Software Engineer - Vision
Job Location: Southfield, MI
What we offer:
Veoneer develops cutting-edge technology for the Future Car. Our international, agile and highly collaborative teams aim to accelerate the growth in Autonomous Driving and be the leader in Advanced Driver Assistance Systems. We empower our people and are dedicated to their professional development and growth.
With 7500 employees in 13 countries, our growing team has the goal to lead the revolution underway in the automotive industry…and then be the pioneer for what comes next.
What you'll do:
The Lead Software Engineer is responsible for leading a team of software engineers in embedded software design and development for safety critical automotive applications. Candidates seeking this position must possess excellent software skills, a strong sense of software development process discipline, and project leadership skills. The candidate must have advanced functional knowledge of modern electronic control circuits and a thorough knowledge of multicore microcontrollers. In addition, the candidate must have experience with C language programming, real-time operating systems, software design methodologies, and software development using a formal software process model.
- Perform initial software project estimations based on defined customer (internal or external customer) requirements. The objective is to estimate effort required and software development resources needed to meet initial commitments as well as tools needed to support development
- Establish and adhere to estimates in project work plan for assigned projects. Conduct weekly software change control board meetings and work with stakeholders to define software milestones, establish release contents, evaluate change requests, and software issues
- Update and maintain the software project schedule based on changes/defects discovered during development and validation or based on new customer requirements.
- Champion the quality, design, development and release of assigned software project elements in accordance to a process
- Establish software project configuration management, define the software project archive configuration and usage. Collaboration between the Lead Software Engineer and the Software Architect is required to define and sustain the project archive. All the software development shall be maintained in the project archive, all changes shall be reviewed and approved by the lead software engineer and software architect to ensure meeting commitments and quality.
- Function as the main interface to all software project negotiations
- Interface with product development teams located in various geographical locations
- Plan and perform software release builds, software pre-release integration tests and release software in accordance to a process.
- Identify or propose product process or infrastructure improvements
- Possess excellent people skills, ability to work well within an interdisciplinary team
- Exemplify building trust, working together, Driving Customer Focus, and Driving Performance and Simplicity
- Ability to design, implement, and test modular embedded software for multicore microcontrollers
- Ability to adapt to changing software release schedules and multitask in a fast-paced environment
What you'll bring:
- BS in Computer Engineering, Electrical Engineering, or Computer Science; Master’s Degree preferred
- Five or more years’ work experience in embedded or real-time software development
- C and assembly programming for 16/32/64-bit microcontrollers
- Experience with device driver development (Flash, EEPROM, CAN, SPI, ADC, etc.)
- Electronic test equipment (oscilloscope, function generator, power supply, etc.)
- Good oral and written communication skills
- Experience using the following tools or related tools: Requirements management (DOORS), Architect & Design (Enterprise Architect), Code generation tools (TASKING compiler/linker), Static Analysis (QAC, LDRA), Debuggers (iSYSTEM winIDEA), Unit Testing (VectorCAST), Configuration Management (PTC Integrity), AUTOSAR Development (AUTOSAR Builder, Tresos, DaVinci Developer, DaVinci Configurator)
- Experience in leading software development teams
- Experience in developing embedded software for North American OEM vehicle platforms
- Experience in developing embedded software systems with multiple microcontrollers and System on chips
- Experience in industry standards like UDS diagnostics, ISO26262, AUTOSAR (Classic & Adaptive)
- Familiarity with AUTOSAR Configuration Tools (DaVinci Configurator, DaVinci Developer, EB Tresos)