Job Title: Team Lead - Software Engineering (Hybrid, Toronto)
Location: Toronto, ON (Hybrid Work Environment)
Job Type: Contract
About the Role:
We are seeking an experienced and motivated Team Lead with strong technical expertise and leadership capabilities to join our dynamic software engineering team in Toronto. As a Team Lead, you will play a critical role in guiding the team towards the successful delivery of high-quality software solutions, while also taking ownership of key architectural decisions. This role requires a blend of hands-on technical proficiency, especially in troubleshooting, along with strategic architectural thinking and mentorship to support the team's growth and performance.
Key Responsibilities:
- Team Leadership: Lead and mentor a team of software engineers, fostering collaboration, skill development, and a positive work environment. Manage day-to-day operations, ensuring team alignment with business goals.
- Technical Leadership \& Architecture: Design, develop, and review technical architecture for scalable, high-performance solutions. Provide guidance on best practices, code quality, and performance optimization.
- Hands-On Troubleshooting: Engage in the resolution of complex technical issues, ensuring timely fixes and minimal disruption to business operations. Provide hands-on support in debugging and root cause analysis.
- Agile Process: Ensure the team follows agile development practices, participating in sprint planning, reviews, and retrospectives. Actively monitor and ensure the timely delivery of high-quality software.
- Collaboration: Work closely with product managers, designers, and cross-functional teams to understand business requirements and translate them into technical solutions.
- Code Reviews: Conduct code reviews, ensuring adherence to coding standards, security practices, and quality.
- Continuous Improvement: Promote a culture of continuous improvement by identifying bottlenecks, streamlining processes, and recommending the latest tools and technologies.
Technical Skills \& Requirements:
Core Technologies:
- Java (Advanced experience required)
- Spring Boot (Strong proficiency required)
- GCP (Google Cloud Platform) (Experience with deploying and managing cloud-native applications)
- ORM (Object-Relational Mapping) (Experience with frameworks like Hibernate)
- Connection Pooling (Strong knowledge in database connection management)
Databases:
- PostgreSQL (Experience preferred, though not mandatory)
- Oracle DB (Proficiency in Oracle-based systems)
Middleware \& Servers:
- WebLogic (Experience in administration and deployment on WebLogic server)
Architecture:
- Experience with designing microservices-based architecture and scalable systems.
- Understanding of cloud-native architectures, containerization (Docker), and orchestration (Kubernetes).
- Troubleshooting: Ability to diagnose, debug, and resolve complex issues in production environments efficiently.
- Version Control \& CI/CD: Familiarity with Git, Jenkins, or other version control and CI/CD tools.
Key Soft Skills:
- Leadership \& Communication: Strong interpersonal and communication skills with the ability to influence and collaborate with both technical and non-technical stakeholders.
- Problem-Solving: Exceptional analytical skills with a solution-oriented mindset to address challenges and improve processes.
- Mentorship: Passion for mentoring and helping team members grow in their technical and professional development.
- Adaptability: Ability to thrive in a fast-paced, changing environment with a focus on continuous learning and improvement.
Qualifications:
- 5 years of software development experience, with at least 2 years in a technical leadership role.
- Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience).
- Proven experience in designing and implementing scalable architectures.
- Strong knowledge of software engineering best practices, Agile methodologies, and modern development tools.