Our client is a premier brand in medical diagnostics and a global leader in the development of best-in-class technologies that help answer complex scientific challenges to improve our world. They have engaged ROSS (www.getROSS.com) to help them recruit a Senior Software Engineer/Team Lead. They're located in North Toronto (GTA).
RESPONSIBILITIES:
- Technical lead (Coach) of medium-large software teams of developers to ensure optimum designs, implementation and adherence to agile software development process used at our client.
- Build new software and enhance existing software using the latest Microsoft technologies including: .NET Framework 4.x, Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF).
- Analyzes problems to deliver creative, logical, and effective solutions using good design principles that satisfy functional and non-functional requirements.
- Participate in the entire software development cycle by analyzing, designing, and developing new features and products.
- Facilitate estimation and planning for the software development tasks.
- Mentor less senior team members, and peer reviews product artifacts including requirement specifications, design specifications, code, etc.
- Work closely with our Software Applications and Research associates, and other functions to design and develop software products and capabilities.
- Work with off-site development teams to ensure development process and product alignment during project execution.
- Committed to on-time delivery and high quality.
- Detect, report, investigate, and fix product defects.
- Follow established practices of agile methodologies, i.e. test-driven development, that will ensure high quality software.
- Evaluate new software development technologies, tools and practices. Recommend adoption of new tools.
- Work collaboratively and proactively to maximize the success of the research and development teams.
QUALIFICATIONS:
- Bachelor’s degree in computer science or closely related field or equivalent work experience.
- 12+ years’ experience in designing and developing applications using OOP/OOD with at least 5 years of experience in C#/.NET. Experience with C++ or other OO languages an asset.
- Proven experience of leading medium-large development teams.
- Excellent leadership, communication and facilitation skills.
- Excellent analytical, problem solving and decision making skills.
- Proven technical leadership skills and a team player, with strong collaboration skills.
- Deep understanding of agile software development principles and best practices.
- Experience with design and implementation of n-tier systems, reusable libraries and development frameworks including Component based design, contract based design, service oriented architecture (SOA).
- Proven experience working in a cross-functional team of technical and non-technical personnel.
- Excellent time-management skills, ability to handle multiple tasks simultaneously.
Additional desired (not mandatory) qualifications:
- Prior experience of working with offshore development teams is desirable.
- Experience with agile methodologies, test driven development, Domain specific languages, distributed data management.
- Experience with developing software for life sciences or medical device products.