Breaking things apart!
purpose software-engineering

Breaking things apart!

A quick bit of background for those who don’t know me.

As a kid, I had an unrelenting curiosity. I broke things — furniture, gadgets, toys, anything I could get my hands on. Not out of malice, but because I had to know how they worked. My mom nicknamed me ‘kwabena adesɛefo’ (which means ‘kwabena the destroyer’).

That instinct never left. I figured how to solve problems through the mess I created. These days, I’m more likely to take apart software systems than remote controls, but the drive is the same: break it down, understand it deeply, rebuild it — even if that means reinventing the wheel.

Don’t get me wrong, though: this post reflects my current thoughts and mine alone. Maybe in the future, I’ll have a new awakening or fresh perspective. But for now, this is where I stand.

Why do I reinvent?

To learn, mostly.

I’ve found that trying to rebuild things sometimes exactly, sometimes with a twist actually stretches me in ways tutorials can’t. I’ve built a parser, an interpreter, a DES and RSA encryptor, a passkey system, even small HTTP and SMTP servers. Some of them failed spectacularly. Others… worked surprisingly well. But each one taught me something I wouldn’t have learned otherwise. It’s a habit I’ve had to defend more than once. Why rebuild what already exists? Why not just use the tools that get the job done? And that’s fair in many environments, shipping fast is the goal. But there’s a particular kind of depth you only get by taking the long way around. Of course, I’m not suggesting you build everything from scratch, that would be counter-productive. However, in the spirit of learning, I enjoy building them up, even if it’s a naive implementation. The goal is always to build intuition from knowing the bigger picture.

People like Erik Dietrich and Primaegen have touched on this before. They talk about the dangers of plateauing . When engineers hit a comfortable level of competence and stop growing. Erik calls it “the rise of the expert beginner,” someone who’s practiced the same year of experience ten times. Primaegen adds that some of that depth comes from not just using abstractions, but rebuilding them, living with your decisions, and slowly developing taste.

I relate to that. I’m not trying to be anti-tool or anti-efficiency. But I want to know what’s under the hood. I want to be the kind of engineer who can build, break, and rebuild with intent. Not just react to autocomplete suggestions, or build some fancy UI with React(strays🤣)

So… does this still matter?

I have been thinking about this more lately than usual.

The landscape is changing. Like really fast. AI tools and LLMs are now writing boilerplate, generating docs and scaffolding full-stack apps. In some instance, I have seen code reviews that were done by them. In the last 4 years, major tech giants are investing billions into this future. I have seen engineers(top-nothc engineers) lose their jobs. Teams are getting smaller. Tools are getting smarter. And honestly? A lot of things have become so easy. Heck! This post could as well be written by AI, even way better than I would reason out.

So where does that leave someone like me. Someone who insists on breaking things apart to learn? Again, as a word of caution, I am not experienced enough in the market to give an expert take, but here goes nothing. I strongly believe intuition still matters. The kind that is earned.

In an article by Kamna Sinha, on ‘How LLMS Work?’. I coud only gather these few thoughts;

AI is incredibly good at what:

  • what to write
  • what syntax looks like
  • what an answer might be

But the why?

  • why a system was designed in the way it was
  • why one abstraction works in context but fails in the others

By building systems from scratch, you start to feel the cracks. A lot of things break, and you learn to understand what breaks and with time, why they do. I am currently, developing a mental model that goes beyong pattern matching. Yes, LLMs accelerate execution, but they don’t replace judgement. They can suggest, but can’t really teach you why. In the words of a colleague, they’re just remixers.

Looking Ahead…

Purpose illustration

My hope is to keep leaning into this instinct. Not as a rejection of modern systems and tools, but a genuine interest to understand them. Coupled with today’s accelerating tools, I can build better systems and increase my latent potential. I hope to fuel my confidence knowing very well what I am capable of doing, be more adaptable and resilient.

In a world obsessed with faster and smarter, maybe there’s still room for slower and deeper. Maybe, that’s still worth something