Software Engineer II
About the role
Domino’s is a purpose-inspired, performance-driven company powered by exceptional people who are committed to feeding the power of possible—one pizza at a time. Founded in 1960 as a single store in Ypsilanti, Michigan, Domino’s has grown into the largest pizza company in the world, with more than 22,300 stores across 90+ markets. Our success is built on the strength of our people, technology, and franchise system. As a leader in innovation, we continue to transform the pizza and QSR industry while creating opportunities for team members to learn, grow and thrive. If you're ready to make an impact, build a meaningful career and help shape what's next, there's a place for you at Domino's.
Job Description
A Software Engineer II is proficient with 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.
Initially a Software Engineer II is expected to be able to develop a medium set of defined, inter-related modules, 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 principles and practices that cut across all the applications.
The goals of a Software Engineer II are:
Develop an understanding of why some libraries, frameworks, and tooling are designed the way they are: what tradeoffs 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.
Or, more succinctly, the Software Engineer II is gaining the ability to determine why things are done in a particular way and apply that knowledge to new situations.
General Responsibilities
Development - 90%
Produces estimates for their assigned tasks given well defined business requirements
Produces quality code that meets internal and industry standards
Promotes reusability within the application they are developing
Writes performant code according to industry standards and project/organizational KPIs
Understands business concepts in their area of focus
Writes clear documentation to ensure code is understandable to provide wider focus and understanding into design decisions
Provides input into designs for assigned tasks
Translates designs into code for their assigned tasks
Understands build/deployment processes and can support moving their code and any other changes (ex: database) through these phases.
Creates build/deployment artifacts as needed
Supports production systems through troubleshooting/triaging issues and providing on-call support where needed
Mentoring - 10%
Participates in PR reviews with others on their team
Provides feedback by answering questions from newer developers
Qualifications
Basic understanding of design methods/patterns such as DRY, SOLID, ReST
Excellent team player with good communication skills with both non-technical & technical co-workers
Highly motivated and driven by a desire to solve difficult problems, and learn new technology
Proficient in writing quality unit tests
Proficient with build and debug tools
Experience with profiling tools
Experience with continuous integration systems like Jenkins/GitHub and version control systems like Git
Experience with development of internationalized software (multi-lingual, multi-currency, geographic, and locale awareness)
Experience with agile practices and tools preferred (Jira or similar)
Experience with database concepts (queries, data models)
Understanding of development in a distributed system is preferred
Understanding of basic networking concepts like http protocol and its usage is preferred
Native App Qualifications
5+ years overall development experience using an object oriented language
Proficient in Kotlin and/or Swift
Demonstrable proficency with XCode and/or Android Studio
Demonstrable experience with Java and/or Objective-C.
Demonstrable experience consuming Restful JSON web services
Demonstrable experience with Agile development and unit testing.
Demonstrable experience with push notifications, location services.
Experience with various architecture patterns like MVC, MVVM, VIPER, or similar
Experience with accessibility frameworks
Experience with analytics frameworks such as Firebase, Adobe, or similar
Experience builds tools like Gradle and Fastlane
Knowledge of submitting and publishing applications through app store
Additional Information
Benefits:
Paid Holidays and Vacation
Medical, Dental & Vision benefits that start on the first day of employment
No-cost mental health support for employee and dependents
Childcare tuition discounts
No-cost fitness, nutrition, and wellness programs
Fertility benefits
Adoption assistance
401k matching contributions
15% off the purchase price of stock
Company bonus
All your information will be kept confidential according to EEO guidelines.
Responsibilities
- Produces estimates for assigned tasks given well defined business requirements
- Produces quality code that meets internal and industry standards
- Promotes reusability within the application
- Writes performant code according to industry standards
- Writes clear documentation to ensure code is understandable
- Provides input into designs for assigned tasks
- Translates designs into code for assigned tasks
- Supports production systems through troubleshooting and on-call support
Qualifications
- Basic understanding of design methods/patterns such as DRY, SOLID, ReST
- Excellent team player with good communication skills
- Highly motivated and driven by a desire to solve difficult problems
- Proficient in writing quality unit tests
- Experience with continuous integration systems like Jenkins/GitHub
- Experience with agile practices and tools preferred
- Experience with database concepts
Benefits
- Paid Holidays and Vacation
- Medical, Dental & Vision benefits that start on the first day of employment
- No-cost mental health support for employee and dependents
- Childcare tuition discounts
- No-cost fitness, nutrition, and wellness programs
- Fertility benefits
- Adoption assistance
- 401k matching contributions
- 15% off the purchase price of stock
- Company bonus
Skills mentioned
About Domino's
Domino’s is a purpose-inspired, performance-driven company powered by exceptional people who are committed to feeding the power of possible—one pizza at a time. Founded in 1960 with a single store in Ypsilanti, Michigan, Domino’s has grown into one of the most recognized and leading pizza brands in the world. Today, we rank among the top public restaurant brands globally, with more than 21,700 stores across 90+ markets. Our system is built on the strength of independent franchise owners, who operate 99% of Domino’s stores worldwide. Together, we’ve pioneered innovations that have transformed the pizza and delivery industries, setting new standards for convenience, quality, and customer experience. We are committed to safely and responsibly serving our customers and giving back in the communities where we live and work. Interested in joining the largest pizza company in the world? Domino’s offers a variety of incredible opportunities—from store-level roles to supply chain positions to corporate careers. We are an opportunity company, committed to helping our team members grow, thrive, and achieve their goals. Browse U.S. career opportunities at jobs.dominos.com.