Team Lead, Software Development



Team Lead, Software Development

Toronto,†Ontario †-†Permanent


Job Description

The Software Development Team Lead is a hands-on developer that also leads a cross-functional team to deliver high-quality software. Acting as a hands-on scrum master, the Software Development Team Lead will not only be the senior developer on the team but will also facilitate the team through its Agile ceremonies. The role is 50% management, leading and mentoring AND 50% development, design and architecture. Ultimately the Software Development Team Lead represents their product development team in the software development process.

Responsibilities:

-overseeing the quality of software delivered by the cross-functional team including adherence to development standards and frameworks
-providing a high degree of visibility into the health and performance of the cross-functional team at all times, including the cross-functional teamís ability to meet delivery commitments
-assisting in the continuous improvement of the cross-functional teamís velocity
-partner with the Product Owner, working closely with them to effectively create, maintain and groom the product backlog
-facilitate their team through Agile Scrum ceremonies to develop software based upon the prioritized product backlog
-remove impediments impacting their teamís ability to meet commitments
-advocate for their team across the organization and actively question practices and approaches that are not in-line Scrum/Agile
-continuously collaborate with other Software Development Team Leads to provide assistance and support whenever possible
-understand the necessity of, and contribute to, development standards and best practices and assist in their enforcement
-act as a resource for their team on policies, procedures and technical issues
-execute design and code reviews of software components developed by other team members
-develop and produce software components in alignment with standard frameworks and design patterns
-create and conduct automated unit and integration tests, facilitating all team members to assist in their creation and execution
-review current software to identify defects and opportunities to improve performance and stability
-promote extensibility and re-usability in application design and coding
-identify and implement methods to improve team productivity and efficiency
-identify and recommend new software development tools to improve team productivity and efficiency


Must Have Skills:

-Bachelorís Degree in Computer Science/related field or equivalent work experience
-8+ years of experience in software development
-5+ years designing and developing server-side transaction processing applications using Java, JDBC, JNDI, JMS, Persistence Frameworks (Log4J, Spring, Hibernate), Presentation Frameworks and concepts (JSF, MVC, PrimeFaces, Vue.js)
-2+ years of experience in a Team Lead role
-strong working experience with object-oriented programming including Java, C, and C++
-strong working experience in iterative software delivery methodologies Ė Agile, SCRUM, SAFe, XP, etc.,
-strong self-starter, able to define structure and direction rather than waiting for it to be defined
-ability to multitask, adapt to changing priorities, be decisive under ambiguity, and meet tight deadlines
-ability to thrive in a fast-paced, results-oriented environment
-proactivity in terms of identifying areas of weakness and striving for improvement
-strong verbal, written communication and presentations skills with the ability to communicate with all levels of users/management including external clients and vendors
-strong organization skills, interpersonal skills and excellent attention to detail
-excellent analytical and problem-solving skills
-aptitude and interest to quickly learn new and emerging technologies and methods
-SQL Server, stored procedures, stored functions, database profiling and tuning, etc.,
-EJBs (Stateless Session Beans, Message Beans, etc), developing and deploying Web Services
-ETL, Batch Processes, jBPM, tuning and sizing high volume transaction processing applications
-Json, REST, XML.
-Asynchronous Messaging Technologies (Topics & Queues)
-Unit Testing, EasyMock, JUnit, Selenium
-Working experience with Behavior Driven Design, Test Driven Design, and Domain Driven Design


Nice to Have Skills:

-Working experience with Git/Maven in a continuous build, continuous deployment environment.
-Working experience with the Scaled Agile Framework (SAFe).
-Working knowledge of the Atlassian stack - Confluence, JIRA, Bamboo, etc.
-Background in the financial services industry and specifically wealth management industry.


Details:

Starting: ASAP
Travel: 0%
Dress Code: Business Casual