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
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.
Beware of fraud agents! do not pay money to get a job
MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.