Reporting To: Manager, Software Development
Working Location: Bangalore
Primary Responsibilities:
Technical Lead will be responsible for Contribute to the design, development, troubleshoot, unit test and document a range of applications including backend (server-side), Web (Angular), WPF applications. Interact in a constructive manner with Business Analysts to:
- Estimate the complexity and the workload.
- Choose the most appropriate technical solution to meet the user requirements.
- Reach the optimal requirement artifact that will lead to a working software solution.
- Interact in a constructive manner with other IT teams.
- Master and apply team technologies and processes and take active part in creating Eurofins and team success.
Technology skills:
- Strong design skills, Solid principles, Design patterns, documentation of design using UML.
- Strong working knowledge of .NET, C#, WPF and Web API
- Unit testing: XUNIT or NUNIT or VS Unit Test
- TypeScript, Angular, HTML5 and CSS3
- Entity framework, SQL Server, MS SQL, PowerShell
Technology – Nice to have:
- Working knowledge of ESB or Message Queuing (MSMQ) is an added advantage
- TDD/ATDD (FitNesse preferred).
Required Experience and Skills:
- 9+ years - solid experience in designing and implementing large and high-performance applications with .NET Framework.
- 3+ years - experience working as a technical lead with solid knowledge of SOA based design, architectural and integration patterns along with ORM frameworks such as Entity Framework
- Experience producing technical design with focus on application performance and resiliency.
- Experience documenting the architecture artifacts (using UML) and explaining same to the development team.
- Comprehensive knowledge of object-oriented concepts with emphasis on .NET specifications, framework and design patterns (SOLID, GRASP, GoF).
- Analyze potential impact of problem resolution and take corrective measures when needed.
Personal Skills:
- Excellent analytical and problem-solving skills and have a passion for building high-quality systems with software implementation best practices and mentor others on how to do the same.
- Excellent communication and presentation skills to arbitrate priority and high-level estimations working with different stakeholders.
- Be self-motivated, independent, detail oriented, responsible team-player.
Preferred:
- Strong orientation towards performance tuning and optimization with Microsoft technologies
- Experience in Cloud technologies, preferably Azure.
- Computer Science and Engineering Background (Full-time BE/MCA or any other equivalent degree)