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

How to Apply

A cover letter is required for consideration for this position and should be attached as the first page of your resume.  The cover letter should address your specific interest in the position and outline skills and experience that directly relate to this position.

The selected candidate may be hired in an underfill title dependent on the qualifications and experience.

Job Summary

The Software Engineer will conduct a full range of programming tasks including program/algorithm design, program coding, debugging, and documentation for a variety of applications to building spoken language dialog systems.


  • Conduct independent program/algorithm design and development.
  • Independently complete all program coding, debugging, and documentation for a variety of applications.
  • Assist less experienced team members with analysis/ programming.
  • Develop software specifications for projects.
  • Research and procure hardware for projects.
  • Design user interfaces for conversational advising sessions.
  • Assisting data collection team with recordings.
  • Advise data collection team on recording options and solutions for recording data (audio and video).
  • Preparing regular reports to UM and industry project teams. 
  • Other duties as assigned. 

Required Qualifications*

  • Bachelor's degree in Computer Science or a related field.
  • Strong background in machine learning and information management.
  • Demonstrated ability to independently design and develop programs and algorithms.
  • Demonstrated ability to code, debug, and document a variety of applications. 
  • Experience actively engaging with the community, discussion roadmap, opening/closing issues and pull requests.
  • Coding experience in C/C++, GPU programming (CUDA) and experience with low-level software programming.
  • Experience managing software (git, code review, etc.)
  • Experience in micro-service architectures using PRS frameworks (Thrift, gRPC, etc.)
  • Experienace managing a large code-base.

Desired Qualifications*

  • MS degree in Computer Science or a related field
  • Experience in the state of the art e-learning solutions, human computer interaction, and natural language technologies.
  • Exposure to cognitive computing research and modern software architectures (ex. microservices and containerization).
  • Experience building spoken language dialog systems.
  • Experience pursuing challenging projects out of curiosity and interest to solve real world problems.
  • Experience in other coding languages is a plus.

Work Locations

This position is located in the Beyster building on North Campus.

Additional Information

This position may be filled using an FLSA exempt or non-exempt designation.

Additional Information

Michigan Engineering’s vision is to be the world’s preeminent college of engineering serving the common good. This global outlook, leadership focus and service commitment permeate our culture. Our vision is supported by a mission and values that, together, provide the framework for all that we do.  Information about our vision, mission and values can be found at: .

The University of Michigan has a storied legacy of commitment to Diversity, Equity and Inclusion (DEI). The Michigan Engineering  component of the University’s comprehensive, five-year, DEI strategic plan—along with updates on our programs and resources dedicated to ensuring a welcoming, fair and inclusive environment—can be found at: .

Application Deadline

Job openings are posted for a minimum of seven calendar days. This job 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.