
Position | Period |
Senior Lead Software Engineer | September 2019 – January 2022 |
The new TalkTalk Brochureware and Checkout Journey Website.
— Full project lifecycle from POC –> Development –> Production —
Development
- Branching Model Strategy
- Coding Standards and Guidelines
- Software Design such as Architectural Design (domain driven micro-services, public facing APIs, databases, caching)
- Software Development
- Testing Strategy
- Build and Release Pipelines
- Environments based on Development and Business Requirements
- Monitoring and Logging
- Ensuring resilience and transient-fault-handling (retries, circuit-breakers for downstream API calls)
- Rollover Keys for Data Encryption (PII)
- Performance Testing Strategy
- Programming Languages: C#, TypeScript
- Frameworks: DotNet, Angular
- Technologies: Docker, Kubernetes, Helm
- Cloud: Azure
Product
- working close with Product Owners and Solution Designers to define user stories and acceptance criteria
- pre-refine user stories from development perspective and adding technical details to help developers achieve the purposed solution design
- T-shirt size cross-squad backlog user stories
Mentoring / Coaching
- mentoring / coaching new joiners regardless of their seniority level
- mentoring apprentice developers
Interviewing
- designing and creating interview problems
- interviewing: Junior, Middle, Senior, Principal Software Engineers and Infrastructure Engineers
Contact point across multiple squads
As the project complexity grew up, it felt necessary that multiple squads to be created, me remaining one of the core key contact points.
On Call Strategy – cross squad
Based on the principle “You built it, you maintain it”, the developer who is most familiar with the code is the best person to troubleshoot related issues in the shortest amount of time. The following has been considered cross squads for obtaining an efficient on-call practice:
- providing training (internal tools + 3rd party monitoring tools e.g. AppDynamics)
- up-to-date documentation / architectural diagrams / run-books / processes of each product from each squad
- fair expectations of the on-call and development duties
- robust debug processes
- deployment of an hotfix
- multiple escalation channels
- on-call incident report