
With a career at The Home Depot, you can be yourself and also be part of something bigger.
Job Profile Name: LEAD SOFTWARE DEVELOPER CAN – Sourcing & Appliances Management Applications
Position Overview:
The Lead Software Developer is responsible for the full scope of activities required within the software development life cycle, including over seeing the oversight and successful delivery of software solutions. You will work collaboratively with Architects to make high-level design choices, dictate technical standards, and proactively identify opportunities to improve system architecture. The Lead Software Developer will provide guidance and mentorship to junior developers and help them in developing modules and solutions. You will work closely with other Lead Developers, Architects, Software developers, Business Analysts, and Quality Analysts amongst others in a highly collaborative environment where change is constant.
Key Responsibilities:
Software Development Life Cycle:
• Analyze user requirements to define business objectives and envision system features and functionality
• Develop well-designed, maintainable, testable, clean and efficient code which is optimized and scalable, while conducting software analysis, debugging, and comprehensive testing activities
• Review, test, and debug team members' code to ensure that best practices are followed and to maintain high-quality code standards across the team
• Build solutions using Home Depot preferred databases ensuring their stability, reliability, and performance
• Ensure application achieves the performance, quality, and responsiveness as per the defined SLOs
• Ensure that the development team follows best practices in coding, testing, and documentation
• Lead efforts for code reviews and ensure the overall quality of the codebase
• Provide guidance and oversight by ensuring that code, configurations, and technical issues or solutions are thoroughly documented to support future reference and auditing needs
• Take a proactive role in maintaining high standards for documentation to streamline development processes and knowledge sharing across the team
Collaboration & Communication:
• Work closely with cross-functional teams to define, design, and ship new features, and ensure solutions meet requirements
• Serve as the key point of contact for project managers, business analysts, and other departments to ensure the development aligns with the broader business goals
Problem Solving & Technical Decision-Making:
• Identify bottlenecks and bugs, and devise solutions to these problems
• Make critical technical decisions related to the development process, tools, and technologies used for building and maintaining SAP solutions or other software applications
Team Leadership & Mentorship:
• Provide technical direction and guidance to the development team, guiding them in day-to-day activities, prioritizing tasks, and ensuring the timely delivery of development milestones
• Provide mentorship to developers on technical skills, career development, and best practices
• Organize knowledge-sharing sessions
Architecture Oversight
• Work closely with architects and senior leaders to define the technical architecture and ensure that the project is aligned with business objectives
• Make high-level design choices and dictate technical standards, including software coding standards, tools, and platforms
• Proactively identify opportunities to improve system architecture, scalability, and performance, ensuring the application can grow to meet the needs our customers and associates.
Continuous Improvement:
• Advocate for continuous improvement in the development process, tooling, and techniques used by the team
• Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review
Project & Risk Management:
• Oversee the progress of projects, ensuring that developers are on track and deadlines are met
• Handle resource allocation and issue resolution within the team
• Identify risks early in the development process and propose solutions to mitigate those risks
Competencies:
• Action Oriented
• Collaborates
• Communicates Effectively
• Customer Focus
• Drives Results
• Manages Conflict
Skills:
• Strong analytical and troubleshooting skills
• Strong written and oral communication skills
• Proven leadership skills, with the ability to manage a team and provide technical guidance
• Strong knowledge of software development methodologies (e.g., Agile, Scrum)
• Strong collaboration skills, and experience working cross-functionally
• Ability to work independently with minimal direction
• Must be willing to learn new technologies and programming languages and /or concepts
• Experience with building scalable and resilient microservices using Java and Spring Boot leveraging various design principles such as 12 factor app, cloud native app, API first development
• Experience with SQL and NoSQL databases like PostgreSQL, Redis, BigTable, and GCP storage solutions such as Cloud Storage, BigQuery
• Experience with leading implementation of new systems or replatform of existing systems
• Experience writing clean code that is modular and follows clean code principles such as SOLID
• Experience with Spring Security and SAML, OAuth and OpenID Connect
• Experience with batch and stream processing frameworks such as Apache Beam, Spark
• Experience with automated testing tools (such as RestAssured, Cucumber) and performance testing tools (such as Locust, Jmeter)
• Experience with open source system and performance monitoring tools such as Grafana, Prometheus
• Familiarity with cloud platforms preferably GCP and containerization (Docker, Kubernetes)
• Experience with development and productivity tools such as BitBucket, Jira, and GitHub Copilot
• Experience with documenting design using diagrams such as C4 model, activity diagram
• Experience with development and productivity tools such as BitBucket, Jira, and GitHub Copilot
Travel Requirements:
• Travel to SSC Toronto on a regular basis
Physical Requirements:
• Extended sitting
• Repetitive tasks
• Operating a computer and other technology
Working Conditions:
• Working in an office setting: computer work, camera on virtual meetings
• Work overnights and weekends on occasion to support system upgrades and project deployments
Minimum Education:
• A bachelor’s degree in computer science or equivalent work experience
Minimum Years of Work Experience:
• 7 to 10 years of relevant work experience.
Minimum Leadership Experience:
• N/A
Certifications:
• Java/Cloud Certification preferred
Other Requirements/Assets:
Good understanding on data engineering concepts.
For any Accessibility requests, please follow this link to reach out to us.
Accommodation will be provided in all parts of the hiring process. If you require an accommodation, we will work with you to meet your needs. Applicants need to make their needs known in advance. Please contact the talent acquisition professional you are corresponding with or Accessibility_Canada@homedepot.com
With a career at The Home Depot, you can be yourself and also be part of something bigger.
Job Profile Name: LEAD SOFTWARE DEVELOPER CAN – Sourcing & Appliances Management Applications
Position Overview:
The Lead Software Developer is responsible for the full scope of activities required within the software development life cycle, including over seeing the oversight and successful delivery of software solutions. You will work collaboratively with Architects to make high-level design choices, dictate technical standards, and proactively identify opportunities to improve system architecture. The Lead Software Developer will provide guidance and mentorship to junior developers and help them in developing modules and solutions. You will work closely with other Lead Developers, Architects, Software developers, Business Analysts, and Quality Analysts amongst others in a highly collaborative environment where change is constant.
Key Responsibilities:
Software Development Life Cycle:
• Analyze user requirements to define business objectives and envision system features and functionality
• Develop well-designed, maintainable, testable, clean and efficient code which is optimized and scalable, while conducting software analysis, debugging, and comprehensive testing activities
• Review, test, and debug team members' code to ensure that best practices are followed and to maintain high-quality code standards across the team
• Build solutions using Home Depot preferred databases ensuring their stability, reliability, and performance
• Ensure application achieves the performance, quality, and responsiveness as per the defined SLOs
• Ensure that the development team follows best practices in coding, testing, and documentation
• Lead efforts for code reviews and ensure the overall quality of the codebase
• Provide guidance and oversight by ensuring that code, configurations, and technical issues or solutions are thoroughly documented to support future reference and auditing needs
• Take a proactive role in maintaining high standards for documentation to streamline development processes and knowledge sharing across the team
Collaboration & Communication:
• Work closely with cross-functional teams to define, design, and ship new features, and ensure solutions meet requirements
• Serve as the key point of contact for project managers, business analysts, and other departments to ensure the development aligns with the broader business goals
Problem Solving & Technical Decision-Making:
• Identify bottlenecks and bugs, and devise solutions to these problems
• Make critical technical decisions related to the development process, tools, and technologies used for building and maintaining SAP solutions or other software applications
Team Leadership & Mentorship:
• Provide technical direction and guidance to the development team, guiding them in day-to-day activities, prioritizing tasks, and ensuring the timely delivery of development milestones
• Provide mentorship to developers on technical skills, career development, and best practices
• Organize knowledge-sharing sessions
Architecture Oversight
• Work closely with architects and senior leaders to define the technical architecture and ensure that the project is aligned with business objectives
• Make high-level design choices and dictate technical standards, including software coding standards, tools, and platforms
• Proactively identify opportunities to improve system architecture, scalability, and performance, ensuring the application can grow to meet the needs our customers and associates.
Continuous Improvement:
• Advocate for continuous improvement in the development process, tooling, and techniques used by the team
• Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review
Project & Risk Management:
• Oversee the progress of projects, ensuring that developers are on track and deadlines are met
• Handle resource allocation and issue resolution within the team
• Identify risks early in the development process and propose solutions to mitigate those risks
Competencies:
• Action Oriented
• Collaborates
• Communicates Effectively
• Customer Focus
• Drives Results
• Manages Conflict
Skills:
• Strong analytical and troubleshooting skills
• Strong written and oral communication skills
• Proven leadership skills, with the ability to manage a team and provide technical guidance
• Strong knowledge of software development methodologies (e.g., Agile, Scrum)
• Strong collaboration skills, and experience working cross-functionally
• Ability to work independently with minimal direction
• Must be willing to learn new technologies and programming languages and /or concepts
• Experience with building scalable and resilient microservices using Java and Spring Boot leveraging various design principles such as 12 factor app, cloud native app, API first development
• Experience with SQL and NoSQL databases like PostgreSQL, Redis, BigTable, and GCP storage solutions such as Cloud Storage, BigQuery
• Experience with leading implementation of new systems or replatform of existing systems
• Experience writing clean code that is modular and follows clean code principles such as SOLID
• Experience with Spring Security and SAML, OAuth and OpenID Connect
• Experience with batch and stream processing frameworks such as Apache Beam, Spark
• Experience with automated testing tools (such as RestAssured, Cucumber) and performance testing tools (such as Locust, Jmeter)
• Experience with open source system and performance monitoring tools such as Grafana, Prometheus
• Familiarity with cloud platforms preferably GCP and containerization (Docker, Kubernetes)
• Experience with development and productivity tools such as BitBucket, Jira, and GitHub Copilot
• Experience with documenting design using diagrams such as C4 model, activity diagram
• Experience with development and productivity tools such as BitBucket, Jira, and GitHub Copilot
Travel Requirements:
• Travel to SSC Toronto on a regular basis
Physical Requirements:
• Extended sitting
• Repetitive tasks
• Operating a computer and other technology
Working Conditions:
• Working in an office setting: computer work, camera on virtual meetings
• Work overnights and weekends on occasion to support system upgrades and project deployments
Minimum Education:
• A bachelor’s degree in computer science or equivalent work experience
Minimum Years of Work Experience:
• 7 to 10 years of relevant work experience.
Minimum Leadership Experience:
• N/A
Certifications:
• Java/Cloud Certification preferred
Other Requirements/Assets:
Good understanding on data engineering concepts.