Skills
Languages, frameworks and tools
I have extensive experience with the following:
- Python (and some Django), which was the language of choice at a couple of recent gigs (one of which operated in the AI space, therefore Python). Also used it quite a bit as a general purpose language e.g. for scripting and pipelines.
- Java (and Spring Framework) at my first job of nearly ten years.
- AWS services such as EC2 (including SGs, scaling and the works), Lambda, SQS, RDS, IAM etc.
- Redis and Elasticsearch for caching and full-text search respectively.
- Databases such as MySQL, DynamoDB, S3.
- Containers i.e. Docker and its ecosystem (e.g. Docker-Compose, ECS).
- Pipelines such as Jenkins, GitHub Actions and AWS CodePipeline.
- Logging and observability using ELK, Grafana/Prometheus, Sentry, NewRelic etc.
Not as extensive, but I am familiar with the following:
- I have worked on projects in various languages e.g. C#, Kotlin, PHP, JS, which I’ve learnt as per need (and maybe unlearnt
). I like to consider myself a polyglot programmer.
- Scala (with Akka) to build a web app for a data engineering ecosystem. After working on Java for years, I loved the elegance - and nudge towards functional programming - that Scala offers.
- Airflow to build data pipelines while I was in a data-ops team.
Practices
- Extreme Programming (refactoring, TDD, simple design, evolutionary architecture etc.). I have setup XP teams from scratch and transformed existing teams.
- Collabrative programming i.e. pair and mob/ensemble programming.
- Continuous integration & delivery - I have mapped out delivery processes where it took weeks to roll out a single release and improved (iteratively) till teams were releasing multiple times a day
- Design & architecture e.g. Clean Architecture, Code Smells, Object Calisthenics.
- Lean thinking, Lean tools e.g. value-stream mapping, Lean Software Development.
- Team structure (Team Topologies)
Leadership experience
I have led teams of 3 to 15 engineers (backend, web, site-reliability, data, and recently, AI) and collaborated closely with product and business counterparts, product designers and recruiters. I have also led engineering divisions of 3 to 4 sub-teams.
Would you like to work with me? Services »