Contractors’ Warehouse —
Software Engineer Principal, Machine Learning (Remote)
Location – Atlanta, GA
Job ID – Req124612
Category – Technology
Apply By – Applications are accepted on an ongoing basis
Location – Atlanta, GA
Job ID – Req124612
Category – Technology
Apply By – Applications are accepted on an ongoing basis
Company Overview
What’s the best place we’ve ever built? The place where we work. At Home Depot, our goal is to provide the highest level of service, the broadest selection of products, and the most competitive prices. As the world’s largest home improvement specialty retailer, we operate more than 2,200 retail stores across North America. And each of our associates are focused one thing — helping our customers build and improve their homes, businesses, and ultimately their lives.
Pay Range
The pay range for this position is between $140,000.00 – $240,000.00.
Starting wage may vary based on a number of factors including, but not limited to, the position being offered, location, education, training, and/or experience. The Home Depot offers additional competitive and non-financial benefits, which may include a performance-based bonus program or a profit sharing program depending on position.
Position Purpose:
The Software Engineer Principal specializing in Machine Learning is responsible for joining a product team and contributing to the software design, algorithm design, and overall product lifecycle for a product that our users love. The engineering process is highly collaborative. In addition to pairing, Software Engineer Principals field questions from other product teams and encourage cross-team collaboration. They also play an active role working with 3rd party vendors as well as the open-source community.
Software Engineer Principals create foundational code elements that can be reused as well as architectural diagrams and other product-related documentation. They also define service level objectives for products. In addition, Software Engineer Principals may be involved in product configuration, performance tuning and testing as well as production monitoring.
As a Software Engineer Principal, you will be an extremely knowledgeable Engineer on the product team and are expected to build and grow the skillsets of the more junior engineers. There is also an expectation that the Software Engineer Principal will demonstrate expertise around modern software design and development.
Key Responsibilities:
- 70% Delivery & Execution
- Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
- Documents, reviews and ensures that all quality and change control standards are met
- 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
- Identifies, implements, and shares technical solutions that can be used across the organization
- Creates and architects foundational code elements that can be reused many times by a product
- Creates meaningful architecture diagrams and other documentation needed for security reviews or other interested parties
- Defines Service Level Objectives for product 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 products
- Works with vendors and the open-source community to help identify and implement feature enhancements in software products
- Works with other product teams to create API specifications and contracts for shared data
- 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)
- Learns, through reading, tutorials, and videos, new technologies and best practices being used within other technology organizations
- Attends conferences and learns how to apply new technologies where appropriate
Direct Manager/Direct Reports:
- Typically reports to the Software Engineer Manager or Sr. Manager, Technology Director or Sr. Director.
Travel Requirements:
- Typically requires overnight travel less than 10% of the time.
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.
Working Conditions:
- Located in a comfortable indoor area. Any unpleasant conditions would be infrequent and not objectionable.
Minimum Qualifications:
- Must be eighteen years of age or older.
- Must be legally permitted to work in the United States.
- Mastery of an object oriented programming language (preferably Java)
- Must be legally permitted to work in the United States
Preferred Qualifications:
- 6-8 years of relevant work experience
- Expertise in ML development and ML ops lifecycle
- Experience working with multiple leading ML models
- Experience tracking key metrics for ML performance
- Experience with architectural patterns to employ AI models
- Performance tuning applications that leverage ML models
- Capable of understanding complicated systems quickly
- Experience in algorithms such as clustering, forecasting, anomaly detection, and neural networks.
- Experience in basic statistics and regression algorithms
- Experience in embeddings generation and utilization
- Experience in training machine learning models with extremely large datasets
- Experience with Data Analysis and Machine Learning Tools and Libraries like Jupyter Notebooks, Pandas, SciPy, Scikit-learn, Gensim, tensorflow, pytorch, etc.
- Experience with GPU acceleration (i.e. CUDA and cuDNN)
- Experience in Google Cloud Platform and AI/ML related components such as Vertex AI, BigQueryML, and AutoML
- Experience in effective data engineering practices and big data platforms such as BigQuery, Data Store, etc
- Familiarity with Generative AI models and techniques to leverage them in multi-modal contexts
Minimum Education:
- 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.
Preferred Education:
- No additional education
Minimum Years of Work Experience:
- 6
Preferred Years of Work Experience:
- No additional years of experience
Minimum Leadership Experience:
- None
Preferred Leadership Experience:
- None
Certifications:
- None
Competencies:
- 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
- Cultivates Innovation: Creating new and better ways for the organization to be successful
- 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
- Manages Complexity: Making sense of complex, high quantity, and sometimes contradictory information to effectively solve problems
- Nimble Learning: Actively learning through experimentation when tackling new problems, using both successes and failures as learning fodder
- 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
Location – Atlanta, GA
Job ID – Req124612
Category – Technology
Apply By – Applications are accepted on an ongoing basis
Role Overview
Position Purpose:
The Software Engineer Principal specializing in Machine Learning is responsible for joining a product team and contributing to the software design, algorithm design, and overall product lifecycle for a product that our users love. The engineering process is highly collaborative. In addition to pairing, Software Engineer Principals field questions from other product teams and encourage cross-team collaboration. They also play an active role working with 3rd party vendors as well as the open-source community.
Software Engineer Principals create foundational code elements that can be reused as well as architectural diagrams and other product-related documentation. They also define service level objectives for products. In addition, Software Engineer Principals may be involved in product configuration, performance tuning and testing as well as production monitoring.
As a Software Engineer Principal, you will be an extremely knowledgeable Engineer on the product team and are expected to build and grow the skillsets of the more junior engineers. There is also an expectation that the Software Engineer Principal will demonstrate expertise around modern software design and development.
Key Responsibilities:
- 70% Delivery & Execution
- Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
- Documents, reviews and ensures that all quality and change control standards are met
- 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
- Identifies, implements, and shares technical solutions that can be used across the organization
- Creates and architects foundational code elements that can be reused many times by a product
- Creates meaningful architecture diagrams and other documentation needed for security reviews or other interested parties
- Defines Service Level Objectives for product 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 products
- Works with vendors and the open-source community to help identify and implement feature enhancements in software products
- Works with other product teams to create API specifications and contracts for shared data
- 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)
- Learns, through reading, tutorials, and videos, new technologies and best practices being used within other technology organizations
- Attends conferences and learns how to apply new technologies where appropriate
Direct Manager/Direct Reports:
- Typically reports to the Software Engineer Manager or Sr. Manager, Technology Director or Sr. Director.
Travel Requirements:
- Typically requires overnight travel less than 10% of the time.
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.
Working Conditions:
- Located in a comfortable indoor area. Any unpleasant conditions would be infrequent and not objectionable.
Minimum Qualifications:
- Must be eighteen years of age or older.
- Must be legally permitted to work in the United States.
- Mastery of an object oriented programming language (preferably Java)
- Must be legally permitted to work in the United States
Preferred Qualifications:
- 6-8 years of relevant work experience
- Expertise in ML development and ML ops lifecycle
- Experience working with multiple leading ML models
- Experience tracking key metrics for ML performance
- Experience with architectural patterns to employ AI models
- Performance tuning applications that leverage ML models
- Capable of understanding complicated systems quickly
- Experience in algorithms such as clustering, forecasting, anomaly detection, and neural networks.
- Experience in basic statistics and regression algorithms
- Experience in embeddings generation and utilization
- Experience in training machine learning models with extremely large datasets
- Experience with Data Analysis and Machine Learning Tools and Libraries like Jupyter Notebooks, Pandas, SciPy, Scikit-learn, Gensim, tensorflow, pytorch, etc.
- Experience with GPU acceleration (i.e. CUDA and cuDNN)
- Experience in Google Cloud Platform and AI/ML related components such as Vertex AI, BigQueryML, and AutoML
- Experience in effective data engineering practices and big data platforms such as BigQuery, Data Store, etc
- Familiarity with Generative AI models and techniques to leverage them in multi-modal contexts
Minimum Education:
- 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.
Preferred Education:
- No additional education
Minimum Years of Work Experience:
- 6
Preferred Years of Work Experience:
- No additional years of experience
Minimum Leadership Experience:
- None
Preferred Leadership Experience:
- None
Certifications:
- None
Competencies:
- 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
- Cultivates Innovation: Creating new and better ways for the organization to be successful
- 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
- Manages Complexity: Making sense of complex, high quantity, and sometimes contradictory information to effectively solve problems
- Nimble Learning: Actively learning through experimentation when tackling new problems, using both successes and failures as learning fodder
- 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
Learn more about our 4 different work locations. Additional information will be provided during the application process.
As part of the application process for this role, there will be an on-line assessment. The assessment usually takes about 17 minutes to complete. You will be directed to the assessment link immediately after submitting your application. Once you click on the link, you will need to complete it within 72 hours after starting it. You may stop and restart the assessment as many times as you like within the 72-hour time frame.
During the assessment, we’ll ask you questions about your approach to work and various work-related situations. The questions are based on characteristics that are related to performing successfully in hourly roles at The Home Depot, including:
- Professional Experience
- Learning Potential
- Responsibility
- Customer Focus
If you have a disability and would like to request an accommodation related to the assessment, or you would like to obtain more information about the assessment, click here to learn more.
Store Location
GA01
VIRTUAL
Atlanta, GA
Once you’ve applied, please come back and apply for other jobs at this store and any store near you.
Explore Technology
DISCOVER WHAT’S NEXT
Search for your next role by location, job title or keyword. Your next opportunity may be closer than you think.