Learning to code involves writing instructions that a computer follows, then fixing those instructions when they do not work (which happens constantly). The daily reality: reading tutorials or documentation, typing code into an editor, running it to see if it works, getting error messages, debugging by figuring out what went wrong, and eventually making it work. Roughly 30% of your time is writing new code, and 70% is reading, debugging, and fixing. It feels frustrating at first (you will feel stupid regularly), then gradually satisfying as patterns click. Most people can write their first working programme within hours. Building something useful takes weeks to months.
Here is a realistic picture of what a day of learning to code looks like, stripped of jargon:
Step 1: You read or watch a lesson that explains a concept. For example, "how to make a button on a web page do something when someone clicks it." This takes 10-20 minutes.
Step 2: You open a text editor (a programme like VS Code, which is where you type code) and try to replicate what the lesson showed. You type instructions that should make a button appear and do something when clicked.
Step 3: You run your code (open it in a web browser) and discover it does not work. Instead of a button that does something, you see a blank page, or an error message, or a button that does the wrong thing.
Step 4: You debug. This means figuring out what went wrong. You re-read your code. You compare it to the example. You search for the error message online. You ask an AI tool (Claude, ChatGPT) to explain the error. Eventually, you find the problem: a missing semicolon, a misspelled word, a logical mistake. You fix it.
Step 5: You run it again. It works (or it breaks in a new way, and you go back to Step 4).
This cycle (write, run, break, debug, fix, run again) repeats hundreds of times per day. It is the fundamental loop of all programming. The ratio is roughly: 30% writing new code, 70% debugging and fixing. That ratio never fully changes, even for experienced developers. What changes is the speed at which you debug and the complexity of problems you can solve.
Week 1-2: cautious excitement. You write your first code. Things appear on screen because you told them to. It feels like magic. The concepts are simple enough to follow. You think: "Maybe I can do this."
Week 3-4: the dip. The concepts get harder. Basic syntax gives way to real logic: loops, functions, data structures. You get stuck regularly. Error messages multiply. Things that should be simple take hours. You think: "I am not smart enough for this." (You are. Everyone feels this way at this stage. We wrote about it here.)
Month 2-3: pattern recognition. Things start to click. You recognise common patterns. You debug faster because you have seen similar errors before. Building small projects becomes possible. The frustration does not disappear, but it becomes a familiar, manageable frustration rather than an overwhelming one.
Month 4-6: building confidence. You can build real things. A website. A simple application. Something you can show someone and say "I made this." The gap between what you want to build and what you can build is still large, but it is shrinking. You are starting to think like a developer.
Month 6-12: competence. You can solve problems independently. You can read documentation and figure things out without a tutorial. You can build portfolio-quality projects. You are not an expert (that takes years), but you are competent enough to be useful to an employer.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
Programming languages are just ways to give instructions to computers. The concepts behind them are simpler than they sound:
These six concepts cover roughly 80% of what you will do as a web developer. The remaining 20% is specific frameworks and tools that change over time, but the core concepts remain the same across any programming language.
The best way to understand what coding involves is to do it for 30 minutes. Not read about it. Do it.
Thirty minutes will tell you whether the process interests you. If it does, keep going. If it does not, you have saved yourself months by finding out early. Either way, you have answered the question this article tries to answer: what does learning to code involve? Now you know. It involves sitting down and trying it.
KES 2,999
Not sure where to begin? This beginner-friendly course covers how computers work, the internet, Git, and your first lines of code — everything you need before picking a stack. 10 modules, 89 lessons.
Start Tech Foundations