Job description
Duties and responsibilities
- Lead the software architecture planning, design, and implementation – in particular:
- Develop and implement an architecture and verification plan
- Drive and conduct code reviews
- Adviseon project and program management in planning
- Mentor the development of team members
- Analyze customer, system, and safety requirements to derive software architecture requirements:
- Design, document, and implement reusable software architecture based upon generated requirements – technical leadership of a product that will be reused in multiple projects
- Incorporate requirements traceability into the software architecture using dedicated tools such as Polarion/Enterprise Architect
- Develop concepts to improve the performance
- Develop documentation to comply with automotive SPICE
- Interface directly with automotive OEMs, project and platform teams to understand requirements and review designs.
- Interface directly with suppliers to understand and influence design aspects that impact the software.
- Support resolution of issues reported by customers
- Work with Product Development and Product Strategy teams to create software products containing required features and modifications:
- Participate in feature design, system architecture design, and apply specialized knowledge in a broad spectrum of technology areas, including technology trends, current industry standards, and latest solution development techniques
- Support and lead quote activities involving software architecture, including Proof of Concept activities.
- Create technical customer interfaces to discuss, understand, describe, and document customer requirements.
- Care for good company image and its property by demonstrating excellent attitudes toward internal and external customers Basic requirements:
- Education: BS, MS, or greater R in Computer Science or Electrical Engineering
- Approx. 9-10 years software product development experience (preferred Object Oriented analysis, design, and programming
- Experience as a software product architect in the definition and implementation of software architecture within product development
- Experience developing highly scalable multi-threaded software for embedded systems
- Understanding of functional safety (ISO26262) concepts and their impact on software development
- Experience with embedded microcontrollers and common peripherals
- Experience with formal configuration management tools (eg. GIT)
- Experience with formal UML architectural design tools such as Enterprise Architect
- Familiarity with MISRA standards and verification tools
- Familiarity with automotive communication protocols (CAN, LIN, Flex. Ray, ETH)
- Familiarity with maturity models such as SPICE
- Familiarity with software static analysis tools
- Familiarity with AUTOSAR standard
- Familiarity with requirements analysis tools such as DOORS/Polarion
- Strong grasp of data structures and algorithm fundamentals
- Experience with Operating Systems/RTOS (Linux, QNX / OSEK) or applicable for automotive systems
- Experience with system profiling
- Experience working with geographically distributed teams
- Strong analytical capabilities for identifying and resolving engineering tradeoffs
- Demonstrated leadership abilities in directing technical activities and documenting technical issues
- Excellent time management, communications, decision-making, presentation, and organization skills