Lead Software Developer

Toronto, ON, CA, Canada

Job Description

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.

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.


Related Jobs

Job Detail

  • Job Id
    JD3048499
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Toronto, ON, CA, Canada
  • Education
    Not mentioned