Bonaventure OgetoBy Bonaventure Ogeto|

How Do You Know You're Actually Improving at Coding? (Real Signals)

You are improving if you debug faster than you used to, if you reach for documentation instead of only tutorials, if you start thinking about systems rather than just syntax, if you can explain a concept to someone else, and if you can build small things without following a step-by-step guide. The signs that feel like progress but are not include completing certificates, finishing tutorials, accumulating lines of code, and knowing vocabulary without being able to use it. Real progress is measured by what you can build independently, not by what you have consumed.

Why Coding Progress Feels Invisible

When you learn to play guitar, progress is audible. Week one, you cannot play a chord cleanly. Week eight, you can play a song. The evidence is unmistakable, both to you and to everyone within earshot.

Coding progress is not like that. You study for weeks and your screen looks the same. You cannot hear improvement. You cannot see it in a mirror. The projects you build as a beginner look like the projects everyone else builds as a beginner, so even the output does not feel like evidence of growth. And the more you learn, the more you realise how much you do not know, which makes you feel like you are going backward even when you are moving forward.

This invisibility creates a specific kind of anxiety: progress anxiety. "Am I actually getting better, or am I just going through the motions? Am I wasting my time? If I am improving, where is the evidence?"

The evidence exists. You are just looking for it in the wrong places.

Real Signals That You Are Getting Better

These are the signs that indicate genuine improvement, even if they do not feel dramatic in the moment:

1. You debug faster than you used to. Three months ago, an error message sent you into a panic. Now you read it, identify the line number, and have a rough idea of where to look. You might still not fix it immediately, but the process of finding the problem has gone from "flailing randomly" to "investigating systematically." That shift is one of the clearest signals of real growth.

2. You reach for documentation instead of only tutorials. Early on, the only way to learn something new was to find a YouTube video where someone walked you through it step by step. Now you occasionally open the official documentation for a library or API and can follow along well enough to use it. Docs are written for developers. If you can read them, even slowly, you are becoming a developer.

3. You think in systems, not just syntax. When you started, coding was about getting individual lines to work. Now you think about how pieces connect. "If the user clicks this button, it calls this function, which sends data to this API, which stores it in this database." You are seeing the architecture, not just the bricks. This transition is invisible to outsiders but represents a fundamental shift in how your brain processes code.

4. You can explain a concept to someone else. If you can explain what an API is, what a loop does, or why a variable is undefined, in plain language that a non-coder can understand, then you have moved from surface recognition to genuine comprehension. You cannot explain what you do not understand. Being able to teach, even informally, is proof of real knowledge.

5. You can build without following along. This is the big one. When you can take a simple idea ("I want a webpage that shows today's weather") and build even a rough version without copying from a tutorial step by step, you have crossed the line from consumer to creator. The result might be messy and incomplete. That does not matter. The fact that you went from idea to working code without hand-holding is the milestone.

6. You recognise bad code, including your own. You look at something you wrote a month ago and wince. "Why did I do it that way? That is terrible." That reaction feels negative, but it is the opposite. You can only see that old code is bad because you now know better. Cringing at past code is literally what improvement looks like.

7. You know what you do not know. At the very beginning, you did not even know what you did not know. Now you can say "I understand HTML and CSS but I am weak on JavaScript async patterns" or "I can build a front end but I have not touched databases yet." That specificity about your own gaps is a sign of a more mature understanding. You have mapped enough of the territory to know where the blank spots are.

Fake Signals of Progress (That Trick You)

These things feel like progress but do not reliably indicate that you can build things independently. They are not worthless, but they should not be your primary measure of growth:

Certificates. Completing a course and getting a certificate feels like an achievement. And it is, in the sense that you finished something. But a certificate proves you consumed content, not that you can apply it. We have seen learners with multiple certificates who cannot build a basic webpage from scratch. The certificate measured attendance, not ability.

Tutorial completion counts. "I have completed 47 tutorials." Okay, but what can you build without one? If the answer is "not much," then the tutorials were not building the skill you think they were building. They were building recognition memory (you can follow along when shown) rather than recall and application (you can do it yourself).

Lines of code written. Code quantity says nothing about code quality or understanding. A beginner might write 200 lines of repetitive code to do something that a slightly more experienced developer does in 20. Writing less code to solve the same problem is often a better sign of progress than writing more.

Technical vocabulary. You can say "REST API," "asynchronous," "object-oriented programming," and "state management" in conversation. But can you explain what each means in practical terms? Can you use them? Knowing the words is useful. Mistaking vocabulary for competence is a trap.

Time spent studying. "I have been learning for 6 months." Time invested matters, but only if it was spent actively building and problem-solving, not just passively watching. Six months of daily practice building projects teaches more than six months of watching tutorials every other weekend.

McTaba's Measure: Can You Deploy It?

At McTaba, we do not measure progress by quiz scores, certificates, or hours logged. We measure it by one question: can you build something real and deploy it so other people can use it?

A deployed project is the only honest measure of ability because it requires everything: understanding the problem, writing the code, debugging it, styling it, connecting the pieces, and getting it live on the internet. You cannot fake a deployed project. It either works or it does not. Anyone can visit the URL and see the result.

This is why every path through McTaba ends with shipped work, not a certificate ceremony. The evidence of your ability is live on the internet, not hanging on your wall.

