Job Information
General Motors Senior Software Developer – Compute Platform Simulation in Markham, Ontario
Job Description
The Software Defined Vehicle will increase the vehicle’s compute capability, be connected, and allow for faster software development cycles. As a Software Simulation Developer, you will be on the forefront of realistic automotive software-in-the-loop simulation environments creating highly optimized, largely automated, high-fidelity vehicles on demand which are capable of running thousands of simultaneous scenarios on cloud compute.
The simulations support algorithm development and validation of the Software Defined Vehicle architecture and protocols as well as algorithm development of hands-free driving in all situations, active safety features, in-vehicle Infotainment, and embedded control among others. The main areas of focus are controller virtualization, bus communication, optimization, and sensor modelling. You will be working cross-collaboratively with many teams to integrate these systems into a wider CI/CD toolchain and data analytics pipeline.
Key Responsibilities
Work within an Agile environment to define, plan, and analyze user-stories to meet the team’s strategic objectives
Combine engineering analysis with strong computer science fundamentals to create accurate physics-based simulation platforms to allow developers to test development controller code
Work collaboratively with multiple teams to deliver end-to-end products and features, seeing them through from conception to delivery with a focus on (internal) customer ease-of-use
Ensure deliverables are complete as per milestones with excellence
Identify and implement areas of efficiency to the process and the product when scaling up
Investigate simulation integration problems and provides technical input in problem resolution
Maintain technical documentation to reflect accurate and current production installations
Learn new technical concepts and practices quickly and apply them across multiple types of applications and software
Qualifications
Bachelor Degree in Software, Computer or Mechanical Engineering or Computer Science
8+ years of working experience with C++ Experience with modelling in a physics-based simulation environment, preferably automotive
Experience working on large volumes of data in a real-time, or faster than real-time, discrete environment
Knowledge of digital signal processing, timing, scheduling, and multi-threaded programming
Knowledge of containerization, virtual machines, orchestration, and integration to a CI/CD pipeline
Experience with object-oriented programming, modern design patterns and writing scalable reusable code
Extensive experience with the full software development lifecycle (software requirements, design, coding, verification, support)
Knowledge of Python or other scripting languages
Experience working with Scrum/Agile software development process and tools
Familiar with High Performance Computers, Cloud Compute and/or GPU Programming an asset
Familiarity with Cameras, LiDARs, Radars as well as perception, classification and fusion algorithms an asset
Able to work in a team as well as independently
Must possess excellent communication skills
About GM
Our vision is a world with Zero Crashes, Zero Emissions and Zero Congestion and we embrace the responsibility to lead the change that will make our world better, safer and more equitable for all.
Why Join Us
We aspire to be the most inclusive company in the world. We believe we all must make a choice every day – individually and collectively – to drive meaningful change through our words, our deeds and our culture. Our Work Appropriately philosophy supports our foundation of inclusion and provides employees the flexibility to work where they can have the greatest impact on achieving our goals, dependent on role needs. Every day, we want every employee, no matter their background, ethnicity, preferences, or location, to feel they belong to one General Motors team.
Diversity Information
General Motors is committed to being a workplace that is not only free of discrimination, but one that genuinely fosters inclusion and belonging. We strongly believe that workforce diversity creates an environment in which our employees can thrive and develop better products for our customers. We understand and embrace the variety through which people gain experiences whether through professional, personal, educational, or volunteer opportunities.
We encourage interested candidates to review the key responsibilities and qualifications and apply for any positions that match your skills and capabilities.
Equal Employment Opportunity Statement
Accommodation is available for applicants with disabilities. Should you be contacted by General Motors of Canada, please advise if you require accommodation. General Motors of Canada values diversity and is an equal opportunity employer.
We are leading the change to make our world better, safer and more equitable for all through our actions and how we behave. Learn more about:
Our Company (https://search-careers.gm.com/en/working-at-gm/)
Our Culture
How we hire (https://search-careers.gm.com/en/how-we-hire/)
Our diverse team of employees bring their collective passion for engineering, technology and design to deliver on our vision of a world with Zero Crashes, Zero Emissions and Zero Congestion. We are looking for adventure-seekers and imaginative thought leaders to help us transform mobility.
Explore our global location s
The policy of General Motors is to extend opportunities to qualified applicants and employees on an equal basis regardless of an individual's age, race, color, sex, religion, national origin, disability, sexual orientation, gender identity/expression or veteran status. Additionally, General Motors is committed to being an Equal Employment Opportunity Employer and offers opportunities to all job seekers including individuals with disabilities. If you need a reasonable accommodation to assist with your job search or application for employment, email us at Careers.Accommodations@GM.com .In your email, please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.