Software Developer/ Engineer/ Architect

Senior Software Engineer - Ultra Cruise

About the team:

 

The UltraCruise Data Engine team at GM Limerick takes a significant part in redefining traditional cars into software-defined vehicles. We craft the face of the future vehicles in diverse fields by developing groundbreaking technologies.

 

Our automated driving AI application develops the “brain” of the autonomous vehicle by applying groundbreaking technologies into our vehicle's Perception and Decision-Making capabilities.

 

The role:

 

The Senior Software Engineer is responsible and accountable for the quality and coding of software components that make up sophisticated systems enabling self-driving vehicles, semi-autonomous vehicles, and a variety of other machine learning efforts.

 

This role requires a deep experience in software engineering practices and an understanding of emerging technologies. Senior Engineers will work in partnership with senior architects, development leads, and managers while contributing to multi-layered solution architectures that comprehend and specify business, application, data, and infrastructure designs.

 

You will:

Own features and successful implementation from end to end; Design, build, and maintain the core Data Engine product, services and APIs used by all General Motors’ autonomous vehicle engineering teams.

Work with a wide range of systems, processes, and technologies, building effective solutions and development processes.

Get hands on with Autonomous Vehicle data from sensors such as LIDAR, Camera, Radar etc.

Scrutinize and clearly communicate the technology and architecture choices we make.

Continuously improve software development processes, tools, and standards in an agile setting.

 

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.

Minimum Qualifications:

2+ years of software development, data engineering or technical architectural experience.

Strong Python software development experience and knowledge.

Applied Object Oriented Programming and Unit Testing experience.

Hands on experience with relational database and ORM.

Understanding of fundamental design principles behind a scalable application.

 

Preferred Qualifications:

5+ years of software development, data engineering or technical architectural experience.

Bachelor's Degree in Computer Science or applicable technical field of study.

Analytical and problem-solving experience with large-scale platforms, infrastructure, and organizations. Understanding of event driven data processing architecture.

Docker, NoSQL, Dremio, Spark, Kubernetes, CI/CD, React/Angular experience.

Able to integrate multiple data sources and databases into one system.

Familiarity with event-driven programming in Python.

Understanding of the threading limitations of Python, and multi-process architecture.