Software Engineer II

  • Full-time
  • Job Category Org: Domino’s Technology
  • Location Name - Location Code: Domino's Pizza LLC-WHQ

Company Description

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.

By clicking the link above or any third-party link within this posting, you are leaving this site and going to a third-party website where the third-party website's terms and privacy policy apply

Privacy NoticeImprint