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.
NOTE: This is a two-year term limited appointment with the possibility of extension pending funding, availability of work, and satisfactory job performance.
This position may be filled at the Senior level ($75,000 to $90,000) or the Intermediate level ($60,000 to $77,000). Starting salary and position are dependent upon the qualifications and experience. The requirements listed below reflect the Senior level, but those with lesser experience are also encouraged to apply.
The University of Michigan School of Information (UMSI) is seeking an enthusiastic and self-motivated Senior Software Developer to play a role in the development and launch of technical services for a proposed new University of Michigan online degree in Applied Data Science. The Master of Applied Data Science degree program provides project-based education for learners from a broad range of backgrounds including the sciences, social sciences, or professional schools. The proposed program is expected to launch in Fall 2019, currently pending approval.
Reporting to the Technical Program Director, the Senior Software Developer will have the opportunity to build next-generation data science educational environments, including customized solutions built on top of Jupyter, Docker, Kubernetes, Python, and more.
- Design, scope, implement, test, and maintain the software infrastructure behind our upcoming large-scale data science degree. Forecasts required time and resources, provides status reports, and follows established methodology. Independently prioritizes the completion of tasks and resolution of issues to ensure compliance to project budget and deliverables. Conducts analyses of and resolves dependency and integration issues across product areas.
- Build scalable novel learning experiences on top of current data science technologies, such as Jupyter notebooks, Docker containers, and Kubernetes
- Work with third parties both within the University of Michigan and with external vendors to enable access to critical operational data in the service of business intelligence and learning analytics.
- Collaborate closely with software developers, user experience designers, learning experience designers, faculty, researchers, third party vendors, and students in service of the degree platform
- Identify and triage features and bugs in the degree platform, working with others to fulfill requirements within project timelines
- Employ a pragmatic approach by understanding the tradeoffs between a perfect solution and a working solution
- Work closely within a team to solve problems, transfer knowledge, and develop software architecture and designs.
- Provides production support including problem analysis and resolution, on-call support. Collaborates with various groups (customers, help desk, technical infrastructure) to identify and resolve application and integration issues.
- Bachelor's degree in a related field, or equivalent combination of education, certification, and experience.
- Minimum of 4 years’ experience in a related role requiring confidentiality, timeliness, customer service, organization, prioritization, troubleshooting, and working independently to successfully install, configure, develop, maintain, and support professional software
- Minimum of 2 years of software solutions architecture experience
- Experience working with Python and an associated web application framework (e.g. Flask, Django)
- Ability to take design specifications and create working, valid HTML and CSS
- Experience working with relational database platforms (e.g. MySQL, PostgreSQL, MariaDB, Oracle)
- Familiarity with using Git and GitHub to develop open source software.
- Hold strong attention to detail and concern for information accuracy
- Strong analytical and problem solving skills
- Ability to work well in both in self-directed and collaborative environments
- Masters degree in a related field
- An interest in and understanding of the field of data science, machine learning, or applied statistics
- Understanding of and experience with software quality methods (e.g. test driven development, continuous integration)
- Demonstrated understanding of data science technologies to be employed in the courses, such as Jupyter notebooks and Docker containers
- Understanding of educational infrastructure standards and APIs, such as IMS LTI and IMS Caliper
Punctual, regular, and consistent attendance is required. May require working during non-business hours and on weekends.
Will require travel to multiple locations on & off campus. Will occasionally require domestic travel.
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 will be performed in compliance with the Fair Credit Reporting Act.
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.