Reporting to the Agile Delivery Manager, the Technical Lead’s primary role is to contribute to driving technical excellence in defining, adhering and sharing our technical and architectural vision with his / her direct team(s) as well as with the broader Technology Delivery teams.
The Technical Lead will be responsible for the coaching and mentoring of Software Engineers on new or existing architectural and technical direction based, on discussions and direction from the Senior Technical leads.
This includes the maintenance and promotion of department coding standards and naming convention.
Contributing to the creation of business cases will be a core part of the role by providing technical insight and participating in high level sizing meetings.
Key to this role is ensuring the correct Degree or National Diploma in Computer Science, Software Engineering or related qualification
Based on discussions with the Development Manager, Architect, Product Owners and Stake Holders, design applications according to end user needs.
Track projects, tasks and bugs using the company specified work tracking system.
Understand requirements from a business perspective and contribute to designing clear, easy-to-use applications from a user perspective
2. Software Engineering
Involved in the creation of completely new applications or, build upon the functionality of existing ones.
Work closely with team members to engineer the best possible solutions for the applications.
Contribute to the development of Euromonitor’s technology solutions to improve functionality, user-friendliness and presentation of our products.
Conduct independent research making recommendations on technical direction.
Ensure developer’s code has the highest level of quality and test coverage.
Assist Developers, Managers and Architect in any team with design and development.
Liaise with Business Analysts, Product Managers and / or internal / external customers to ensure that requirements are understood.
Ensure the following of BDD / TDD / DDD as part of the software engineer best practice.
Participate in peer code reviews.
3. Product testing
Ensure compliance of final product with end-user specifications through regular reviews with designated end-user groups where applicable.
This could include testing functionality of your own and colleagues’ code for performance and effecting changes to code as required.
Regular code reviews with colleagues to identify bugs and performance problems ensuring code and product quality
4. Maintenance / support
Monitor, analyse and act on post-deployment bugs.
Review of user feedback and proposing / implementing action plans for development.
Provide any required support to end-users of the applications.
Train team members on agile development practices, use of appropriate design patterns and SOLID / design principles in their day-to-day work.
Taking technical ownership of projects / tasks ensuring their successful completion to project deadlines.
Responsible for the technical quality of junior team members within the team.
Ensure the writing of concise documentation for applications and websites.
Take initiative to use new technologies and methodologies that will benefit projects and responding to the introduction of software advances and upgrades.
Participating in the recruitment of new staff.
Ability to work under pressure and meet tight deadlines.
Excellent oral and written communication skills; strong communication with both technical and business teams.
Excellent administrative and organisational skills.
Self-motivation and drive to take on personal responsibility.
Exceptional attention to detail and commitment to quality.
Critical reasoning and decision making skills.
8+ years hands on development experience using Microsoft .NET technologies to build Micro Service Architecture, Web and / or Console Applications as well as Windows and Web Services.
Experience Solid Understanding in the below frameworks : ServiceStack.NetMVC .Net Framework 4.6.*WebApi Net Framework 4.
6.*Asp.Net CoreAngularJSMVVM CrossEntity FrameworkNHibernate
Experience Solid Understanding of DevOps practices including : Continuous integrationQA AutomationRelease AutomationServer ConfigurationCross Function collaboration
Experience Understanding to the below testing toolset : FakeItEasyMSTestJasmine Rhino Mock
Experience Understanding to Cloud technologies including : RackspaceAzureGoogleAmazon Web Services
OOP programming (theoretical and practical experience of OO design principles and patterns)
Experience Understanding with Agile methodologies, BDD (Behaviour Driven Development) Test Driven Development (TDD) and especially Domain Driven Design (DDD).
Solid knowledge with Visual Studio programming environments and Team Foundation server (TFS).