And here is the thing: the first deployed project does not need to be impressive. Your first project will be simple and probably a little rough. That is fine. The point is not the project itself. The point is proving to yourself that you can go from "I want to build X" to "here is X, running on a URL." Once you have done that once, you know you can do it again, bigger and better. That knowledge is worth more than any certificate.

A Practical System for Tracking Your Growth

Since coding progress is invisible by default, you need to make it visible intentionally. Here is a system that works:

Monthly "build from scratch" test. Once a month, give yourself a small challenge and build it from scratch without any tutorial. A simple calculator. A personal bio page. A form that saves data. Time yourself and note how far you get. Three months later, repeat the same challenge. The difference will be obvious, and you will have concrete evidence of growth that no feeling of self-doubt can erase.

Keep a coding journal. Two to three sentences at the end of each study session. What did you work on? What confused you? What clicked? After a month, read back through it. You will see concepts that confused you early on that you now understand without thinking. That trajectory is your progress, made visible.

Save your old code. Do not clean it up. Do not delete early projects. In three months, open the first thing you ever built and look at it with fresh eyes. The cringe you feel is not embarrassment. It is evidence that you have grown past that level.

Track your debugging process. When you encounter a bug, briefly note how you solved it and how long it took. Over time, you will notice that bugs that would have taken you hours now take minutes. Your debugging strategies become more systematic. That is one of the most reliable indicators of genuine skill development.

Ship regularly. Deploy something small every two to four weeks. Each deployed project becomes a permanent record of your ability at that point in time. Line them up chronologically and the progression becomes undeniable.

What to Do With This Knowledge

If you read through the real signals of progress and recognised yourself in several of them, then you are improving even if it does not feel like it. Trust the evidence over the feeling. Keep going.

If you read through them and realised you have been relying on fake signals (certificates, tutorial counts, time spent), that is not a failure. It is a course correction. Shift your focus from consuming to building. The next time you finish a lesson, close the tutorial and try to build something with what you just learned before moving on. That single habit change will transform your rate of genuine progress.

If you want a structured environment designed around real signals of progress, Tech Foundations (KES 2,999) gives you a path from zero to your first real understanding of how code works, with the McTaba community behind you. It is self-paced, meaning you move at your own speed. The trade-off is that self-paced requires self-assessment: you are the one deciding whether you have truly understood something before moving on. The McTaba Developer Marathon adds a mentor who does that assessment for you, plus a cohort and career support. But Tech Foundations is the right starting point if you want to find out whether you can do this.

If you are improving but the imposter syndrome is making it hard to believe, read imposter syndrome when learning to code next. If you are wondering what to put in a portfolio to show employers, what your portfolio should have to get hired translates your progress into something hiring managers care about.

Key Takeaways

  • Real signals of improvement are behavioural, not credential-based. You debug faster, read docs instead of only watching tutorials, think in systems, explain concepts to others, and build without step-by-step instructions.
  • Fake signals of progress include certificates, tutorial completion counts, lines of code written, and technical vocabulary you can recite but not apply. These feel good but do not prove you can build things.
  • One of the clearest signals of growth is that error messages stop feeling scary and start feeling useful. When you read an error and think "okay, the issue is probably on line 42" instead of "everything is broken," that is real progress.
  • The ability to build something without following along is the dividing line between consuming content and actually learning. Even a simple project built from scratch proves more than ten completed tutorials.
  • At McTaba, deployed projects are the measure of progress. Not quizzes, not certificates, not hours logged. Can you build it and ship it? That is the question that matters.

Frequently Asked Questions

How long until I feel like I know what I am doing?
Most learners start feeling a shift in confidence between months three and six of consistent daily practice. "Consistent daily" is the key phrase. This is not calendar time but practice time. The shift is not dramatic. It is more like gradually noticing that things that used to stump you no longer do. Full confidence is rare even among experienced developers, but functional confidence (you trust that you can figure things out even when you are initially stuck) typically develops within the first six months.
Should I get certifications or focus on projects?
Focus on projects. Certifications are not worthless, but in the current hiring market, a portfolio of deployed projects is significantly more convincing to employers than a list of certificates. A certificate says "I completed a course." A deployed project says "I can build things that work." If you must choose between spending your time on one or the other, choose projects every time.
Is it normal to still feel like a beginner after months of learning?
Yes, completely normal. The "beginner" feeling often persists well into the intermediate stage because coding is vast and you are constantly encountering new things. The reframe is to look backward instead of forward. Compare yourself to where you were three months ago, not to where an experienced developer is today. If you can do things now that you could not do then, you are improving regardless of what label you put on your current level.
How do I know if I am ready to apply for jobs?
A rough benchmark: you can take a simple project idea and build it from start to finish without following a tutorial. You can read a job posting, understand most of the technologies listed, and have hands-on experience with the core ones. You have two to three deployed projects in a portfolio. You can explain what you built and why you made the technical decisions you made. You do not need to feel "ready." Most people apply before they feel ready and learn the rest on the job.
What if I have been learning for months and still cannot build anything on my own?
This usually means you have been learning passively (tutorials, videos, reading) without enough active building. The fix is to stop all tutorial consumption for one week and try to build one small thing from scratch. It will be hard and uncomfortable. That discomfort is where actual learning happens. If this does not help, the issue might be structural: you may need a more guided programme, a mentor, or a different learning approach. Tech Foundations or a cohort-based bootcamp can provide the scaffolding that pure self-study lacks.

Ready to build real-world apps?

Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.

Apply to the McTaba Marathon