Home Depot STAFF SOFTWARE ENGINEER- FullStack in Atlanta, Georgia

POSITION PURPOSE

The Staff Software Engineer is responsible for joining a product team and contributing to the software design, software development, and overall product lifecycle for a product that our users love. The engineering process is highly collaborative. Staff Software Engineers are expected to pair on a daily basis as they work through user stories and support products as they evolve.

Staff Software Engineers contribute to foundational code elements that can be reused as well as architectural diagrams and other product-related documentation. In addition, Staff Software Engineers may be involved in product configuration, performance tuning and testing as well as production monitoring.

As a Staff Software Engineer, you will be a core player on the product team and are expected to build and grow the skillsets of the more junior Engineers.

MAJOR TASKS, RESPONSIBILITES AND KEY ACCOUNTABILITIES

70% - Delivery & Execution:

Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions

Writes custom code or scripts to automate infrastructure, monitoring services, and test cases

Writes custom code or scripts to do "destructive testing" to ensure adequate resiliency in production

Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively

Contributes to enterprise-wide tools to drive destructive testing, automation, or engineering empowerment

Identifies product enhancements (client-facing or technical) to create a better experience for the end users

Identifies unsecured code areas and implements fixes as they are discovered with or without tooling

Contributes to foundational code elements that can be reused many times by a product

Contributes to meaningful architecture diagrams and other documentation needed for security reviews or other interested parties

Defines Service Level Objectives for product(s) to constantly measure their reliability in production and help prioritize backlog work

20% - Support & Enablement:

Fields questions from other product teams or support teams

Monitors tools and participates in conversations to encourage collaboration across product teams

Provides application support for software running in production

Proactively monitors production Service Level Objectives for product(s)

Proactively reviews the Performance and Capacity of all aspects of production: code, infrastructure, data, and message processing

Triages high priority issues and outages as they arise

10% - Learning:

Participates in and leads learning activities around modern software design and development core practices (communities of practice)

Proactively views articles, tutorials, and videos to learn about new technologies and best practices being used within other technology organizations

Attends conferences and learns how to apply new technologies where appropriate

NATURE AND SCOPE

Typically reports to the Software Engineer Manager or Sr. Manager.

ENVIRONMENTAL JOB REQUIREMENTS

Environment:

Located in a comfortable indoor area. Any unpleasant conditions would be infrequent and not objectionable.

Travel:

Typically requires overnight travel less than 10% of the time.

Additional Environmental Job Requirements: MINIMUM QUALIFICATIONS

Must be eighteen years of age or older.

Must be legally permitted to work in the United States.

Additional Minimum Qualifications:

Proficient in an object oriented programming language (preferably Java)

Must be legally permitted to work in the United States

Education Required:

The knowledge, skills and abilities typically acquired through the completion of a bachelor's degree program or equivalent degree in a field of study related to the job.

Years of Relevant Work Experience: 3 years

Physical Requirements:

Most of the time is spent sitting in a comfortable position and there is frequent opportunity to move about. On rare occasions there may be a need to move or lift light articles.

Additional Qualifications:

Preferred Qualifications:

3-6 years of relevant work experience

Proficient in a modern scripting language (preferably Python)

Proficient in a modern web application framework such as Ruby on Rails, Spring MVC, and Node.js

Proficient in writing SQL queries against a relational database

Proficient in a version control system (preferably Git)

Experience in a front-end technology and framework such as HTML, CSS, JavaScript, AngularJS, ReactJS, and JQuery

Experience in a Linux or Unix based environment

Experience in a CI/CD toolchain

Experience in destructive testing methodologies and tools

Experience in a cloud computing platform and the associated automation patterns they provide

Experience in production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security

Experience in defensive coding practices and patterns for high-availability

Experience in modern microservice-based architectures and methodologies

Experience in successful application of design patterns

Experience in test-driven development and effective unit test creation

Experience in a NoSQL database

Experience in query optimization and troubleshooting

Experience in effective data modeling within both SQL and NoSQL databases

Understanding of 12-factor methodology and its benefits, and able to demonstrate appropriate patterns to more junior team members

Understanding of REST and effective web service design

Knowledge, Skills, Abilities and Competencies:Cultivates Innovation: Creating new and better ways for the organization to be successful

Action Oriented: Taking on new opportunities and tough challenges with a sense of urgency, high energy and enthusiasm

Business Insight: Applying knowledge of business and the marketplace to advance the organization s goals

Collaborates: Building partnerships and working collaboratively with others to meet shared objectives

Communicates Effectively: Developing and delivering multi-mode communications that convey a clear understanding of the unique needs of different audiences

Drives Results: Consistently achieving results, even under tough circumstances

Global Perspective: Taking a broad view when approaching issues; using a global lens

Interpersonal Savvy: Relating openly and comfortably with diverse groups of people

Manages Ambiguity: Operating effectively, even when things are not certain or the way forward is not clear

Optimizes Work Processes: Knowing the most effective and efficient processes to get things done, with a focus on continuous improvement

Self-Development: Actively seeking new ways to grow and be challenged using both formal and informal development channels

Situational Adaptability: Adapting approach and demeanor in real time to match the shifting demands of different situations

We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.