🚀 How it Started

A year ago I decided I was going to write code every day for a year. Actually… that’s not quite true.

On 11 July 2025 I found out I was losing my job. The challenge didn’t officially start until 3 August, but the decision was made that day. Sitting around waiting for another support job wasn’t going to solve anything, and I’d spent long enough saying I wanted to improve without actually forcing myself to do it. So I gave myself something that couldn’t be negotiated away. Every day I’d write some code. It didn’t matter if it was ten minutes or ten hours, I just wasn’t allowed to break the chain.

Today is day 365.

The strange thing is that coding every day turned out not to be the difficult part. Once I’d been doing it for a month or two it just became routine. I stopped thinking “I have to do today’s coding” and started thinking “I haven’t coded yet today.” They’re similar sentences, but they feel completely different. One feels like an obligation, the other feels like you’ve forgotten to do something normal.

💻 What Changed

If you’d asked me a year ago where I’d be today, I probably would have guessed I’d have another job by now. That hasn’t happened, and I’d be lying if I said that doesn’t annoy me. I genuinely thought that if I spent a year improving myself, building projects and learning new technologies then finding work would naturally become easier.

Instead I’ve ended up with far more knowledge, far more projects, a much stronger portfolio and exactly the same employment status.

That sounds more negative than I mean it to.

I don’t regret doing any of this. In fact, I’d say it’s one of the better decisions I’ve made. It’s just forced me to separate two ideas that I used to think were the same. Becoming better at something and convincing someone else you’re better at something aren’t the same problem. I solved one of them. I’m still working on the other.

Over the last year I completed five FreeCodeCamp certifications, built more little projects than I could honestly count, rebuilt both of my websites more times than was probably necessary, built a website for a real client, spent a lot of time with React and JavaScript, and then somehow wandered into AI engineering, local models, Docker and automation. None of that was really planned. Every time I learned one thing it led to another, and before long I was learning things that hadn’t even crossed my mind when I started.

🌐 The Websites

The websites probably benefited more than anything else.

Originally MechMadHog was just somewhere to throw blog posts, and MichaelMacDonagh.net existed because I needed a portfolio. Somewhere along the way they stopped being somewhere to show projects and became the projects. Every new thing I learned ended up getting tested on one of them. Sometimes I’d spend an entire evening changing something that nobody else would ever notice, simply because I knew it could be better. Looking back, that’s probably where most of the learning happened.

⬜ The Missing GitHub Square

There is one thing that still annoys me though.

GitHub says I missed a day; technically, it isn’t wrong.

One Year of Code

On 6 February I wrote code in a repository that no longer exists. A few months later I accidentally deleted it without realising that GitHub would happily remove the contribution along with it. By the time I noticed, it was gone.

Thankfully I’d taken a screenshot before I managed to do something that stupid. So I know I did it… but GitHub doesn’t, that missing square is going to irritate me for a very long time.

I’m still working through the remaining FreeCodeCamp certifications. They’re definitely starting to show their age now, and I’ve had to work around a few outdated sections, but I still want to finish them. Partly because I want the Full Stack certificate, and partly because after getting this far it would annoy me not to.

🤖 The AI Rabbit Hole

The biggest surprise of the year has been AI.

Not AI writing things for me. That honestly isn’t the interesting part.

The interesting part is everything underneath it. Running models locally, building agents, connecting systems together, automating repetitive jobs and generally seeing how far I can push my own computer before I accidentally break something. That’s where my interest has gone over the last few months, and I don’t think it’s going away any time soon.

🎯 Was it Worth It?

So… Was it worth spending a year writing code every day? Without question.

  • Not because I finished a challenge.
  • Not because I collected certificates.
  • Not even because it got me another job, because it didn’t.

It was worth doing because I don’t think I’m the same developer that started this a year ago, and I definitely don’t think the version of me from July 2025 could have built half of the things I’ve built since.

I’m still trying to figure out what comes next… At least now I feel like I’ve actually got something to build on.