The experience catch-22 is real, but it is solvable. The key insight is that employers use "experience" as a proxy for "can this person do the work?" You do not need years on a payroll to answer that question. You need proof. Deployed projects are that proof. A portfolio of 3-5 live applications with real functionality (especially payment integration) will get you past most "requires experience" filters. Combine that with strategic internship applications, active networking in your local tech community, and a willingness to apply before you feel fully ready, and you have a workable playbook. The developers who stay stuck are the ones who keep learning without ever building or applying.
You open a job listing. "Junior Developer, 2+ years experience." You check another. "Entry level, must have worked on production applications." And another. "Recent graduates welcome, 1-3 years professional experience required." You close the laptop and wonder how anyone ever gets their first job.
This frustration is real. But here is what is actually happening behind those job postings: hiring managers write "2+ years experience" because they need a shorthand for "someone who can actually do the work." They have been burned by candidates who list technologies on their CV but cannot build anything. The experience requirement is a filter, not a law.
When a candidate shows up with no formal experience but a portfolio of deployed applications that clearly work, most hiring managers pay attention. They can click a link, see a live application, browse the code on GitHub, and make a direct assessment of skill. That is more useful to them than a CV that says "2 years at a company they have never heard of doing work they cannot verify."
The catch-22 breaks when you stop thinking of "experience" as "time on a payroll" and start thinking of it as "evidence that I can build things." The question becomes: how do you create that evidence?
This is the highest-impact section of this entire article. If you do nothing else, do this.
Build 3-5 real applications and deploy them to live URLs. Not localhost. Not screenshots. Live, working applications that anyone with a web browser can use. Here is what "real" means:
Real means it solves an actual problem. Not a calculator. Not a to-do app. Not a portfolio website about yourself. Build things that someone could actually use: a restaurant menu and ordering system, an event booking platform, an inventory tracker for a small business, a job board, a course platform.
Real means it has authentication. Users can sign up, log in, and have their own data. This proves you understand how real applications work.
Real means it connects to a database. Data persists. If I place an order, that order exists the next time I visit. This proves you can work with back-end systems.
Real means it handles money (at least one project). If one of your projects includes M-Pesa STK Push integration or Paystack checkout, you immediately stand out from 90% of applicants. Payment integration is the dividing line between "I followed tutorials" and "I can build production software." Our M-Pesa Integration course (KES 9,999) walks you through building this from scratch.
Real means it is deployed. Your application lives at a URL like myproject.vercel.app, not at localhost:3000. Deploying is the final step that many learners skip, and it is the step that hiring managers notice most. If deployment feels intimidating, our Deployment & Going Live course (KES 4,999) covers exactly this.
When you have five projects like this, your "no experience" problem is largely solved. You have evidence. The interview conversation shifts from "tell me about your experience" to "tell me about this project you built," and that is a conversation you can win.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
Many developers skip internships because the pay is low. And yes, developer internships in Nairobi typically pay KES 15,000 to 30,000 per month. That is not enough to live on independently, and nobody should pretend otherwise.
But here is what internships give you that is hard to get any other way:
If you can afford the low pay for 3-6 months (living with family, splitting costs with roommates, or combining with freelance income), an internship can be the fastest path from "no experience" to "employed developer." Look for internships at startups and mid-size tech companies. Large corporations often have more formal internship programmes, but startups will give you more responsibility and more actual coding.
People hate the word "networking" because it sounds like standing in a room handing out business cards. That is not what we mean. What we mean is: be visible in the places where developers and hiring managers spend time.
In practice, this looks like:
Twitter/X. Kenya and Nigeria have active developer communities on Twitter/X. Follow developers at companies you admire. Share what you are building (even if it feels small). Ask genuine technical questions. Respond thoughtfully to threads about technology you are learning. Over time, people recognise your name. When a role opens up, they think of you.
LinkedIn. Optimise your profile with your skills, a link to your portfolio, and descriptions of your projects. Follow and engage with CTOs, engineering leads, and recruiters at target companies. When they post job openings, you are already a familiar name.
Local meetups and events. Nairobi has regular tech meetups (Google Developer Groups, React Nairobi, Python Nairobi, and others). Lagos, Cape Town, and Kigali have similar communities. Showing up consistently, even as a beginner, builds relationships that lead to referrals.
Online communities. Discord servers, Telegram groups, and Slack channels for African developers. These are where job leads get shared informally, where developers help each other prepare for interviews, and where connections form.
A significant number of developer jobs in Africa are filled through referrals. Not because hiring is unfair, but because a referral reduces risk for the employer. If you know nobody in tech, your first priority should be changing that. Not by forcing transactional relationships, but by showing up consistently in spaces where developers gather.
If you cannot find a full-time job or internship immediately, freelancing can serve as a bridge. Not as a permanent solution for someone who wants employment, but as a way to earn income, build your portfolio, and gain professional experience while you continue applying.
Local freelance projects in Kenya range from KES 20,000 to 50,000 for a basic website or application. The pay is not great, but the outcome is: you have a project with a real client, deployed on a real URL, solving a real business problem. That is experience you can talk about in interviews.
Find freelance clients through your existing network first. Does anyone you know have a business that needs a website? Does a local restaurant need an ordering system? Does a church or school need an event management tool? Your first freelance clients are almost always people who know you personally and are willing to give you a chance.
The key is treating each freelance project as a portfolio piece. Deploy it properly. Document what you built. Get permission to include it in your portfolio. After two or three freelance projects, you have professional work to show even though you have never held a salaried developer position.
We go deeper on this in our guide on freelancing as a developer from Africa.
This might be the most important section in this playbook, because it addresses the real reason most people stay stuck: they keep preparing instead of applying.
Here is the pattern we see constantly. Someone learns React. Then they think they need to learn Node.js before applying. Then they learn Node.js and think they need TypeScript. Then TypeScript leads to wanting to know Docker. Suddenly it has been 18 months and they have never submitted a single job application, because they never feel "ready enough."
The truth: nobody feels ready for their first developer job. The developers who get hired are not the ones who waited until they felt ready. They are the ones who applied while feeling slightly terrified and figured out the rest during interviews and on the job.
Here is a practical rule: if you meet 60-70% of a job posting's requirements and you have deployed projects to show, apply. The worst outcome is silence (most applications go unanswered). The second worst outcome is an interview where you learn exactly what gaps to fill. The best outcome is a job offer. All three are better than spending another three months in tutorial purgatory.
What "applying properly" looks like:
Putting it all together. Here is the sequence that works:
Months 1-4: Build your skill base. Learn HTML, CSS, JavaScript, a front-end framework (React), a back-end framework (Node.js/Express), and a database (PostgreSQL or Supabase). Build small projects as you learn. Do not wait until you "know everything" to start building.
Months 4-6: Build your portfolio. Create 3-5 real, deployed applications. Include at least one with M-Pesa or payment integration. Push everything to GitHub. Write README files. Deploy to live URLs. This is the work that will actually get you hired.
Month 5 onward: Start networking and applying simultaneously. Engage on Twitter/X and LinkedIn. Attend local meetups. Apply to 3-5 roles per week. Apply to internships. Look for freelance opportunities. Do all of this at the same time, not sequentially.
Throughout: Keep building. Every week you should either be improving an existing project or building something new. Your GitHub profile should show consistent activity. Hiring managers check contribution graphs.
If you want a structured path through this entire process, the McTaba 6-month marathon is designed exactly for this. You build 15+ deployed applications with the African Stack (M-Pesa, Supabase, deployment), work with mentors, and graduate with a portfolio that directly addresses the experience catch-22. For the full-stack path, it is KES 120,000.
Read more about building the right portfolio in our guide on what a developer portfolio should include, or explore specific project ideas in our portfolio project ideas list.
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