
Principal Software Engineer
The Home Depot
full-time
Posted on:
Location Type: Remote
Location: Remote • 🇺🇸 United States
Visit company websiteSalary
💰 $140,000 - $240,000 per year
Job Level
Lead
Tech Stack
AngularCloudJavaJavaScriptjQueryLinuxNode.jsNoSQLPythonReactRubyRuby on RailsSpringSQLUnix
About the role
- 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.
- 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.
- 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.
Requirements
- 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)
- 6-8 years of relevant work experience.
- Mastery of a modern scripting language (preferably Python).
- Mastery of a modern web application framework such as Ruby on Rails, Spring MVC, and Node.js.
- Mastery of writing SQL queries against a relational database.
- Mastery of version control systems (preferably Git).
- Proficient in a front-end technology and framework such as HTML, CSS, JavaScript, AngularJS, ReactJS, and JQuery.
- Proficient in a Linux or Unix based environment.
- Proficient in a CI/CD toolchain.
- Proficient in destructive testing methodologies and tools.
- Proficient in a cloud computing platform and the associated automation patterns they provide.
- Proficient in production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security.
- Proficient in defensive coding practices and patterns for high-availability.
- Proficient in modern microservice-based architectures and methodologies.
- Proficient in successful application of design patterns.
- Proficient in test-driven development and effective unit test creation.
- Proficient in a NoSQL database.
- Proficient in query optimization and troubleshooting.
- Proficient in effective data modeling within both SQL and NoSQL databases.
- Experience in working with 12-factor methodology and understanding its benefits, and able to demonstrate appropriate patterns to more junior team members.
- Proficient in designing and implementing RESTful web services.
Benefits
- Health insurance
- 401(k) matching
- Professional development opportunities
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
JavaPythonRuby on RailsSpring MVCNode.jsSQLGitHTMLCSSJavaScript
Soft skills
collaborationcommunicationproblem-solvingleadershipdocumentationproactive monitoringtriagementoringlearninguser experience enhancement