Logo
Domino's Corporate

Application Architect III

Domino's Corporate, Ann Arbor, Michigan, us, 48113

Save Job

Job Description

An Application Architect III has mastered the programming language and core library, including its more complex parts, numerous 3rd party libraries, and the tooling around development, building, debugging, testing, and deploying applications. They understand, at a moderate level, all of the services that make up the system and their inter-relationships and communication patterns. They have a deep understanding of the subset on which they are working and are able to mentor less experienced developers in the design of their code and the larger development ecosystem used within the project. They should have an introductory understanding of architectural design patterns especially as related to distributed systems.

Application architecture requires the development of an exhaustive understanding of the specific problem domains, the larger program context in which the architect is working, and the ability to take a longer-term view of the work in order to evaluate different design options. To accomplish this, the developer will need to deepen their understanding of why first and third party code is designed the way it is and from there begin to understand common, underlying design principles. They will also continue to develop mastery of application architecture design patterns and be able to apply to them to solutions they recommend. They must be able to evaluate patterns against potentially competing objectives such as time-to-implementation, long term maintainability, security, performance, etc. and begin to articulate the various tradeoffs of approaches.

**

Duties **

Software Design/Architecture - 80-90%

Participate in the selection and design of new patterns/libraries/frameworks used within the store systems project

Consider and incorporate concerns such as extensibility, maintainability, security, operations, performance

Produce and apply the initial implementation of the pattern/library/framework

Document for, and teach the use of, the pattern/library/framework

Work with product and architecture teams to understand capabilities, epics, and stories

Provide information on the technical feasibility/impact of choices

Work with individual teams to assist developers in the design of per-story work

Answer conceptual and technical questions

Team Management & Mentoring- 10-20%

Help developers follow established patterns and improve their code by participating in code reviews

Qualifications: Qualifications

5+ yrs experience as a developer working on large, distributed systems

10+ yrs development in any language, 4 most recent years in C# developing server-side applications

Fluent in C#, experience with .Net Standard, .Net Core, and ASP.Net Core

Expert with build, debug, and profiling tools (e.g., Jenkins, MSBuild, Nuget, YourKit, RedGate)

Expert with design methods/patterns (e.g., DRY, SOLID, ReST) and their practical application

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

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.