Why do I write
2022 edition
If you want to learn something, read about it. If you want to understand something, write about it. If you want to master something, teach it. ― Yogi Bhajan
When it comes to software development, I am interested in almost every topic there is. For over two years now, I’ve been collecting articles, books, and courses. My list gets larger every week, but I’m not doing a great job at crossing things off. That needed to change…
In my day job, I get to wear a few hats. I started my career as a web developer and focused on typical problems: how to build a website, how to host it, how to build good UX/UI and “cut” PSDs into HTML/CSS, and how to scale the backend, caching, optimizing queries, load balancing, etc.
Later in my career, I transitioned towards backend development and worked on scaling, performance, compilers, Linux systems, distributed caching, etc.
Early in my career, I focused on raw software development skills in PHP and got to a stage where I was very good. I was, however, in a bubble, as PHP overly simplified many aspects of software development. I, of course, did not know that at the time.
I was unable to recognize my lack of skill.
Later in my career, as I got the opportunity to work with brilliant people, I started to transcend the advanced beginner stage I was unwittingly in.
Luckily, I had always pushed myself to be better, to learn as much as I could, and didn’t fall into the trap of the Expert Beginner. (This is a dangerous one; I recommend reading the attached article / I will probably write something about this at some point.)
But I digress…
I learn best by writing things down and going over notes a few times. When it comes to software engineering skills, I learn best by reading docs, building something, struggling a little, reading some more, and so on — until that something is more or less built.
Instead of collecting notes in a vacuum, I figure, why not compile my learnings into a public resource that anyone could benefit from? Why not write in public!?
In the past year, I wrote ~35 articles, mostly about skills I learned and problems I had to solve while working mainly on three projects:
- my personal site
- props — a Java application property/settings library
- and a newer pet project, currently in development
In the next year, I intend to double that number. I’m about to start a new job, and I’m hoping that exposure to continuous learning will give me more ideas for subjects to write about!
There is so much I want to cover: APIs, performance and tuning, scaling, databases, Kubernetes, Bazel, programming languages (JAVA, Kotlin, Golang, Rust, Python, Bash, Javascript/Typescript, Flutter, Clojure), interpreters and compilers, system design, algorithms and data structures, Object-Oriented Programming, security, operating systems, systems engineering, telemetry, etc.
So much to learn, so much to write about; I’m excited!
Let’s revisit these thoughts in another year and see how I’ve done!
Goal: now-July 25,2023 — 70 posted articles.
Let’s do it!