Web developer roadmap: from zero to your first job or client
Web developers build the websites and web apps that businesses, schools, churches, hospitals and governments run on. In Kenya there is steady demand for people who can build business websites, booking and payment systems with M-Pesa, school and SACCO systems, e-commerce shops and WordPress sites, both from local clients and from international companies hiring remotely.
This roadmap has 10 stages. Each stage lists the lessons to take (click them), what to build, and a checkpoint so you know when to move on.
Stage 1: How the web works and HTML (2–3 weeks)
Lessons:
- Introduction to HTML and how the web works
- Headings and paragraphs, links and images, lists and tables
- Forms and form inputs and validation
- Semantic HTML and SEO and accessibility
Build: the HTML landing page project.
Checkpoint: you can write a complete page from an empty file without copying, using header, main, section, footer, a form and an image with alt text.
Stage 2: CSS and responsive design (3–4 weeks)
Lessons:
- CSS introduction, selectors and colours, the box model
- Flexbox, Grid, responsive design
- Variables and dark mode, transitions and animations
- Design sense: design principles, typography, mobile-first
Build: the business page project, then Project: business website.
Checkpoint: your pages look good on a phone and a laptop, and you can lay out a card grid with Grid and a navigation bar with Flexbox without looking anything up.
Stage 3: JavaScript (6–8 weeks)
This is the biggest stage. Take your time.
Lessons:
- Introduction, variables and types, conditions, loops and arrays
- Functions and objects, array methods, scope and closures
- The DOM and events, form validation
- JSON and fetch, async/await, local storage
- Modules, npm and tooling
Build: the to-do app and the quiz app. Then add interactivity to your portfolio website.
Checkpoint: you can fetch JSON from an API and display it as cards, with loading and error states, and save user settings in local storage.
Stage 4: Git and GitHub (1 week, then every day)
Lessons: what Git is, your first repository, good commits, branches, GitHub, pull requests, GitHub Pages.
From now on, every project lives on GitHub with a clear README.
Checkpoint: your portfolio site is live on GitHub Pages and has at least 20 meaningful commits.
Stage 5: A back-end language: PHP or Node.js (6–8 weeks)
Pick one first:
| PHP | Node.js (JavaScript) | |
|---|---|---|
| Why | Runs on almost every cheap Kenyan shared host (cPanel). Huge WordPress and Laravel market. | Same language as the front-end. Popular with start-ups and remote jobs. |
| Hosting | Any shared hosting | VPS or platforms such as Render or Railway |
| Lessons | PHP introduction → forms and security → sessions and login → OOP → file uploads → Composer and frameworks | How backends work → Node and Express API → auth, passwords and tokens |
Checkpoint: you can build a login system that hashes passwords, uses sessions or tokens, and blocks pages for logged-out users.
Stage 6: Databases and SQL (4 weeks)
Lessons:
- What a database is, SELECT, WHERE and ORDER BY, GROUP BY
- JOINs, changing data, creating tables
- Keys and database design, indexes and transactions
- Connecting from code: MySQL with PDO and the CRUD app
Build: Project: blog with an admin panel and Project: inventory system.
Checkpoint: you can design tables for a new idea (say, a clinic), with primary and foreign keys, and write the JOIN that answers "which patients saw which doctor this week".
Stage 7: APIs and M-Pesa (3–4 weeks)
Lessons: designing REST APIs, a PHP JSON API, M-Pesa Daraja API, M-Pesa integration in PHP.
Build: Project: REST API and Project: M-Pesa payment system.
Checkpoint: a user can pay with STK push in the Daraja sandbox, your callback records the receipt, and the page updates when payment completes.
Stage 8: Deployment and hosting (2 weeks)
Lessons: domains, hosting types, DNS records, deploying on cPanel, SSL, email and backups, website speed, deploying Node and Python apps, PHP deployment. Security basics: web security.
Checkpoint: at least one database-backed project is live on a real domain with HTTPS.
Stage 9: A framework and bigger projects (4–8 weeks)
Pick one direction:
- Front-end: React → state and events → effects and data. Add TypeScript.
- Back-end: Laravel (PHP) or Express (Node), see Composer and frameworks.
- WordPress (big freelance market): WordPress basics.
Build one large project: e-commerce store, booking system, school management system or job board.
Stage 10: Portfolio, CV and getting work
- Follow Show your projects: portfolio, GitHub and CV.
- Freelancing: web design business, profiles and proposals, pricing, getting paid in Kenya.
- Jobs: apply to junior developer roles, internships and agencies. Many agencies hire juniors who can show a live project.
Your portfolio by the end
| # | Project | Shows |
|---|---|---|
| 1 | Personal portfolio site | HTML, CSS, responsive design, deployment |
| 2 | Business website for a real or realistic client | Design, SEO, contact form |
| 3 | Blog or inventory system | PHP/Node, SQL, CRUD, login |
| 4 | M-Pesa payment project | APIs, callbacks, security |
| 5 | One large app (shop, booking, school system) | Planning, full-stack, real-world thinking |
Common mistakes
- Tutorial hell: watching course after course without building. Build after every few lessons.
- Learning five languages at once. Finish JavaScript and one back-end language first.
- Skipping SQL and security. Real clients store real data; you are responsible for it.
- No live links. A recruiter will spend about 30 seconds. Give them a link that works on their phone.
Summary
- 10 stages: HTML → CSS → JavaScript → Git → back-end → SQL → APIs and M-Pesa → deployment → framework → portfolio.
- Build a project at every stage; publish everything on GitHub with live links.
- Expect roughly 9–15 months at 1–3 hours a day to be job-ready; it depends on you.
Check yourself
Which language makes web pages interactive in the browser?
Show answer
JavaScript
Which back-end language runs on almost every cheap cPanel host?
Show answer
PHP
What is the Safaricom API for M-Pesa payments called?
Show answer
Daraja
What is "tutorial hell"? Answer: watching tutorials without ___ (one word)
Show answer
building
Which free GitHub feature can host your static portfolio site?
Show answer
GitHub Pages