My Learnings

This page records everything I’ve studied, learned or practiced. This page is inspired by Ben Barbersmith’s .

* The points with (*) are my favorites


  • *Taught myself beginner-level Elixir Phoenix framework. A freaking fast in performance and development speed. Published a simple benchmark here
  • Studied UIUX by reading and watching Refactoring UI by Adam Wathan & Steve Schoger
  • Taught myself basic security vulnerabilities (CSRF, XSS, SQL Injection)


  • *Taught myself intermediate-level Django & Django REST Framework. Loving this framework.
  • *Taught myself beginner-level Nuxt & Vue
    • Built many web JAMstack projects together with Django REST Framework
  • Taught myself PostgreSQL and CockroachDB. Learned a bit of DB knowledges like compaction, Write Ahead Logs (WAL), RocksDB storage engine, indexing, materialized views, etc.
  • Taught myself AWS products eg. DynamoDB, S3, Lambda, APIGW, CDK, RDS, etc. Built Voting Serverless App using these techs. Learned DynamoDB single-table pattern.
  • Taught myself GCP products eg. GCS, BigQuery, Data Studio, GCR, Cloud Build, etc.
  • Studied programming theories like Domain Driven Development, Dependency Injection, Event Sourcing, CQRS, Saga pattern, Design Patterns, Microservice architecture, Port & Adapter pattern, Clean architecture pattern, etc.
  • Other techs I taught myself: GraphQL client, Firebase Auth, Stripe integration (Billing & Payments), Hasura, Hashicorp Nomad


  • *Taught myself intermediate-level Kubernetes
    • Wrote a Proof of Concept Kubernetes CSI-compatible storage controller based on Rancher Local Path Provisioner .
    • Plan, set up & manage multiple on-prem edge clusters
  • Taught myself basic AWS & GCP cloud. Taking A Cloud Guru courses.
  • Taught myself basic Go. Built non-production web apps using Echo & Gin web framework.
  • Other techs I taught myself: Ansible


I’m working as a full-time SWE

  • *Taught myself basics of message brokering & how asynchronous, microservice system works. It radically changed my views on how scalable systems are built.
  • Taught myself DevOps tools like Puppet, Grafana, Netdata, etc.
  • Other techs I taught myself: InfluxDB, Nginx Lua, MongoDB, etc.


This is during my university internship year

  • *Taught myself Python. Wrote my first unit tests. Fell in love with Python ever since.
  • *Taught myself Docker. My personal development process has changed ever since.
  • Other techs I taught myself: Java Spring & Hibernate, Behavioral Testing with Ruby Cucumber, CI/CD with Jenkins, Elastic stack


  • Studied basic Java, PHP & MySQL in my university years.
  • Taught myself IBM Cloud, Cloudant & Cloud Foundry for dissertation project.


  • Taught myself Ruby on Rails, Sinatra & jQuery. Built a simple blog and aiming to build a Youtube clone. Too ambitious for 16 years old kid.
  • Deployed my first Heroku deployment
  • Taught myself MySQL