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 :see_no_evil:). 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 »