Recap

11-05-2025

It's the beginning of November 2025 and I've been in my current bout of programming/webdev/IT learning for the past three months so I thought it's a good point to make a recap. Why do I say "my current"? Well, this is not the first one; that is a blog I kept for a while in 2021 and 2022, and the two most recent entries (a year apart) already talk about how I've been learning programming on and off for years.

Three months doesn't sound like a lot, but when you consider mi ADD —no, I don't have a diagnosed ADD, maybe just very bad discipline (which I also think is the case with most self-diagnosed neuro-atypicals, anyway)— it kind of is. In these three months I've oscillated a few times between HTML/CSS, deep-diving into Linux, PHP, JavaScript; but it's all part of the same thing. And three months is also statistically about the averege length of how long I maintain focus and interest.

... But this time it's different

The main reason I believe this time it's different is because this time I actually made an investment: I bought a laptop (on credit). That is one thing that is keeping me motivated —by lighting a fire on my ass, as they say. I also quit smoking; that is slightly tangential, but also not really, one of the reasons for that is that it will make it a little bit easier to make the payments for the laptop, the other is that smoking damages your focus and overall energy and awareness levels on the long run, so not smoking is helping me study better; it also helps with getting up an hour earlier than usual to study.

Aside form that, what keeps me motivated? Like all the youtubers say: "Remember your why" Sounds cheesy, but sure, I'll play along. I've thought a lot about it, actually.

A big part of the "remember your why" motto is that it has to be specific or it doesn't work. So being more specific:

I want to be an independent freelancer web developer, working to help small businesses grow by creating the websites and web solutions they need... and get payed for that. But there's an alternative to that, actually, sometimes it's one, sometimes it's the other: I want to be an independent developer, creating my own websites and apps, that make money. If I can skip the part about having normal "clients", that would make me really happy, I think.

Statements like that are always cheesy and you look back at them a few months or years later and think it sounds dumb; but they are not meant to be permanent, just usefull as a temporary general framework, something to think about when I'm wondering why should I study a certain topic and if I can trace line between what I'm learning and my grand goal, even if that line is blurry and ambiguous, then that helps to keep me motivated and anchored.

"Find goals that actually align with your dream lifestyle"

So what have I been up to anyway?

I should've kept track from the start because it seems that three months of bouncing around is enough to make it hard to recall accurately; but I'll try, even if it's not as precise as I would like.

When I first bought the laptop (it's a very mundane Lenovo with Ryzen 3, 8GB RAM, nothing fancy, but at least it's new) it came with Windows 11 pre-installed... ugh... I know. Even though I have been using Linux in my personal computers 100% for about 4 years now, I decided I might give Windows 11 a chance, see what's the fuzz. So I started the whole project still on Windows and the first path I took was to try to follow The Odin Project. I already knew some HTML and CSS from before, but I still thought I needed a good refresher. Anyway, I followed that for about two weeks.

Then I'm not sure at what point exactly I decided I had had enough of Windows and it was time to go back to Linux. But I wasn't in a mood for tinkering and struggling with configuration, so I decided to try Ubuntu 25.04; I installed it dual-boot, keeping the Windows 11 intact.

At some point around that time I took the first detour, because even if I said (to myself) that I didn't want to tinker very much, I can't help being drawn to it whenever I install a new Linux distro, it's kind of the essence of the Linux ethos anyway. So I followed the rabbit hole of Linux sysadmin for a while and before I knew it I was installing Ubuntu Server in the old PC and now I have a home server for my PHP experiments and a JellyFin instance for the family.

I think that's when I decided to take the new-old road of learning PHP. My reasoning was, in a few words, that even though it's not the most fashionable way to do backend anymore, it's more portable, more compatible with smaller projects that can be hosted on regular, cheap, shared server type hosting services. So yeah, that lasted for about a month; a month and a half if I count the time it took to build BlacCat, a kind of detour from the detour. It could be argued that Claude.AI did more work on this than I did and that I didn't actually do a lot of learning PHP from it, but I still think it's a pretty cool project to have completed, and part of the experiment was precisely to see how far I could get by essentially "vibe-coding" the whole project; it's live ad running, and there's a whole explanation about what it is and the phillosophy behind it in the "About" page.

After that I continued trying to learn PHP a little more. I had an idea for a project where I was learning by copying and studying with small snippets (provided by my friendly neighborhood LLM), that was fun for a bit. I was thinking about turning them into an ebook too; but it didn't prosper much longer. One day chatting with ChatGPT about my fullstack aspirations and why I thought PHP was a good tool for someone aspiring mainly to develop independent, smaller projects, because JavaScript and other backend languages are supported only on big enterprise size projects and not your run-of-the-mill shared hosting provider. Well, chatting with the bot, he —(it, she, they...?)— made me realize I was mistaken because nowadays things like Vercel and Netlify exist, where you can host projects with Node backend and even databases, much easier than I thought, at least; and they even have a free tier that is not bad at all. Long story short: I pivoted again, because the only reason I had to favour PHP was the "small independent projects" thing, but knowing that thanks to those new kind of platforms, that's not an issue, there's really no reason not to focus on JavaScript.

The last pivot, I hope

So then I decided to go full steam on fullstack JavaScript. I asked the bot to generate a thorough roadmap, from beginner to freelance-ready, and it generated this; so I started trying to follow it step by step at first, but got bored almost immediatly and after doing a little soul-searching I had an epiphany:

The problem with so many tutorials, books, courses is they are way too bottom-up, specific to general; what they are lacking is more top-down learning; I wrote a blog entry about it here. And now I'm trying to follow a less bottom-up method, but I'm still tracking my progress with the roadmap and even made it public to have some feeling of accountability.

And so, we come to the present

I came up with a project which I think has a lot of potential to become something long-term and maybe even to help some people who, like me, have been trapped in tutorial hell for ages. I call it Code Apprentice, because it reflects a more "apprenticeship" style of learning where you learn more by repetition and participation in real-life (or close enough) applications, but with slowly growing amounts of agency, gradually building fluency from the general to the more specific. Anyway, there is more information in the site. I have been folowing that, and also combining it with a few more "theoretical" lessons because the pure top-down isn't always enough.

So that is the current state of things regarding my aspirations to become an independent fullstack develloper as of early November 2025. Any questions?

index