Principal Software Engineer - Online Experience (Remote)

The Home Depot•GEORGIA - VIRTUAL - GA01, TX
•$140,000 - $240,000•Remote

About The Position

The Principal Software Engineer helps shape the architecture for customer-facing experiences on homedepot.com, supporting four product teams in the Online Experiences portfolio: MyAccount Self Service Returns and Modifications, Lists and List Builder AI, Projects, and Pro Account Dashboard. The role sets technical direction across these teams and contributes to software design, development, and the full product lifecycle. The teams use AI throughout the software development lifecycle, and this engineer helps shape effective use of those tools. The position works collaboratively with engineering, Product, and UX teammates, including pairing with colleagues, answering questions from other product teams, and encouraging cross-team collaboration. It creates reusable foundational code, architectural diagrams, and documentation; defines service level objectives; and participates in performance tuning, testing, and production monitoring. The engineer demonstrates expertise in modern software design and development and helps develop the skills of more junior engineers. The role typically reports to a Software Engineer Manager, Sr. Manager, Technology Director, or Sr. Director. Overnight travel is typically less than 10% of the time. Work is performed in a comfortable indoor area, with most time spent sitting and frequent opportunities to move about; rarely, light lifting or moving may be needed.

Requirements

  • Must be at least 18 years of age.
  • Must be legally permitted to work in the United States.
  • Mastery of an object-oriented programming language, preferably Java.
  • Bachelor's degree or equivalent in a field related to the job, or the knowledge, skills, and abilities typically acquired through completion of such a degree program.
  • At least 6 years of work experience.
  • Preferred qualifications include mastery of a modern programming language such as Java, Python, or JavaScript/TypeScript.
  • Preferred qualifications include mastery of a modern web application framework such as Node.js.
  • Preferred qualifications include mastery of SQL queries against a relational database and a version control system, preferably Git.
  • Preferred qualifications include proficiency with modern front-end technologies and frameworks such as HTML, CSS, JavaScript/TypeScript, and ReactJS.
  • Preferred qualifications include proficiency in a Linux or Unix-based environment.
  • Preferred qualifications include proficiency with CI/CD toolchains and safe release practices such as feature flags and phased rollouts.
  • Preferred qualifications include proficiency in test-driven development, unit testing, and end-to-end test automation using modern methodologies and frameworks.
  • Preferred qualifications include proficiency in destructive testing methodologies and tools.
  • Preferred qualifications include proficiency with a cloud computing platform, preferably Google Cloud, and its automation patterns.
  • Preferred qualifications include proficiency in production systems design and defensive coding practices, including high availability, disaster recovery, performance, efficiency, and security.
  • Preferred qualifications include proficiency in modern microservice-based architectures and methodologies, and frameworks such as Spring Boot.
  • Preferred qualifications include proficiency in applying design patterns and using a NoSQL database.
  • Preferred qualifications include proficiency in query optimization and troubleshooting, and data modeling for SQL and NoSQL databases.
  • Preferred qualifications include proficiency in designing and implementing RESTful and GraphQL APIs, including GraphQL services that aggregate data from many upstream services.
  • Preferred qualifications include experience with 12-factor methodology and demonstrating appropriate patterns to more junior team members.
  • Preferred qualifications include experience building or integrating generative AI and LLM-based services, such as agent-based workflows; Vertex AI/Gemini experience is a plus.
  • Preferred qualifications include experience using AI-assisted tools across the product development lifecycle and coaching other engineers to use them effectively.
  • Preferred qualifications include experience with front-end performance optimization, such as bundle size and load time, and production observability and monitoring.

Nice To Haves

  • Mastery of Java, Python, or JavaScript/TypeScript.
  • Mastery of Node.js or another modern web application framework.
  • Mastery of SQL queries and Git.
  • Proficiency with HTML, CSS, JavaScript/TypeScript, and ReactJS.
  • Proficiency with Linux or Unix, CI/CD, and safe release practices.
  • Proficiency in test-driven development, automated testing, and destructive testing.
  • Proficiency with Google Cloud or another cloud computing platform.
  • Proficiency in production systems design, microservices, Spring Boot, design patterns, and NoSQL databases.
  • Proficiency in query optimization, data modeling, and RESTful and GraphQL API design.
  • Experience with 12-factor methodology.
  • Experience building or integrating generative AI and LLM-based services, including agent-based workflows; Vertex AI/Gemini is a plus.
  • Experience with AI-assisted development tools and coaching engineers in their use.
  • Experience in front-end performance optimization, production observability, and monitoring.
  • 6–8 years of experience is listed as a preferred qualification.

Responsibilities

  • Collaborate and pair with UX, engineering, and product management colleagues to create secure, reliable, scalable software solutions.
  • Document, review, and ensure compliance with quality and change control standards.
  • Write custom code or scripts to automate infrastructure, monitoring services, and test cases.
  • Write custom code or scripts for destructive testing to ensure adequate production resiliency.
  • Create dashboards, logging, alerting, and response mechanisms so issues are captured and addressed proactively.
  • Contribute to enterprise-wide tools for destructive testing, automation, or engineering empowerment.
  • Identify client-facing or technical product enhancements that improve the end-user experience.
  • Identify unsecured code areas and implement fixes, with or without tooling.
  • Identify, implement, and share technical solutions that can be used across the organization.
  • Create and architect foundational code elements reusable across a product.
  • Create architecture diagrams and documentation for security reviews and other stakeholders.
  • Define product Service Level Objectives to measure production reliability and help prioritize backlog work.
  • Field questions from other product teams or support teams.
  • Monitor tools and participate in conversations that encourage collaboration across product teams.
  • Provide application support for software running in production.
  • Proactively monitor production Service Level Objectives for products.
  • Work with vendors and the open-source community to identify and implement software product enhancements.
  • Work with other product teams to create API specifications and contracts for shared data.
  • Proactively review production performance and capacity across code, infrastructure, data, and message processing.
  • Triage high-priority issues and outages as they arise.
  • Participate in and lead learning activities on modern software design and development practices, including communities of practice.
  • Learn about technologies and best practices used by other technology organizations through reading, tutorials, and videos.
  • Attend conferences and learn how to apply new technologies where appropriate.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service