Apply Now Clicking "Apply Now" opens the link in a new window.

How to Apply

Please include a cover letter, and tell us about yourself! We’d love to hear your background, and why Mcity sounds like a good next step for your career.

A cover letter is required for consideration for this position and should be attached as the first page of your resume.

Job Summary

Mcity runs several laboratories and C/AV (Connected / Automated Vehicle) research programs. As part of this work we build systems to collect, store, classify, and help analyze a wide variety of data, working with our industry members and university researchers. You will have the unique opportunity to master, develop and scale all the components of our software/hardware architecture.

Some examples of interesting projects our engineers worked on in the past:

APIs for Traffic Signal and Robot control

ROS Modules for LIDAR point cloud alignment

Real Time V2X/IoT data aggregation

Vehicle/Infrastructure Data Collection Hardware

RTK GNSS IoT hardware design, pcbs, and firmware.

Our development team is provided with laptops, monitors, and other equipment of their choice. Our development stack contains: VueJS, Node, webpack, Python, gunicorn, SocketIO, PostgreSQL, Java, C, Linux, Docker, AWS, and a restful API service-oriented architecture model.

In addition to a career filled with purpose and opportunity, The University of Michigan offers a comprehensive benefits package to help you stay well, protect yourself and your family and plan for a secure future. Benefits include:

  • Generous time off
  • A retirement plan that provides two-for-one matching contributions with immediate vesting
  • Many choices for comprehensive health insurance
  • Life insurance
  • Long-term disability coverage
  • Flexible spending accounts for healthcare and dependent care expenses

Salary range (annual full-time rate) for Senior level position:  $70,000 - $95,000

Salary range (annual full-time rate for Lead level position:  $90,000 - $115,000

Who We Are

We are looking for a great software engineer who is excited to help us design and build the software systems and software/hardware integrations we rely on to support our research. As an important member of our engineering team, you will enhance our existing software/hardware integrations and develop new systems to support our new projects. If you’re interested in building systems that take complex concepts and data and make them highly accessible, and want to add to our team with your knowledge and skills, consider joining us!

We are located on North Campus in Ann Arbor, but because of the current pandemic, we are working from home for the foreseeable future.

What is Mcity you ask? Let us show you! This is Mcity. youtu.be/usJTW6IjYQg

Mcity engineering team members value respect, competence, gratitude, integrity, diversity, and collaboration. We appreciate the challenges and opportunities of developing technical innovations within a large university environment and realizing the potential to fundamentally change mobility. We collaborate on clever technical solutions, elegant designs, and compelling language. We share intense focus, intense laughter, and a genuine passion for and appreciation of our work.

Reports to Manager, Software Engineering      

Responsibilities*

As a member of the Mcity engineering team, your typical week will include:

Research - Stay up-to-date with the latest development technologies and trends. Develop new uses and possibilities within Mcity living labs, tools, and systems.

Mentoring - A chance to learn something new and share your knowledge with others, serving in a mentorship capacity for student and junior team members.

Support - Interaction with customers – this includes industry members and the U-M research community.

Design/Planning - Design new systems or improve design of existing software, in collaboration with other engineers. Discuss requirements with the team, and our daily team stand-up (we are a small, fun, personable team)

Development - Quiet time for coding, query, analysis, and testing. Work across the full development stack (CI/CD, test suites, services, APIs, frontend, backend, IoT devices UX)

Required Qualifications*

REQUIRED QUALIFICATIONS LEAD

  • At least 8 years of relevant experience building similar types of systems
  • Experience mentoring junior level staff and student researchers
  • Experience developing IoT hardware
  • All required qualifications for Senior level position

REQUIRED QUALIFICATIONS SENIOR

  • Bachelor's degree in Computer Science, Engineering or related field; or equivalent experience
  • At least 5 years of relevant experience building similar types of systems
  • Experience with relational databases
  • Experience writing web applications using Javascript application frameworks, REST APIs, and microservices
  • Experience with DevOps workflows (CI/CD, Docker, Version control) and cloud frameworks (AWS, Heroku, etc)
  • Experience with embedded hardware/microcontrollers (PIC/Atmel) or lower-level programming languages (C)

Desired Qualifications*

  • Passionate about connected and/or automated vehicle technologies
  • Knowledge of vehicle data acquisition hardware for Level 2+ autonomous vehicles.
  • Experience with a variety of sensor systems, including cameras, radar & LiDAR, GNSS, microcontrollers, and development platforms.
  • Experience processing large datasets (mutli-terrabyte or 100+ million rows)
  • Experience designing and scaling high availability systems
  • Demonstrated experience with machine learning toolkits

Underfill Statement

This position may be underfilled at a lower classification depending on the qualifications of the selected candidate.

Background Screening

The University of Michigan conducts background checks on all job candidates upon acceptance of a contingent offer and may use a third party administrator to conduct background checks.  Background checks are performed in compliance with the Fair Credit Reporting Act.

Application Deadline

Job openings are posted for a minimum of seven calendar days.  The review and selection process may begin as early as the eighth day after posting. This opening may be removed from posting boards and filled anytime after the minimum posting period has ended.

Application Deadline

Job openings are posted for a minimum of seven calendar days.  The review and selection process may begin as early as the eighth day after posting. This opening may be removed from posting boards and filled anytime after the minimum posting period has ended.

U-M EEO/AA Statement

The University of Michigan is an equal opportunity/affirmative action employer.