Working within an Agile environment, the Lead Developer uses their leadership, technical & organizational expertise to lead a development project team in ensuring successful delivery of software components and deliverables. The Lead Developer is the primary contact for PM', BA's & EA's and oversees the career development of the developers within the team.
- Leads the development of technology solutions which utilizes PNI's processes, templates, best practices and standards to maximize reliability, functionality, and integrity while minimizing costs and cycle time.
- Works with the Development Manager, Enterprise Architects and Senior Developers to facilitate the architecture and design of the solutions.
- Consults with the Enterprise Architects as required resolving any issues.
- Leads the development team to design and implement the architectural vision.
- Mentors and coaches developers in their career progression.
- Drives problem determination and resolution.
- Ensures PM's have accurate technical advice, assessments and estimates form development team.
- Assists in transfer of business and technology knowledge.
- Promotes team effectiveness by removing technical blockers.
- Communicates with all areas to ensure a smooth efficient process.
- Reports status to PM on a regular basis.
- Consults with others to solve problems when required.
- Participates in regular Lead Developer meetings and ensures others are aware of technical successes & innovations.
- Communicates outcomes of Lead Developer meetings to development team.
- Participates in Product demos.
- Schedules & participates in code and design reviews.
- On a weekly basis updates Development Manager on project timelines, progress and any outstanding issues needing resolution.
Experience & Skills Required:
- Post-secondary degree/diploma in Computer Science or equivalent.
- 8+ years' experience in (web)-application development utilizing C#.NET in Visual Studio.
- 5+ years' experience in relational database development utilizing Microsoft SQL Server.
- 3+ years' experience with software version management systems (e.g. Perforce) and task/bug tracking software (e.g. JIRA).
- 2+ years in leadership role.
- Previous experience managing, coaching and leading development teams.
- Demonstrated working experience in an Agile / SCRUM development environment.
- Experience with technologies such as MVC, ORM, IOC, etc.
- Excellent understanding of and some experience using Test Driven Development.
- Deep understanding of object-oriented design patterns and pragmatic programming principles.
- Experience with CMS considered a strong asset.
- Expertise with nServiceBus and Rabbit MQ considered a strong asset.
- Experience with high-performance, scalable enterprise systems would be a strong asset.
- Real experience (at least 5 years) with large design efforts, enterprise level deployment, and n-tier architecture.
- Experience with Domain Driven Design is an asset.
- Excellent English communication skills, attention to detail and organizational skills.
- Experience in tight deadline, high pressure environment.