Welcome to MurtazaWeb: A Self-Taught Developer's Guide
I’m Murtaza Khan, and I learned web development the hard way - without a CS degree, without a bootcamp, mostly through free resources and a lot of trial and error.
Three years ago I was working retail in Parramatta, spending my evenings watching coding tutorials and building practice projects that nobody would ever see. Now I’m a full-time developer at a Sydney fintech company, building production applications that actual users depend on.
This site exists to share what I learned along the way. Not the “learn to code in 30 days” nonsense you see on social media, but the actual process of going from knowing nothing to being employable as a developer.
Why Another Web Dev Tutorial Site?
Fair question. There are thousands of coding tutorial sites. YouTube is full of “learn React in 2 hours” videos. Why add another?
Because most tutorial content falls into two categories: absolute beginner stuff that covers only the basics, or advanced content that assumes you already know everything in between.
The gap in the middle - how do you go from completing tutorials to actually building things? How do you debug when the tutorial doesn’t cover your specific error? How do you structure a real project? How do you get that first developer job when you don’t have experience? - that’s what I struggled with most, and it’s what I want to focus on here.
I’m not going to teach you HTML from scratch. MDN docs do that better than I could. I’m not going to explain what a function is. FreeCodeCamp has excellent resources for that.
What I’ll cover is the practical stuff that fills the gap between following tutorials and working professionally. Project structure. Debugging strategies. How to read documentation. How to use Git properly. How to approach building features you’ve never built before.
My Learning Path (What Actually Worked)
I tried a lot of approaches. Some worked, many didn’t.
What didn’t work:
- Tutorial hell - endlessly watching videos without building anything myself
- Jumping between technologies without mastering any of them
- Trying to learn everything at once (frontend, backend, databases, DevOps, etc.)
- Building only toy projects that were too simple to teach me anything useful
- Avoiding topics I found difficult rather than pushing through them
What did work:
- Picking one tech stack and going deep before branching out
- Building projects that were slightly beyond my current skill level
- Reading other people’s code on GitHub to see how real projects are structured
- Forcing myself to debug issues rather than immediately searching for solutions
- Contributing to open source (even tiny contributions taught me tons)
- Writing about what I learned to solidify my understanding
- Networking with other developers and asking specific questions
The turning point was when I stopped treating learning like consumption (watching videos, reading articles) and started treating it like practice (building things, breaking them, fixing them).
What This Site Will Cover
I’m planning to write about:
Practical tutorials: Building specific features or projects with explanation of why we’re doing things, not just what to type. Things like “Building a REST API with Node.js,” “Adding authentication to a React app,” “Deploying a full-stack app to production.”
Development workflows: How to actually use Git for real projects. How to set up your dev environment efficiently. How to debug production issues. The practical stuff that tutorials often skip.
Career advice: How to build a portfolio when you don’t have job experience. How to approach technical interviews. How to negotiate your first dev job offer. What to expect in your first developer role.
Technology comparisons: When to use React vs Vue. SQL vs NoSQL. Monolith vs microservices. Not abstract theory, but practical considerations for actual projects.
Problem-solving approaches: How I approach building features I’ve never built before. How to break down complex requirements. How to research solutions effectively.
Current Tech Stack
I work primarily with:
Frontend: React, TypeScript, Next.js. Some Vue for legacy projects. CSS modules and Tailwind for styling.
Backend: Node.js with Express. Some Python/Flask. PostgreSQL for databases.
Tools: Git/GitHub, VS Code, Docker for local dev, AWS for deployment.
I’m not claiming this is the “best” stack. It’s just what I know well and what’s common in the Sydney job market. Your stack might be different, and that’s fine. Most concepts transfer regardless of specific technologies.
Who This Is For
This site is for people who are roughly where I was 1-2 years ago:
- You’ve completed some tutorials and understand basics
- You can build simple apps but struggle with real-world complexity
- You’re trying to transition into a developer role
- You’re self-taught or coming from a non-CS background
- You understand code but struggle with “how do I actually build X?”
If you’re a complete beginner, start with FreeCodeCamp or The Odin Project. Come back here when you’ve got fundamentals down and want to level up.
If you’re already a mid-level or senior dev, this probably isn’t for you. Though you might find some useful tips on mentoring or explaining concepts to juniors.
What Makes This Different
I’m writing this as someone who recently went through the learning process, not as someone who learned to code 20 years ago and has forgotten what it’s like to be a beginner.
I remember what was confusing. I remember the errors I couldn’t understand. I remember the frustration of tutorial code that just worked without explanation of why.
I’ll try to write the guides I wish existed when I was learning. Clear explanations. Working code examples. Troubleshooting sections for common issues. Links to deeper resources if you want to understand the theory.
And I’ll be honest about what I don’t know. I’m three years into this. There’s tons I haven’t learned yet. When I write about something outside my expertise, I’ll say so and point to better resources.
The Plan Forward
Over the next few months I’ll be building out:
- A series on building a full-stack application from scratch (planning through deployment)
- Guides on specific technical topics (authentication, API design, database modeling, etc.)
- Career transition content (portfolio building, job applications, interview prep)
- Tools and workflow optimization content
I’m also considering video content at some point, but I’ll start with written tutorials since that’s what worked best for me as a learner.
Why I’m Doing This
Partly to give back. The developer community has tons of free resources that enabled my career change. Contributing my own content feels right.
Partly selfish - writing about topics forces me to understand them better. Teaching is one of the best ways to learn.
And partly because I wish this resource had existed when I was learning. Maybe it’ll help someone else avoid some of the mistakes I made.
What’s Next
Next post, I’m going to write about the project that actually got me hired - a full-stack task management app that I built to demonstrate my skills to potential employers. I’ll cover how I chose what to build, how I structured the project, what features I included, and how I presented it during interviews.
After that, we’ll dive into some technical content. I’m thinking a series on building a REST API with Node.js and Express, covering everything from basic routing to authentication to deployment.
Let’s Build
That’s the intro. This site is about practical web development for people learning on their own.
If you’ve got specific topics you want covered or questions about the learning process, reach out. I’m building this based on what people actually need, not just what I think is interesting.
Thanks for being here. Let’s learn how to build things.