Casually programming since... 1998.
Era-1
QBasic, through an introductory subject in school (non-graded). After dabbling with cli applications (I still remember creating calculators that perform operations on intergers [sic]), I 'upgraded' to Visual Basic 6. Convinced my parents to buy a thick programming book (remember those?) so that I can extend and enrich my so-called expertise.
Created a number of freeware apps, such as a color picker hex editor (picking red -> #ff0000). Everyone doing plain HTML web pages needed to know their colors outside of HTML 4.01's basic 16 color names. I also remembered that I didn't do shareware because I had no idea how I can get paid... online.
Era-2
Finally took computing as a graded subject, in C++. First exposure to algorithms and data structures. Coming from a visual IDE, I had no idea why I needed header and implementation files.
It was also around this time when I first got into blogging through a Palm PDA, using a rudimentary app that conduits plaintext files into a webserver via FTP uploads. Then, a simple PHP file serves them like blog entries. This will be relevant for the next era.
Era-3
If I remembered correctly, that app/mechanism became an abandonware sometime later, and being 'entrenched' into this mode of publishing I decided to properly pick up PHP as the next programming language to learn. PHP and MySQL go hand-in-hand back in the day (I think they still do), so I eventually converted the file-based implementation into a database-backed CRUD app.
WordPress got immensely popular around this time, but I wanted to be creative here and so my little blogging system eventually matured into a platform - things you can do when you have free time as an undergraduate. I'm surprised I can still find archives of it on Wayback. I might have backups of it on some stashed away HDDs but I wouldn't get my hopes up.
Era-4
I finally got to learn Java properly in University. By that, I mean that instead of writing simple POJOs and handcrafted SQL queries to run against the JDBC driver for school projects, I learned about reflection techniques and wrote a basic ORM library to solve the tasks at hand. Shortly afterwards, I realized that was what the Hibernate library was for, but I sure had a fun time failing and learning.
My web programming know-how gradually covered the utilities surrounding (and competing with) jquery. I remembered a particular school project for online shopping where I made selecting t-shirt sizes as 'intuitive' as resizing the shirt icon.
Somehow, I stopped blogging here. But I didn't stop programming...
Era-5
I carried my Java 'expertise' into my first corporate work at a multinational bank. Java 1.7 was right around the corner (in relative terms), so cutting-edge meant the old-but-mighty Java 1.6. If one was fortunate - and I was - Java generics were already nicely used in the codebases one inherited by working in larger teams.
I no longer considered programming to be a standalone, solitary interest, or centered around greenfield school projects. It was now called software development in a team, adopting agile (and Agile) practices. CI/CD mattered so much more, as did code quality and code reviews. The exposure to other languages - Perl, q (as in Kx's KDB+), and shell scripting, continued. This was also when my front-end skills kind of atrophied.
Era-6
And then I found myself making my first lateral move, calling myself a full-stack engineer. I had to dust off my rusty Javascript skills - learning what the hype around React and Redux stores were about. I continued with Java, bidding goodbye to the powerful terse expressions in q. Sometime later, my team adopted TypeScript and Kotlin, the latter of which being a nice balance of functional programming with OOP concepts.
Getting into Advent of Code and experimenting with a different language every year also kept me engaged as a side project annually. The short-term-but-intense experiences around Haskell, Elixir, Clojure were memorable, though I can't say I'm good at them. Up till now, Python was still strangely missing.
Era-7
For my second lateral move, I told my teammates that I wanted the opportunity to unlearn and relearn my software development skills in the era of AI assisted agentic workflows. Pivoting to Python ended up as being a happy coincidence, as I felt that I wouldn't be weighed down by prior assumptions of how idiomatic code should look for a language that I don't have in-dept knowledge about. As much as I emphasize about code quality and reading intentional code, I am keen to explore how the balance between creating and consuming code has shifted.
That is largely why I feel like it's the right time to restart my blogging adventures, on this very domain that I started, briefly lost, and then back to it. To document my take on these fundamental changes, muse about the AI landscape and how it deals with the evolution of the software development careers. This page is just the beginning.