Principal Software Engineer - Linux/BSP

Magna International, Inc.
Southfield, United States of America
2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Southfield, United States of America

Tech stack

Board Bringup
Artificial Intelligence
ARM
Computer Vision
Unit Testing
C++
Configuration Management
Static Program Analysis
Computer Programming
Computer Engineering
Software Debugging
Linux
Device Drivers
Embedded C
Embedded Software
Graphical User Interface
Image Quality
Internet Service Provider
Linux-Powered Devices
OpenGL
PCI Express
Real-Time Operating Systems
Requirements Management
Software Configuration Management
Software Engineering
Software Requirements Analysis
PIC Microcontroller
PTC Windchill
GIT
Linux Development
Information Technology
Workday

Job description

The Principal Software Engineer is responsible for developing embedded software including design and development for safety critical automotive computer vision-based applications. The candidate must have programming experience with Linux Device drivers, Linux OS bring up, Board Support Package, ARM architecture, C/C++ on QNX or Linux operating systems, using a formal software process model like ASPICE., * Development (design, implement, test and debug) of core and/or application specific software requirements for automotive embedded electronic module serial production projects

  • Develop software in compliance with a formal ASPICE/Comma based Global Engineering Process (GEP)
  • Perform work assignments as a highly competent software engineer, requiring independent design, implementation and testing of the software components.
  • Interface with product development teams located in various geographical locations
  • Ability to adapt to changing software release schedules and multitask in a fast-paced environment
  • Real-time embedded software using C for 32/64-bit multicore SoC/microcontrollers like NVIDIA, Qualcomm or TI, As part of our commitment to a fair, consistent, and efficient recruitment process, we may use artificial intelligence (AI) tools to assist in the initial screening of applications submitted through our Workday system.

These tools help identify qualifications and experience that align with the role requirements. Please note that AI is used solely to support our recruiters. Final decisions are always made by the hiring manager and the hiring team.

Importantly, no applicant data is shared externally through these AI tools. All information remains securely within our systems and is handled in accordance with our privacy and data protection policies.

Requirements

  • Experience in developing Linux device drivers, Board bring up,
  • Strong understanding of Image Quality Metrics and Test Patterns, camera MTF tests
  • Camera image quality tuning for Automotive applications like Internal cabin, external cameras, Machine Vision, Human Vision, etc.
  • Experience with OS/BSP, Camera device driver development
  • Experience with design, implement, test and debug of embedded software for automotive electronic modules
  • Experience with developing software in compliance with a formal ASPICE based Global Engineering Process (GEP)
  • Hardware/Software (HW/SW) integration, Software configuration management, Full software life-cycle development
  • ISO26262 Functional safety software development experience
  • Ability to successfully contribute to multi-disciplined teams, * Bachelor's degree in computer engineering / software engineering / electrical engineering / computer science or equivalent (Master's preferred), * 5 years or more relevant experience for development Linux Device drivers, PCIe, Device Tree, Board Bring up, etc. software development, * Excellent knowledge of writing Camera drivers, tuning ISPs using Embedded C++ or C including Linux/QNX/RTOS environment
  • knowledge of GPU, C6x/C7x DSP core architecture, OpenVX, OpenGL ES
  • Excellent knowledge of product development engineering practices in automotive field
  • Experience using the following tools or related tools:
  • Requirements management (PTC/Reqtify),
  • Architect & Design (Enterprise Architect),
  • Static Analysis (QAC), Debuggers,
  • Unit Testing (VectorCAST, GTest),
  • Configuration Management (PTC Integrity/Git),
  • QNX/Linux Development environment,
  • GUI software development,
  • Open mind to work in constantly changing requirements and schedules
  • Able to work effectively in a global environment.
  • Able to adapt to different tools to conform to processes
  • Able to represent technical design topics internally and externally
  • Travel (domestic and international) may be needed
  • Able to demonstrate self-motivation, tenacity, and determination (these skills are very useful in this position)
  • Able to work independently with no supervision
  • Able to teach and mentor other engineers

About the company

At Magna, you can expect an engaging and dynamic environment where you can help to develop industry-leading automotive technologies. We invest in our employees, providing them with the support and resources they need to succeed. As a member of our global team, you can expect exciting, varied responsibilities as well as a wide range of development prospects. Because we believe that your career path should be as unique as you are., Transforming mobility. Making automotive technology that is smarter, cleaner, safer and lighter. That's what we're passionate about at Magna Electronics, and we do it by creating world-class Electronic systems. We are a premier supplier for the global automotive industry with full capabilities in design, development, testing and manufacturing of complex Electronic systems. Our name stands for quality, environmental consciousness, and safety. Innovation is what drives us and we drive innovation. Dream big and create the future of mobility at Magna Electronics.

Apply for this position