Skip to main content

Command Palette

Search for a command to run...

How I Started My Journey as a Web Developer (Beginner Roadmap)

Published
6 min read

Image of

Two years ago, I knew nothing about coding. Today, I'm building real projects and getting paid for it.

If you're just starting out, I want to share what actually worked for me and what I wish someone had told me earlier. This isn't a perfect roadmap—it's just how I did it, mistakes included.

The Beginning: HTML and "Is This Really Coding?"

I started with HTML because everyone said it was the easiest. Honestly, it didn't feel like "real" coding at first. I was just writing tags in a text editor and opening files in Chrome.

<h1>My First Website</h1>
<p>This is so basic...</p>

But here's the thing: those two weeks of HTML were crucial. I learned how websites are structured, how elements nest inside each other, and how the browser interprets code.

Mistake I made: I rushed through HTML thinking it was too simple. Later, I struggled with semantic HTML and accessibility because I didn't build a solid foundation.

What I'd do differently: Spend more time understanding semantic tags (<nav>, <article>, <section>). They matter more than you think.

CSS: Where Things Got Interesting (and Frustrating)

CSS is where I started feeling like a developer. Making things look good was addictive.

I spent weeks trying to center a div. If you know, you know.

.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

Once I discovered Flexbox and Grid, everything clicked. But I wasted a lot of time using floats and weird margin hacks because I followed outdated tutorials.

Lessons learned:

  • Learn Flexbox and Grid properly. Don't skip them.

  • Responsive design isn't optional. Mobile-first approach saves time.

  • CSS can get messy fast. Learn to organize your styles early.

  • Browser DevTools are your best friend for debugging CSS.

I built a lot of landing pages during this phase. Some were terrible. A few were okay. That's exactly how you improve.

JavaScript: The Real Challenge

This is where many beginners quit. JavaScript has a learning curve that can feel overwhelming.

I remember spending three hours debugging why my button click wasn't working, only to realize I misspelled the function name. Classic.

Here's what helped me:

Start with the DOM

Forget frameworks for now. Learn to manipulate HTML elements with JavaScript first.

const button = document.querySelector('#myButton');
button.addEventListener('click', () => {
  alert('You clicked me!');
});

This might seem basic, but understanding DOM manipulation made everything else easier.

Build Small Projects

I built:

  • A calculator (harder than it looks)

  • A to-do list with localStorage

  • A random quote generator using an API

  • A simple countdown timer

Each project taught me something new. The calculator taught me about functions and edge cases. The API project taught me about asynchronous JavaScript and promises.

Biggest mistake: Watching tutorial after tutorial without building anything myself. Tutorial hell is real.

I'd watch someone build a project, understand it completely, then forget everything the next day because I didn't actually code it myself.

Solution: Follow along with tutorials, but then rebuild the project from scratch without looking at the code. It's painful but effective.

The Frameworks Dilemma: React vs. Vue vs. Everything Else

After three months of vanilla JavaScript, I felt ready for a framework. Everyone recommended React, so I picked React.

Honestly? It was confusing at first.

function App() {
  const [count, setCount] = useState(0);

  return (
    <button onClick={() => setCount(count + 1)}>
      Clicked {count} times
    </button>
  );
}

Hooks, components, props, state—it was a lot. But after building a few small apps, the patterns started making sense.

My advice: Pick one framework and stick with it for at least 2-3 months. Don't framework-hop. They're all good. React has more jobs, Vue is easier to learn, Svelte is rising. Pick based on what interests you, not what's "best."

Things I Wish I Knew Earlier

1. Git is Not Optional

I avoided learning Git for way too long. I thought it was complicated (it is, a bit), but it's essential.

Learn these commands first:

git init
git add .
git commit -m "message"
git push origin main

That's honestly enough to start. You'll learn branches and merging as you go.

2. Your First Projects Will Suck

My early projects were genuinely terrible. Bad design, messy code, probably full of bugs. That's completely normal.

The fifth project will be better than the first. The tenth will be better than the fifth. Progress isn't linear, but it's there.

3. Reading Code is as Important as Writing Code

I learned so much by reading other people's code on GitHub. Pick a small open-source project and try to understand how it works.

4. Don't Learn Alone

I joined a few Discord servers and local meetups. Having people to ask questions and share progress with made a huge difference.

Reddit's r/webdev and r/learnprogramming helped me countless times when I was stuck.

5. You Don't Need to Know Everything

Imposter syndrome hits hard in web development. There's always someone who knows more. There's always a new framework or tool.

You don't need to master everything. Focus on building things that work, and expand your knowledge gradually.

The Job Hunt Reality

I started applying for jobs after about 6 months of focused learning. Most applications got rejected. That's normal.

What helped:

  • A clean portfolio with 4-5 solid projects

  • Being active on Twitter and LinkedIn (networking matters)

  • Contributing to open source (even documentation fixes count)

  • Writing about what I learned

My first role was a junior position at a small startup. It wasn't glamorous, but it got my foot in the door.

Resources That Actually Helped

I used a lot of free resources:

  • freeCodeCamp – Great structured curriculum

  • MDN Web Docs – Best reference for HTML, CSS, JS

  • JavaScript.info – Deep dive into JavaScript concepts

  • Frontend Mentor – Real design challenges to build

For more project ideas and tutorials, I've found resources like manishkandari.dev helpful for practical coding guides.

The Learning Never Stops

Even now, I'm constantly learning. New tools, new patterns, new best practices. That's part of what makes web development interesting.

Some days I feel confident. Other days I Google "how to center a div" for the hundredth time. Both are part of the journey.

You Can Do This

Starting from zero is intimidating. Everyone in this field was once where you are now, staring at a blank text editor wondering if they could actually become a developer.

The answer is yes. Not because it's easy, but because it's learnable.

You'll have days where nothing makes sense. You'll have days where everything clicks. You'll write code that doesn't work, then fix it and feel like a genius. You'll break things and learn how to unbreak them.

Start small. Build things. Make mistakes. Ask questions. Keep going.

The web development community is generally welcoming. We all struggled with the same things you're struggling with now. Don't be afraid to ask for help.

Your first line of code is the hardest. Your hundredth project is still challenging, just in different ways. But somewhere between the first and the hundredth, you become a developer.

See you in the code.


What was your biggest challenge when starting web development? Drop a comment below—I'd love to hear your story.