The Accidental Engineer: Why I Didn't Study CS, and Why I Have No Regrets
My journey from a phone-only hacker kid in KwaZulu-Natal to full-stack engineer and data engineering learner — without ever studying Computer Science, and why that path was exactly right.

I get asked this sometimes: "Why didn't you study Computer Science? Do you regret it?"
It's a fair question. I'm a Full-Stack Engineer building with TanStack Start, Hono.js, and FastAPI. I'm deep in Data Engineering through ALX Africa. I write about modern web architecture and legacy system modernization. On paper, I look like someone who should have taken the CS path.
But I didn't. Here's why — and why I wouldn't change a thing.
The "Hacker" Kid Who Didn't Own a Computer
Growing up in KwaZulu-Natal, I was that kid. The one fascinated by computers from a distance — because owning one wasn't an option. My imagination was fueled by Hollywood's depiction of hackers: cool, mysterious people doing impossible things with keyboards. Never mind that they were usually the antagonists. At that age, you don't think about implications. You just know you want to be them.
In 2016, I got my first phone. While most kids my age were deep into Mili Militia and mobile games, something else clicked for me. Yes, I played games too — I'm not claiming sainthood. But my default relationship with that phone was different: I wanted to understand it. I spent hours figuring out how it worked, using it for document processing, treating it as a tool first and an entertainment device second.
That distinction matters. It's the earliest sign of what I'd eventually become.
Grade 10: The Science Stream Gamble
When it was time to choose subjects, I picked the science stream. Not because I dreamed of being a doctor or engineer — but because it had Computer Applications Technology (CAT). That was the closest I could get to computers in a formal setting.
Grade 10 introduced us to HTML basics. And honestly? It didn't click. Not immediately. I was distracted, focused on other subjects, still figuring out what I actually wanted. But CAT kept me in the computer lab. It kept me exposed. That exposure mattered more than I realised at the time.
The Pandemic Pivot
Grade 11 arrived with COVID-19. Suddenly we were all at home, quarantined, with time on our hands.
I found a Facebook community where people were learning to code. And that's when HTML finally made sense. Using that same phone — the one I'd always treated as a productivity tool — I started learning. HTML and CSS were a struggle. JavaScript made absolutely no sense. But I kept going.
By the time we returned to school in matric, I could build basic websites. More importantly, I finally knew what I wanted to be when I grew up: a developer.
My academic focus shifted. I started loving CAT — especially the coding parts. While my classmates used school computers for assignments, I used my phone for YouTube tutorials, coding along in whatever editor would run on a mobile device.
My first real project was for a school practical. We were only taught HTML, but I made it interactive with JavaScript and styled it with CSS. It was messy. It was mine. And it worked.
What Learning on a Phone Taught Me
Looking back, the medium shaped the message. Learning to code on a phone — with only YouTube and a Facebook community — taught me things a traditional classroom never could.
It taught me audacity.
When you're debugging JavaScript on a 5-inch screen at midnight, the idea that you need permission to become a developer dies pretty quickly. If I could learn this way, I could do anything. That audacity — the willingness to go after things without a clear path — has carried me through every transition since.
It taught me to seek information relentlessly.
I wasn't just learning to code. I was learning how to learn — how to find the right tutorial, how to filter bad advice from good, how to solve problems when no one was there to help. By the time I reached university, I was already an information seeker. That made Information Science not just fitting, but inevitable. I'd been practicing it for years without knowing it had a name.
It taught me to prioritise the new.
When you're self-taught, you don't have a curriculum telling you what's relevant. You have to develop radar for what matters. I learned to gravitate toward modern tools, fresh approaches, technologies with momentum. Stagnation became the enemy before I had words for why. That instinct — always reaching for what's next — is why my stack today looks the way it does.
And slowly, it taught me taste.
This one takes time. You can't rush it. Taste is what tells you when code is not just correct but right. When a UI is not just functional but respectful. When a solution is not just quick but elegant. You develop it by building badly, recognising it, and building again. By paying attention to what moves you in other people's work. By caring. My phone and YouTube started that education. I'm still finishing it.
The University Detour
Then came the plot twist: I didn't qualify for Computer Science.
If this were a certain kind of story, that would be the moment everything fell apart. But life doesn't work that way. You adapt.
After a gap year, I got accepted to study BIS Publishing at the University of Pretoria. Not CS — but I love writing, so it felt like a meaningful alternative. The first semester showed me flames. Publishing wasn't it. So I migrated to Information Science.
That's where everything unlocked.
What Information Science Taught Me
Information Science at UP isn't about library science (the name misleads everyone). It's about information systems — the value of information, how it moves through societies, how technology mediates access to knowledge, the ethics of data. It gave me something self-study never could: a theoretical foundation.
From YouTube, I learned how to build. From Information Science, I learned why it matters.
Suddenly web development wasn't just about making things work. It was a tool for participating in the knowledge society — for building systems that actually serve people.
By 2023, my first year, I was deep into Node.js and React. Not just following tutorials, but building toward mastery.
The Data Engineering Turn
Late 2024, I was scrolling TikTok (yes, really) and came across a video about data fields. The person explaining Data Engineering made it resonate in a way that stuck. I researched further. Applied to ALX Africa. Started their Data Engineering programme.
I graduate in November 2026.
Where I Stand Today
So here's my formal background:
- Degree: BIS Information Science, University of Pretoria
- Current Learning: Data Engineering, ALX Africa (graduating November 2026)
- Self-Taught Specialisation: Modern web applications
My Stack Choices (And Why)
I call myself a pragmatist. My stack reflects that:
- TanStack Start over Next.js — The ecosystem matters. I chose flexibility and developer experience over the default.
- Hono.js over Express — Lightweight, simple, built for modern JavaScript runtimes. No unnecessary baggage.
- FastAPI for data-heavy work — When the data gets heavy, Python with FastAPI is the right tool.
- Golang (strategic learning) — This is my future-proof move. Go takes me beyond the abstraction comfort of JavaScript into actual systems engineering. Not just apps — systems.
What Drives Me
I hate legacy systems. Not the people who maintain them — the systems themselves. The technical debt. The manual administration. The friction they create for organisations that should be moving forward.
My core focus is combating legacy infrastructure with modern, robust alternatives. That's what gets me out of bed. That's what the Facebook video from Malawi was about. That's what my Astro article was about. That's what all of this is about.
The Question: Do I Regret Not Studying CS?
No.
And that's not sour grapes. It's honest assessment.
Would CS have given me deeper theoretical computer science knowledge? Absolutely. Would it have made me a better engineer? Maybe. But here's what my path gave me instead:
- Information Science taught me to think about systems in context — about information as a social and organisational force, not just data structures and algorithms.
- Self-teaching forced me to build real things, solve real problems, and develop the kind of resourcefulness that comes from debugging JavaScript on a phone at 2 AM.
- ALX and structured learning now give me the data engineering depth I want, targeted and practical.
- The detours gave me a story. They gave me perspective. They gave me a reason to build for the Africa that isn't online yet.
What I Am
If I had to sum myself up in a line, it would be this:
A pragmatic, self-taught developer with formal information science training, building modern systems to replace legacy infrastructure — and learning data engineering along the way.
Not a CS graduate. Not an imposter. Just an engineer who took the long way, learned different lessons, and wouldn't trade those lessons for anything.