Principal Software Engineer, Enterprise Data Engineering (REMOTE)

Other Jobs To Apply

No other job posts for this day.

Position Purpose:

The Software Engineer Principal 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. 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 in 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 the product to constantly measure their reliability in production and help prioritize backlog work
  • 20% Support & Enablement:
  • Field 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
  • 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 a version control system (preferably Git)
  • Proficient in front-end technologies and frameworks 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 it provides
  • 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 the 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


Minimum Education:

  • The knowledge, skills, and abilities are 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 solve problems effectively
  • 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

Benefits offered include healthcare benefits, a 401 (k) plan, ESPP, paid time off, and a success-sharing bonus.  For a full list of the various benefits The Home Depot offers, visit https://careers.homedepot.com/our-benefits.
 

Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...