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.
2021#
- *Ship my first Golang code to production, an integration of an API server with a Malaysia payment gateway (iPay88). The API server is consumed by a mobile app.
- Taught myself beginner-level Elixir Phoenix framework. Published a simple benchmark here . Tried to build several web apps and API servers using Phoenix but still not feeling productive with it yet.
- Used Django REST Framework, Nuxt and TailwindCSS to build Tax App
- Studied UI/UX by reading and watching Refactoring UI by Adam Wathan & Steve Schoger
- Taught myself OWASP security vulnerabilities (CSRF, XSS, SQL Injection) and mitigations (CSRF Token, SameSite cookies, CSP)
2020#
- *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
2019#
- *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
2018#
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.
2017#
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
2016#
- Studied basic Java, PHP & MySQL in my university years.
- Developed a document management system with a team of 5 students using IBM Cloud, Cloudant & Cloud Foundry for our university dissertation project.
2011#
- 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