Frequently Asked Questions
Answers to the most common questions from beginner developers. Click any question to reveal the answer.
Getting Started
Do I need a computer science degree to become a web developer?
No! Many successful web developers are self-taught or come from coding bootcamps. What matters most is your portfolio, problem-solving skills, and ability to learn continuously. Companies care about what you can build, not where you learned it. Focus on creating real projects and understanding the fundamentals deeply.
What should I learn first — HTML, CSS, or JavaScript?
Start with HTML to understand structure, then CSS for styling, and finally JavaScript for interactivity. This is the natural progression that builds on each skill. Think of it like building a house: HTML is the foundation and walls (structure), CSS is the paint and decorations (design), and JavaScript is the electricity and plumbing (functionality).
How long does it take to become job-ready?
With consistent daily practice (2-4 hours), most people can become job-ready in 6-12 months. Everyone learns at different speeds, so focus on understanding rather than rushing. The key is consistency — studying for 1 hour every day is more effective than 8 hours once a week. Build projects as you learn to reinforce concepts and create a portfolio.
Do I need to be good at math to learn web development?
No. Web development does not require advanced math. Basic arithmetic and logical thinking are enough. You will use logic and problem-solving skills daily, but you will not need calculus or algebra. Frontend development especially focuses on design, layout, and user experience rather than mathematical computations.
What computer specs do I need for web development?
Any modern computer (Windows, Mac, or Linux) with at least 8GB of RAM will work perfectly for web development. You do not need an expensive machine. A free code editor like VS Code and a web browser are all you need to start. Even a Chromebook can work with online coding platforms.
Courses & Learning Path
Should I learn React, Vue, or Angular?
For job opportunities, React is the most in-demand. However, the concepts transfer between frameworks. Pick one, master it, and you can easily switch later if needed. We recommend starting with React (which Next.js is built on) since it has the largest community, most job listings, and extensive learning resources.
How do I build a portfolio without client work?
Build personal projects, contribute to open source, recreate existing apps, or volunteer for non-profits. The key is showing you can build real, functional applications. A strong portfolio has 3-5 projects that demonstrate different skills: one focused on UI/design, one on API integration, one on full-stack development, and maybe a collaborative project.
Should I take notes while learning?
Yes! Taking notes helps reinforce what you learn and creates a reference you can come back to. However, the most effective approach is to build projects alongside your learning. Reading and watching alone is not enough — you must write code to truly understand it. Try the 70/30 rule: 30% learning concepts, 70% building projects.
How do I stay motivated when learning gets tough?
Break your learning into small, achievable goals. Instead of 'learn JavaScript,' set goals like 'build a button that changes color when clicked' or 'create a simple calculator.' Join communities (Discord, Reddit) to connect with other learners. Celebrate small wins. Remember that every expert was once a beginner who did not give up.
Should I follow a structured curriculum or learn randomly?
A structured curriculum is much more effective than random learning. Following a clear path ensures you build foundational knowledge before moving to advanced topics. It prevents gaps in your understanding. Our learning roadmap is designed to take you from complete beginner to job-ready developer in a logical, step-by-step progression.
Career Questions
When should I start applying for jobs?
Start when you can build a full CRUD application from scratch. You do not need to know everything — companies expect to train junior developers. A good benchmark is: can you build a to-do app with a database, user authentication, and a clean UI? If yes, you are ready to start applying. The first job is the hardest to get; it gets easier after that.
How do I prepare for technical interviews?
Practice coding problems on platforms like LeetCode (focus on easy and medium problems). Be ready to explain your thought process out loud. Review common data structures (arrays, objects, linked lists) and algorithms (sorting, searching). Practice building small features under time pressure. Most importantly, be honest about what you know and what you do not know yet.
What should I put on my resume as a beginner?
List your projects prominently with live URLs and GitHub links. Include the technologies you used and what you learned. Add any open source contributions. Mention your education, even if it is self-study or bootcamps. Include soft skills like communication, teamwork, and problem-solving. Keep it to one page and tailor it for each job application.
How much can I earn as a junior developer?
Junior developer salaries vary by location and company type. In Kenya, junior developers typically earn between KSh 50,000 to KSh 150,000 per month depending on the company and your skills. Remote jobs for international companies can pay significantly more. Freelancers can earn $20-$50 per hour starting out, increasing with experience and reputation.
Do I need a LinkedIn profile?
Yes, a professional LinkedIn profile is essential for finding developer jobs. Recruiters actively search for developers on LinkedIn. Keep your profile updated with your projects, skills, and learning progress. Connect with other developers, join relevant groups, and engage with content in your field. Many job opportunities come through LinkedIn connections.
Technical Help
My code is not working. What should I do?
Follow these steps: 1) Check the browser console for errors (F12 > Console tab). 2) Use console.log() to print variable values and see where things go wrong. 3) Read the error message carefully — it usually tells you exactly what is wrong and on which line. 4) Search the exact error message on Google or Stack Overflow. 5) Take a break and come back with fresh eyes. Most problems have been solved before by someone else.
Should I use CSS frameworks or write custom CSS?
Learn vanilla CSS first to understand the fundamentals — box model, flexbox, grid, positioning, and responsive design. Then use frameworks like Tailwind CSS to speed up development. Understanding the basics helps you debug and customize frameworks when they do not behave as expected. Think of frameworks as power tools: they are great once you know how to use the hand tools.
How do I keep up with all the new technologies?
You do not need to learn everything. Master the fundamentals: HTML, CSS, JavaScript, and one framework (React/Next.js). Pick a tech stack and stick with it. Only learn new things when you have a specific use case or project that requires them. Follow 2-3 trusted sources for updates (like Fireship or Syntax.fm) rather than trying to follow everything.
What is the difference between frontend and backend?
Frontend is what users see and interact with in their browser — HTML, CSS, JavaScript, React. Backend runs on the server and handles data storage, authentication, business logic, and APIs — Node.js, databases, authentication. Full-stack developers work on both. Think of it like a restaurant: the frontend is the dining area (what customers see), and the backend is the kitchen (where the work happens).
What is Git and why should I use it?
Git is a version control system that tracks changes to your code over time. It lets you save different versions of your project, experiment with new features without breaking working code, and collaborate with other developers. GitHub stores your Git repositories online and is essential for job applications. Learn the basics: git init, git add, git commit, git push, and git pull.
D-Labs Platform
Is D-Labs really free?
Yes! All HTML, CSS, and JavaScript lessons are completely free. You can learn the fundamentals, build projects, and access our community at no cost. Pro and Premium plans unlock advanced content like backend development and premium projects, but the core learning path is free forever.
How do I upgrade my plan?
Go to the Pricing page, choose your plan (Pro or Premium), and follow the checkout process. We use M-Pesa STK Push for payments. Once your payment is confirmed, your plan is upgraded immediately and you get access to all the content included in that plan.
Can I track my learning progress?
Yes! Every lesson has a 'Mark as Complete' button. When you finish a lesson, click it and your progress is saved to your account. Your dashboard shows your overall progress percentage, completion stats for each track (HTML, CSS, JS, Backend), and your current subscription plan.
How do I reset my password?
Go to the login page and click 'Forgot Password' (coming soon). For now, if you signed up with email and password, you can use the Supabase password reset flow. If you signed up with Google, you are authenticated through Google and do not need a separate password.
How can I get help if I am stuck?
Join our community Discord server (check the Community page for the link). Ask questions in our discussion forums. Search our FAQs page for answers. You can also email us at dlabs.ke@gmail.com and we will get back to you as soon as possible.