Software Engineer III
Job Description
- Location: Dominos World Resource Center; 30 Frank Lloyd Wright Dr Ann Arbor MI 48105 (Onsite Monday- Thursday Remote/Flex on Friday)
The Dominos Pizza Technology team in Ann Arbor MI is seeking a Software Engineer III that is proficient in .Net development that consistently writes high quality code
A Software Engineer III is expected to consistently write high quality code of a medium to high complexity in a timely manner. This includes accounting for things like performance maintainability and security. In addition its expected that they are proficient in all the standards practices guidelines and idioms of the team and apply them as they are coding.
In this role you will:
Spend 80% of your time developing
- Providing input to the definition of organizational coding standards
- Producing estimates for their assigned tasks and participating in estimation for larger initiatives including up front project planning
- Produce performant code with a special emphasis on stability and long-term supportability
- Promote reusability of code with an eye for opportunities of reuse across teams/systems
- Produces code that is adequately unit tested and meets requirements for system/integration testing
- Be responsible for documentation of code and external documentation of a system or project
- Participate in designing entire components and interaction between components
- Support project management team in decomposing business requirements into individual tasks
- Developing a deep understanding of libraries and common components (frameworks)
- Be a key reviewer of PRs for their project team
- Participate in the initial implementation of new patterns
- Be first line developer support for production systems - troubleshooting/triage
Spend 20% of your time Mentoring
- Support developers by answering team members conceptual and technical questions
- Help developers improve the maintainability performance and security of their code through code reviews
- Provide dedicated mentorship to new or inexperienced members of the team (ex: rotational candidates new employees or new members of a team)
Qualifications :
Net Qualifications
- 5 yrs experience as a developer working on large distributed systems
- 8 yrs development in any language 4 most recent years in C# developing server-side applications
- Fluent in C# experience with current .Net technologies (ex: .Net Standard .Net Core .Net 5 )
- Proficient with async programming (e.g. async/await)
General Qualifications
- Proficient 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
- Expert in writing quality unit tests along with build and debug tools
- Proficient with profiling tools
- Experience with continuous integration systems like Jenkins
- Experience with international software development (multi-lingual multi-currency geographic and locale awareness)
- Proficient in MacOS Unix and Linux
- Experience with Docker or equivalent container technology is preferred
- Experience with agile practices and tools preferred (Jira or similar)
- Experience with database concepts (queries data models)
- Understanding of development in a distributed system
- Understanding of core networking concepts like http protocol and its usage
Additional Information :
All your information will be kept confidential according to EEO guidelines.
Remote Work :
No
Employment Type :
Full-time