Web Developer II
Domino’s Pizza, which began in 1960 as a single store location in Ypsilanti, MI, has had a lot to celebrate lately: we’re a reshaped, reenergized brand of honesty, transparency and accountability – not to mention, great food! In the rise to becoming a true technology leader, the brand is now consistently one of the top five companies in online transactions and 65% of our sales in the U.S. are taken through digital channels. The brand continues to ‘deliver the dream’ to local business owners, 90% of which started as delivery drivers and pizza makers in our stores. That’s just the tip of the iceberg…or as we might say, one “slice” of the pie! If this sounds like a brand you’d like to be a part of, consider joining our team!
Detalles del Trabajo
A Web Developer II has mastered the most-often used features of the programming language, its core library, commonly used 3rd party libraries, and commonly used code management and build tooling. They are able to mentor less experienced developers in the team's practices and idioms, including the reason behind them, as well as provide meaningful commentary on the implementation of the developer's code.
Initially a Dev II is expected to be able to develop a medium set of defined, inter-related classes, articulate why the code and application they are working on are designed the way they are, and be able to provide some instructive feedback to newer developers through code reviews and in-person Q&A. As they progress, they should be able to implement smaller subsystems independently, begin to design small portions of the systems, and begin to understand the design principals and practices that cut across all the applications.
The goal the Dev is to:
Develop an understanding of why some libraries, frameworks, and tooling are designed the way they are: what trade offs were made? why might the developer have done that? Through this work, develop an understanding of the practical use of design patterns.
Begin to understand some of the externalities associated with running an application: performance, security, operations, monitoring, etc.
Be able to troubleshoot application, infrastructure, and environment issues
Gain the ability to determine why things are done in a particular way and apply that knowledge to new situations.
Development - 90%
- Write, test, and bug-fix performant applications with a special emphasis on stability and long-term supportability.
- Write clear, developer-focused documentation for your code and the app as a whole.
- Develop good, comprehensive, automated functional tests.
- Participate in the prototyping of new ideas, concepts, and designs
- Work with business analysts, other developers, and project management to estimate and provide updates on tasks.
Mentoring - 10%
- Review code and provide feedback to developers on ways to improve code quality, clarity, and performance.
- Review tests and provide feedback on ways to improve general code coverage, positive and negative test cases, and data management.
- Instruct developers in group standards and practices.
- Describe and instruct developers in the team's build, test, and deployment infrastructure.
- Experience building responsive web and mobile applications using modern frameworks such React, Backbone, Angular.
- Experience with single-page apps preferred.
- Experience with front-end build, debug, and profiling tools (e.g., webpack, Grunt, Chrome Developer Tools)
- Understanding some design methods/patterns such as DRY, SOLID, ReST
- Excellent team player with good communication skills with both non-technical & technical coworkers
- Highly motivated and driven by a desire to solve difficult problems, and learn new technology
All your information will be kept confidential according to EEO guidelines.