Application Developer Intermediate
Ann Arbor, MI
Job posting number: #7151325
Posted: May 31, 2023
Application Deadline: Open Until Filled
Information and Technology Services (ITS) organization at the University of Michigan has a great opportunity for an Application Developer in the Enterprise Application Services (EAS) Web/Mobile Application Development team. We are seeking a passionate developer to be part of a diverse team and join a collaborative effort between ITS and Center for Academic Innovation (CAI).
The developer selected for this position will play a critical role in advancing and exploring the cutting-edge of software innovation at the University of Michigan. They will operate across a wide range of exciting projects and technologies with a focus on leveraging dedicated development cycles to target the initialization, improvement and iteration needed to advance high-priority software innovations.
Developers on our teamwork with modern web application frameworks, including Django and Ruby on Rails, as well as frontend tools such as VueJS, our teams feature developers such as yourself, along with User Experience Designers and Behavioral Scientists, and other software specialists, to build and evolve high impact tools to support learners of many disciplines.
In this role, you will have the opportunity to work in a fast-paced environment, in an open collaborative workspace, and make an impact on the lives of students, faculty & staff.
Who We Are
Information and Technology Services (ITS) supports U-M faculty, researchers, staff, and students in their use of technology to teach, learn, research, and work, and be leaders in their fields. We are dedicated to creating cohesive digital experiences and promoting university wide innovations. ITS's mission is to be trusted enablers of technology for the U-M community. ITS works together to provide cohesive digital experiences and seamless support to the U-M community. For more information about ITS, visit: https://its.umich.edu/about
The Center for Academic Innovation’s (CAI) Educational Technology team has successfully designed and developed several software tools that benefit the University and learners globally. Tools such as ECoach (https://ai.umich.edu/software-applications/ecoach/), Tandem (https://ai.umich.edu/software-applications/tandem/), and ProblemRoulette (https://ai.umich.edu/software-applications/problem-roulette/) support student learning and achievement, and support faculty teaching and student support. Atlas (https://ai.umich.edu/software-applications/atlas/) is used by over 90% of the undergraduate student body to help them plan their academic career using data collected directly from students.
Collaboration between CAI and ITS is critical to the short term and long-term success of many of these projects. Developers on both teams can work together to learn skills that are used in modern Web development, as well as build integrations with enterprise infrastructure to ensure that these high quality, high value, high volume applications remain useful and relevant to learners.
Actively coordinates with team members and service support groups to effectively resolve incidents, requests, fixes, and minor enhancements. Assignments include but are not limited to, development, automation, CI/CD, installation, configuration, customization, troubleshooting, upgrades, integration, and maintenance of systems. Monitors applications and other systems for availability, error conditions, performance, and otherwise ensures services are fully operational.
Participates on service enhancement projects by identifying and quantifying customer requirements, delineating the gaps between customer requirements and the capabilities of existing technology and resources, and recommending proactive improvements. Analyzes business requirements and develops designs to meet requirements. Collaborates with users, customers, and business analysts to review modification requests, define programming needs, and develop code and solutions that balance requirements and risk, maintainability, and impact. Programming solutions include modifications/additions to existing code to meet new and pre-existing requirements.
Provides accurate time estimates for tasks, identifies impacted teams, and notifies management of potential risks and issues.
Proactively seeks information and utilizes analytical and creative problem-solving skills along with standard processes and technologies resulting in secure and reliable connections to and use of systems, applications, and infrastructure.
Demonstrates relationship building, effective communication skills, and quality service in the process of collaborating with, supporting, advising, and educating customers and team members on the use of services, handling of sensitive data, and resolving incidents, resulting in efficient, effective, and compliant use of software and services. Uses active listening and frequent communication with team members, customers, and vendors, resulting in understanding quality improvement needs, creating buy-in for enhancements, and collaboration with staff.
Demonstrates skill development by actively participating in growth opportunities for continuous development and improvement and applying new skills/knowledge to the job as evident by the ability to perform assigned duties efficiently and effectively, resulting in meeting or exceeding customer expectations and performance metrics.
Demonstrates effective communication skills when providing training and mentoring to less experienced staff, resulting in staff and teams using and implementing the latest policies, procedures, and best practices to accomplish tasks.
Bachelor’s degree in Computer Science, Computer Engineering or a related field and minimum of two years of professional software development experience, or an equivalent combination of education and relevant experience
Experience working in a cross-functional product team
Experience developing and deploying applications at scale
Experience working with Python or Ruby and an associated web application framework (e.g. Flask/Django or Rails)
Experience working with relational database platforms (e.g.: MySQL, PostgreSQL or Oracle)
Hold strong attention to detail and concern for information accuracy
Strong analytical and problem-solving skills
Ability to work well in a multicultural and collaborative environment
Experience with container (Docker) and CI/CD
Experience with cloud platform (AWS/GCP/Azure)
Experience with NodeJS, Bootstrap, Angular
Experience in full life cycle software development using Agile practice
Demonstrated experience with JSON/XML
Experience with Java (Spring Boot/Tomcat)