EECS Web Software Developer
University of Michigan
Ann Arbor, MI
Job posting number: #7254256
Posted: June 11, 2024
Application Deadline: Open Until Filled
Job Description
SummaryThis position is in a large academic department that teaches thousands of students in computer science, computer engineering, and related fields. Both excellent software development skills and excellent communication skills are essential. This position primarily works on a distributed system for automated testing of student programming projects. In addition, there may be work on other software applications as needed by the department.
Responsibilities*
Manage and support existing infrastructure for testing student programming projects
Add new features to enhance the capabilities of this system
Add software infrastructure for monitoring, self-testing, and diagnosis of this system
Assist programming course instructors with using this system
Write and validate documentation for this system
Upgrade code base as languages, frameworks and libraries evolve
Test new applications and features
Work with instructors to gather requirements for new applications and/or features
Coordinate and integrate work with other developers
Develop and maintain other web based tools to support computer science teaching
Required Qualifications*
Education
B.S. in computer science, or a related field, or an equivalent combination of education and relevant experience.
At least 1 year experience with:
Software design and implementation in a Linux environment
Frontend and backend web development
Software version control systems
Relational databases
Object oriented and functional programming design paradigms
Strong oral and written communication skills in supporting software
Desired Qualifications*
Experience with:
UI/UX design
Frontend web development and reactive web frameworks (JavaScript/Typescript, Vue, React, Angular, HTML, CSS/SCSS, jQuery)
Backend web development: (Python; web applications such as Django; PHP)
Relational databases: (MariaDB, MySQL, PostgreSQL, etc.)
Building REST APIs
Containerized application deployment (e.g., Docker, Docker Swarm, Kubernetes)
Advanced version control with Git