Home Depot Senior Software Engineer in Portland, Oregon
At QuoteCenter, we're fueling sales to the Pro marketplace from within our global supply chain. We're extending the shelves of The Home Depot by developing sales applications from the ground up. Using a reactive microservices architecture to build out robust merchandising opportunities, our teams of engineers, designers, data and Supplier operations analysts work together to drive our business forward every day.
QuoteCenter's application has the scale and network of a $107 billion organization. By working with our end users every day, we have the opportunity to test our ideas, incorporate feedback and evolve together. Our innovative Point of Sale technology provides associates with a faster, more consumer-centric way to grow The Home Depot's Pro business. And that gives us all a sense of ownership and purpose. So come join us in empowering nearly 400,000 associates in over 2,000 stores to improve the lives of millions of customers.
What problems will you be solving in this role? There are multiple problems to help solve, including e-commerce, building a marketplace and catalog search.
What tools do we use? ReactJS, Redux, C#, Node, .NET, ElasticSearch, Kafka, SQL Server, Microservices, GCP/Azure/AWS (to name only a few))
An HDQC Senior Software Engineer is a seasoned software developer. Activities include: designing, developing, installing, and maintaining software solutions. Senior level software engineers will be expected to mentor less experienced members of their team, prepare to become a lead if the opportunity presents itself, and be self directed and able to lead a small project team. In addition, senior software engineers should maintain technical depth (being very skilled in certain parts of the technology stack) and breadth (not isolated to a single segment of the technology stack
MAJOR TASKS, RESPONSIBILITIES AND KEY ACCOUNTABILITIES
45%- Writing new code and test cases
20%- Helping with solution design and architecture
15%- Debugging existing code
10%- Learning new skills
NATURE AND SCOPE
This position reports to the Manager, Information Systems. This position has no direct reports.
ENVIRONMENTAL JOB REQUIREMENTS
Located in a comfortable indoor area. Any unpleasant conditions would be infrequent and not objectionable.
Typically requires overnight travel less than 10% of the time.
Must be eighteen years of age or older.
Must be legally permitted to work in the United States.
The knowledge, skills and abilities typically acquired through the completion of a high school diploma and/or GED.
Years of Relevant Work Experience: 2 years
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.
Proven work experience as a Software Engineer or Senior Software Engineer.
Prior work experience of 6-8 years is welcome.
Experience designing interactive applications.
Understanding of algorithms and data structures.
Ability to develop software in React, Node.js, Typescript, React.js, Python, Java, .NET or other programming language.
Excellent knowledge of databases, SQL, and non-SQL technologies.
Excellent knowledge of search/indexing frameworks like Elastic, Solr .
Experience with test-driven development.
Proficiency in software engineering tools and Scrum/Agile software development methodologies.
Ability to document requirements and specifications.
Experience with Data Science is a plus
Knowledge, Skills, Abilities and Competencies:
Our Software Engineers have the challenge (and fun) of taking on a wide variety of problems and directly affecting users and the business. The following is a list of attributes found in successful QuoteCenter Software Engineers:
PROBLEM SOLVING - Work collaboratively with business stakeholders, user experience designers, and your fellow developers to create a solution. Build domain knowledge and understand the user & business problems you're solving.
QUALITY DELIVERABLES - Good software architecture - at QuoteCenter every developer is an architect. You are responsible for creating systems that are appropriately maintainable, scalable, and extensible.
TAKING OWNERSHIP - When a problem comes to your attention, take care of it. If you're too busy with something more important either assign it to someone else or set a reminder to come back to it later.
ALWAYS LEARNING - Be willing to learn whatever technologies, tools, or patterns necessary to solve a problem. Don't avoid a problem because "someone else 'owns' the code" - learn the code, learn the domain, solve the problem.
ALWAYS A MENTOR - Continually look for the chance to share your knowledge and skills with others. Even the most seasoned professional can learn new tricks from the most junior developer. There is always something you know that someone else doesn't (and vice versa), so share!
EFFECTIVE COMMUNICATION - Write and speak clearly and concisely. Be prepared to explain your work, decisions, and ideas to your colleagues. Graciously challenge ideas that that don't seem right, no matter where they originate.
GOOD TEAMMATE - Have a sense of humor. Build relationships with your colleagues. Work out differences with your colleagues directly. Go to your manager if you're unable to resolve it there. Actively work to disrupt backchannel and office politics. Look for ways to make the work environment better for everyone.
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.