# My Journey Through Self-Taught Web Development

*My journey through self-taught web development*

By [Josh MacKay Dev](https://paragraph.com/@joshmackaydev) · 2024-05-15

---

Introduction
------------

I have had a lot of people ask me about how I approached self education in web-development that ultimately led me to my first roll as a DotNet developer. I think that my situation is not unique, but perhaps my view on it and the lessons learned are. I won't go into anything very technical, but rather provide resources, lessons and a little bit about the mindset I developed. If I can help just one person on their own journey then I think that this post has served it's purpose.

Finding Your "Why?"
-------------------

Why are you starting this journey? I was fortunate enough to realise I needed to answer this for myself before I set out on this adventure. Luckily for me, getting to the answer was easy. If you read my [previous post](https://paragraph.xyz/@joshmackaydev/how-i-got-here?referrer=0x4e66551520a60CD642e1C80C2EDF818efC94D1d6) you can read how, simply put, programming came in and out of my life regularly, I love it, so I decided to go after it permanently. But not only that, it also represented a type of freedom, I can take this skill and use it anywhere. My partner is Latin American and now we can go over there to live when we want because I have this skill that isn't defined by borders and regulations.

To go deeper into this, I was previously in business and the end goal of business for me was always money, which was my why. I soon realised that it wasn't specifically money I was seeking. I was actually seeking freedom which required money. I had no interest in that business I was working on and I ultimately became burnt out and depressed, I was just chasing money.

This is where I performed some self discovery and decided I needed to find something that would allow me that freedom I was seeking but something that I also cared about. For me it was coding and developing. I can take it in different directions like working on projects that interest me, freelancing, business or some kind of new, innovative idea while using it as a tool to create the lifestyle that fits my definition of freedom.

So take the time to think about why you're doing this and be damn sure this is something you can see yourself doing. It's not easy and required immense dedication. Still interested? Then read on.

Before We Get To The Good Stuff
-------------------------------

Please keep this in mind. Everyone learns differently. What works for me may not work for you. You may pick things up faster reading books instead of following videos. The way one Youtuber explains a concept may be significantly better for you to understand over another Youtuber. The way an author communicates through a textbook may be too difficult for you to understand over another authors book. This post shares the resources I found helpful on my journey, it may not work for you. If you find an author or video creator or some other resource that you enjoy learning from, use that resource. It will help you to enjoy the process rather than fighting through it and potentially giving up. I just want to get you into the correct mindset and provide some fantastic, free resources that will help you on your way.

Free Online Learning Resources
------------------------------

I wasn't sure how I wanted to structure this post, but I think I will go straight into two recommendations assuming that you have no experience and you are starting out. These resources are going to set the foundation of your skillset. I want you to use these and stick to them if you want to go down the web dev path. Do not go down the education/course rabbit hole and get lost. These resources, if used correctly will really set you up.

#### FreeCodeCamp: A Great Start

FreeCodeCamp is a great resource to expose you to the technology you will be learning. It is all in the browser and makes it very easy to get started. Start with the web dev course first, then move on to the JavaScript course. The Javascript course has been massively updated since I did it, it looks very good. I would actually start using the second resource below as you start this Javascript section.

The down side to FreeCodeCamp is that it holds your hand every step of the way. That's ok if you have absolutely no experience, but there is no way to progress away from this hand holding unless you move on to another platform. Also, while being browser based is good to get started, it is better to get in and start using a code editor as soon as you can. This is where The Odin Project comes in.

#### The Odin Project: Going Deeper

The Odin Project Project for me was the real key to my development. This is a completely free resource that really sets you up to learn web development. It will have you start using a code editor and Git and get you into some really good habits from the start.

Where the real magic is with TOP is that it doesn't hold your hand. It presents you with theory and learning resources to present a new topics, it will then set you a challenge to build something like a basic web page, or a rock/paper/scissors game or a to-do list app. The difference is that unlike FreeCodeCamp, it is up to you to figure out how to build it. You need to learn how to plan your solution, how to use Google to find the information you need and how to troubleshoot/debug etc. It provides you with the theory needed to be able to go and figure it out for yourself.

The Odin Project will take you from HTML/CSS basics, all the way to building full stack Javascript apps in a way that really forces you to be self sufficient. I was actually asked to demonstrated my etch-a-sketch project from The Odin Project in my job interview for my current role. They also really liked how I maintained my Github, another skill developed from The Odin Project.

Learning Addiction, To Many Resources and Traps
-----------------------------------------------

The internet is a very noisy place. You are going to come across hundreds of content creators vying for your attention across social media. Chances are you will sign up for some courses here and some newsletters there. Before you know it you will have more information coming at you than you know what to do with. You will find that you are studying theory and concepts too complex for where you are at on your journey because these content creators are making you feel like you aren't skilled enough. They are taking advantage of your emotions to make their money or to get your email address. Learning addiction, a.k.a Tutorial Hell, is real and to be avoided.

Try not to fall into this trap. It can be very tempting to learn this shiny new thing this Youtuber says you should know, but the truth is, you haven't got the fundamentals down yet. The fundamentals is 90% of this journey. Perfecting the fundamentals allows you to pick up all of these new concepts.

Pick your single source of education (The Odin Project, or that book you like). Build the projects that resource tells you to build and understand the concepts it teaches you along the way. Use Google and Youtube as supplemental knowledge bases (this can't be avoided, it is an actual skill). Avoid anyone asking for you to sign up to something (for now).

A Bit More On Paid Courses and Resources
----------------------------------------

There is a time and place for paid courses, when you're starting out isn't it. You don't need to pay to learn coding, everything you need is out there for free. From the day you start learning, you are going to be blasted with flashy marketing by these web dev "gurus" who insist their $100 course is going to get you into your dream job. It won't. Some of them look tempting, I fell for a couple and never really used them. I signed up to ZtM Academy for example. They're marketing and website looks all polished and nice, but I went through some of their material and honestly, it was average. They all provide very surface level instruction, nothing you can't find for free on Youtube or elsewhere (which will be better quality anyway). This isn't to say what they do is bad, I'm sure it works for many people. But please start with those free resources I suggested above.

### What they do offer that is beneficial...

They only thing I'd say these online courses offer for beginners is a structured learning environment and consistency (sounds just like FreeCodeCamp doesn't it?). Having one source of knowledge in a structured and sequential manner is the only up side that they provide. Free resources tend to be a little all over the place as videos and articles are produced with just that topic in mind. And that content creator won't necessarily follow up with the next logical topic. Is this enough to pay though? Absolutely not. Save your money.

### When Should I Pay For A Course?

This isn't to say that you should never pay for courses or education. Just be a lot more selective with when you do decide to pay. For example, I wanted to learn vanilla Nodejs. I was having trouble finding a good resource for this and I found the Node course over at Traversy Media. He actually has some great free content on Youtube, but the information I was seeking was in this course he has on offer. It was a more specialised course that I needed and it was about $20 so I bought it and it's great.

### Other Things To Spend That Money On

Try to think outside the square a little bit. You can learn for free, that's great, but what else is required to get to where I want to be? You're going for a developer role right? What is needed to get there? Interview preparation, Github profile, Linkedin profile, resumes, cover letters etc. All of this can be a bit overwhelming if you're new to it. But there are so many people that are out there that have already done it that are willing to mentor you, why not leverage that with the money saved from not wasting it on courses. Or maybe you are working with one computer monitor. Adding a second one to your setup is pretty much essential today, that money saved could buy you a screen to make you more productive. Start to change your thought process around how your money will get you to your destination. In most cases, throwing at a course is the worst way.

Conclusion
----------

This was a little longer than I expected, but thanks for staying until the end.

In summary, try not to get sucked into Tutorial Hell or sign up to 20 different courses. Stick to one or two sources and really focus on building the projects they task you with. They have designed these projects for a reason, they teach you what you need to know.

Ensure you learn how to learn. Figure out how you absorb information, process it and use it, everyone is different. The sooner you figure this out the better. Take notes if you need to. I actually used notion and wrote up a section for each new topic I was learning. By putting the idea into my own words I was able to make it click in my own mind. As an example, I had trouble understanding interfaces in C#. After a lot of hunting I found a Youtube video explaining it in terms of a computer game. It clicked in my head immediately and I wrote about it in my own words in notion. This helped make the idea concrete and I was able to move on. Find some techniques that work for you.

Ask for help. Find some communities and start to network. You'd be surprised by how many people are willing to just help out where they can. I'm always happy to answer any questions too. If there is something you'd like to ask me about my journey, just ask, I'd love to connect.

---

*Originally published on [Josh MacKay Dev](https://paragraph.com/@joshmackaydev/journey-to-becoming-a-dev)*
