Learning to Code Alone: My Self-Taught Journey Into Web Development
There's something no tutorial teaches you. Not online courses, not bootcamps, not documentation. It's the moment everything clicks ; what some call the awakening. I know it sounds dramatic. Anime made it look spectacular, almost mystical. But it's real. And it changes everything.
March 2022. I decide to learn to code.
I came from finance. Years of reading balance sheets, analyzing cash flows, understanding complex systems. I enjoyed it ; but something was missing. I was analyzing what others had built. I wanted to build things myself.
So I did what I'd always done in finance: I opened books. I studied theory. Variables, functions, data structures, paradigms. Weeks of reading, taking notes, understanding concepts before writing a single line of code.
It was the wrong approach. And it took me a while to realize it.
Finance and code don't teach the same way.
In finance, theory comes before practice. You understand the mechanism before you apply it. A discount rate, a capital structure, a debt ratio ; you can learn them from a textbook and use them correctly afterward.
Code is the opposite. Theory without practice doesn't stick. It slides off. You read, you understand in the moment, and two days later it's a blur. Because code is learned in the hands, not in the head.
I figured this out late ; after too many weeks spent reading without building.
Then came the first real project.
A website with an authentication system and data management. Nothing extraordinary on paper. Sign-up, login, full CRUD in PHP with Symfony. But it was the first project I built from scratch, understanding every line.
And then something happened.
Not an explosion. Not a flash. More like a gradual clarity ; like when a blurry image suddenly snaps into focus. The concepts I'd been reading about for weeks fell into place. Not because I re-read them. Because I used them.
That's the awakening. It's not dramatic. It's just the moment you realize you're not afraid anymore. Not afraid of a new language, an unfamiliar technology, an error you don't understand yet. You know you can figure it out. You have the programmer's mindset ; and once it's there, it doesn't leave.
What I'd do differently.
I'd start building. Day one.
Not ignore theory ; it's necessary. But consume it in response to a real problem, not as abstract preparation. You're stuck on authentication? That's when you read about sessions and tokens. You don't understand why your SQL query is slow? That's when you read about indexes.
Theory learned to solve a real problem anchors differently. It stays.
The resources that got me started.
I don't pretend to have an exhaustive list ; a good chunk of learning came from reading official docs directly. But here's what genuinely helped early on.
- Grafikart: PHP, Symfony, React. The most complete French-language channel for learning serious web development.
- MDN Web Docs: The reference for HTML, CSS, and web fundamentals. No shortcuts, just the source.
- OpenClassrooms: JavaScript, OOP, APIs, Python, Symfony, databases. Useful for structuring learning early on.
- Roadmap.sh: To know what to learn next. When you're self-taught, not knowing where you stand is the real danger.
After the awakening, one rule: read the official docs for the language or tech, then test. That's it.
Three years later.
Dozens of shipped websites: landing pages, catalogs, e-commerce, blogs. Clients, deadlines, problems I'd never encountered ; that I solved anyway. Each project added a layer.
In 2024, the level changed. Real applications. Complex business logic. Fintech. And now, ComptaOpen ; a platform for business management professionals in West Africa.
How I see what's next.
I'm not just trying to write good code. I want to build things that matter ; software that solves real problems, in contexts most Western builders don't even see.
My region has a tooling gap. That's not a handicap ; it's a playing field. And I want to turn it into something concrete, useful, open.
Being an indie hacker, to me, isn't romantic. It's a stance: don't wait for someone to hand you a problem. Find it, understand it, solve it. Adapt when constraints shift. Start again.
The impact I'm aiming for starts here, in West Africa. But good software has no borders ; and neither do I.