Sr. Software Engineer - .NET DevelopmentLocation Phoenix, Arizona ID IT-18-6406 Apply Now
Who we are:
Headquartered in Phoenix, AZ, PetSmart is an emerging software development company that creates software to manage, reserve and book services in our retail stores across United States, Canada and Puerto Rico.We’re growing at a faster pace than we ever have before, investing heavily in cutting-edge technology and, more importantly, our people. PetSmart can enhance your skills in an environment that emphasizes creativity, sharing, teamwork, professionalism, and outstanding quality software. You will work alongside some of the most talented professionals as they work to provide exceptional solutions to the many challenges our business and retail stores face. If you are bright, driven, enjoy working with the latest technologies and have the right blend of business acumen, technically savvy and customer-facing skills then this opportunity is for you. If you are willing to work hard, looking for a place to learn and grow, and have the skills we would like to hear from you.
Why you’ll love it here:
Our home office offers outstanding amenities in a fun and rewarding workplace including:
- Pet friendly environment, bring your pets to work!
- A work-life balance and family events such as movie nights, art events and holiday festivals
- “Top Dog” gym with equipment, fitness classes, massage therapists and personal trainers
- “Sit & Stay” Café serving fresh breakfast and lunch options
- Starbucks cart—productivity at its finest!
- “Lil’ Paws” learning center and onsite childcare facility
- Volunteer events with PetSmart Charities
The cool stuff you do:
- Go-to expert in one area of the codebase; understands the broad software architecture of the entire system.
- Demonstrates knowledge of industry trends, our infrastructure and our build system, including Visual Studio, Jenkins, and Git.
- Internal or external certifications in one or more PetSmart core technologies.
- Thinks at the enterprise level for reliability, scalability, maintainability, extensibility, portability, and security.
- Takes the initiative to fix issues before being assigned them. Seeks empirical evidence through proof of concepts, tests and external research.
- Delivers complex products to QA that they believe are well-baked and bug-free.
- End-to-end responsibility on projects of increasing complexity; contributes to common code.
- Regularly delivers software on-time and is constantly working to make accurate estimates and deliver on those estimates.
- Understands the business supported by their system/project or the system/project they support.
- Possesses empathy with the user of the software they are producing and uses that empathy to guide decision-making.
- Identifies problems/risks of own work and others.
- Communicates technical decisions through design docs, tech talks, and the wiki.
- Identifies and proactively tackles technical debt before it grows into debt that requires significant up-front work to resolve
- Proactively identifies problems with requirements (lack of clarity, inconsistencies, technical limitations) for their own work and adjacent work, and communicates these issues early to help course-correct.
- Mentors junior engineers via pairing, design review, and code review. Contributes frequently to sprint demos reviews and retrospectives.
- Demonstrates the ability to lead a software engineering team.
Your education and experience:
- Bachelor’s Degree in Computer Science, or related field, from a four-year college or university, or one to two years related experience and/or training; or equivalent combination of education and experience. Relevant industry certification, such as MCSA or MCSE, is preferred.
- A minimum of 6-9+ years relevant experience in software development, information systems, or equivalent technical environment, including previous experience in the development of highly transactional, mission critical applications in heterogeneous environments/architectures for multi-user systems.
You are awesome at:
Expert level proficiency with the following technologies:
- Expert understanding of C# (6+ years).
- Expert on service oriented designs and technologies (AJAX, XML/JSON). RESTful technologies and webservices a must.
- Expert understanding of MS SQL
- Ability to create and alter schemas
- Ability to trouble shoot and understand stored procedures
- Good understanding of .NET core.
- Understands API management and configuration.
- Good understanding Azure cloud technologies and services.
- Good understanding of PAAS hosted APIs
- Entity Framework to interact with data sources. ADO layer experience and Entity data modeling a plus.
- Understands design patterns, specifically Dependency Injection.
- SQL/NoSQL and specific to JSON document database technologies. DynamoDB or CosmosDB (DocumentDB).
- Version control such as Git and code review type tools such as GitHub and GitFlow.
- Continuous Integration/Delivery toolkits such as Jenkins/Puppet
- Can understand TDD and can add Unit testing to make full code coverage.
- Excellent knowledge of all aspects of the software development lifecycle: design, functional and technical requirements, coding, debugging, testing, release, and operational support.
- Excellent knowledge of agile software development methodologies, Service Oriented Architecture and object-oriented programming methodologies.
- Excellent knowledge of software development best practices, including coding standards, code reviews, source control management, build processes, testing, and operations.
- Excellent knowledge of relational database management system technologies and tools.
- Exceptional verbal, written and listening communication skills.
- Exceptional interpersonal skills and demeanor.
- Proficient in the use of MS Office suite including Visio.
You get cool points at:
- Expert NET core a major plus!
- Has a ton of middleware to backend tier development experience!
- Loves animals and can empathize with the customers shopping at PetSmart.