Software Engineer II

Domino's Pizza Inc
  • Ann Arbor, MI
    5 days ago

    Job Description

    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 youre ready to make an impact, build a meaningful career and help shape whats next, theres a place for you at Dominos.

    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.

    Numbers & Facts

    LocationAnn Arbor, MI

    Skills

    • Adobe Product Familyunmatched
    • Agile Programming Methodologiesunmatched
    • Androidunmatched
    • Apple Xcodeunmatched
    • Atlassian JIRAunmatched
    • Childcareunmatched
    • Code Reviewsunmatched
    • Communication Skillsunmatched
    • Continuous Integrationunmatched
    • Data Modelingunmatched
    • Database Technologyunmatched
    • Debugging Toolsunmatched
    • Design Patterns Programming Methodologiesunmatched
    • Distributed Computingunmatched
    • Documentationunmatched
    • Environmental Issuesunmatched
    • Fitnessunmatched
    • Gitunmatched
    • GitHubunmatched
    • Gradleunmatched
    • HTTP (HyperText Transport Protocol)unmatched
    • Identify Issuesunmatched
    • Industry Standardsunmatched
    • JSONunmatched
    • Javaunmatched
    • Jenkinsunmatched
    • Kotlinunmatched
    • Machine Toolunmatched
    • Model View Controllerunmatched
    • Model View ViewModel (MVVM)unmatched
    • Multilingualunmatched
    • Nutritionunmatched
    • Object Oriented Programming (OOP) Languagesunmatched
    • Objective-C Programming Languageunmatched
    • On Callunmatched
    • Performance Metricsunmatched
    • Problem Solving Skillsunmatched
    • Production Supportunmatched
    • Production Systemsunmatched
    • Programming Languagesunmatched
    • Public/Media/Press/Analyst Relationsunmatched
    • Quality System Requirements (QSR)unmatched
    • REST (Representational State Transfer)unmatched
    • Requirements Managementunmatched
    • Software Developmentunmatched
    • Software Engineeringunmatched
    • Software Internationalizationunmatched
    • Source Code/Configuration Management (SCM)unmatched
    • Team Playerunmatched
    • Test Plan/Scheduleunmatched
    • Tuition Feesunmatched
    • Unit Testunmatched
    • Web Servicesunmatched

    Be found by employers

    5,500+ employers search our resume database daily. Add yours to get found by recruiters looking for candidates like you.

    Level up your application

    Professional resume templates

    Browse dozens of recruiter approved resume templates, layouts and formats. Choose your favorite and make it your own in minutes.

    Free resume templates

    Free resume builder

    Improve your existing resume or start from scratch and create a standout, ATS-friendly resume. Add job-specific content, download and apply.

    Free resume builder