Software Engineer - Magna Electronics, Magna - Troy, MI

Detailed tasks include:

  • Develop and analyze requirements, design, implement, integrate and test C code for automotive production embedded electronic module in the vehicle environment. 
  • Develop software in compliance with a formal CMMi based Product Development Process (PDP). 
  • Development (design, test, implement and deliver) of advanced camera-based algorithms from concept phase to production. 
  • Implement customer and application-specific requirements related camera systems including Vector or related drivers, bootloader. 
  • Integrate book-shelved and/or 3rd party software such as CAN NOS into an application specific software ECU. Validate software at component and bench level. 
  • Main customer interface for all software-related activities including customer design reviews, clarify and negotiate customer requirements as application-specific software expert for camera-based systems. 
  • Planning, scheduling, monitoring and reporting of all software-related activities for various projects. 

Required / Desired skills:

  • Bachelor’s degree in computer or electrical engineering or computer science, Master’s degree preferred. 
  • Previous experience (5-10 years) in developing software using C in Real Time Embedded Controls for automotive applications. 
  • Experience in developing and implementing software for rear view cameras. 
  • Development experience of portable, reusable and modular software in automotive environment for production programs. 
  • Advanced reading, writing, and math skills. 
  • C language-based embedded software development with tools and environments for multiple 16 bit and 32 bit micro-controllers including application in low level drivers for multiple micro-controllers such as PICs, Star 12/S12X, ST7, ST9, Microchip PICs, TI DSP. 
  • Demonstrated knowledge and experience in implementing and integrating Automotive Vehicle Networks (CAN and/or LIN) for various OEMs, especially Vector-based CAN NOS. 

Demonstrated knowledge and experience with the following: implementation of various diagnostic protocols (UGS, ISO 14229, KWP2000), customer interface for all software-related activities (customer design reviews, clarify and negotiate customer requirements), implementation of low level driver software (SPI, I2C, PWM for various microcontrollers), disciplined software development process based on CMM or CMMi process model, CAN based tools ( CANalyzer, CANoe, CANape, neoVI), and software configuration management tool (MKS).

Demonstrated good interpersonal and written and verbal communication skills in order to communicate with internal and external contacts and work in a team environment.

Demonstrated ability to conceptualize, coordinate, integrate and articulate concepts, ideas, and concerns relating to interpersonal, organizational, and technical issues.

High degree of comprehension and judgment for effective problem solving (troubleshooting and debugging).

Self-starter with the ability to manage one’s own time appropriately.