This is a popular question that I often get asked from people who are familiar with coding, but not quite skilled enough or confident enough yet to dive right in and make a career out of it. And the answer is somewhat complex, because everyone is interested in it for a different reason. Some want to further their education in our growing high-tech society and keep up with the approaching future of parkour robots and AI. Other's want to land higher paying jobs than what they currently hold. And some just love the idea of being able to create something from nothing, with little more than a laptop and a decent internet connection. And these are all valid reasons, but they all have different entry ways and different roadblocks.
One important thing to realize is that being a web developer doesn't necessarily mean that you will be writing complex code and logic or doing any kind of programming. While it is possible that you might be writing complex server-side code to render complex web pages, more than likely you will be working with front-end facing tasks, such as UI/UX and PSD to HTML conversions. Tasks which are complex and require their own varying skillset.
Which means, don't worry about learning Python in your free time, which I find many people new to web development attempt to do. Python is a great language and has its own use cases. But not necessary to launch your website.
1. Traditional college route
This is the route that I personally took in becoming a web developer, not so much out of personal choice, but more so that many years ago it was the only option for getting into technology, as the internet was still not so useful. The overall curriculum that I took was heavily scientific and spanning multiple disciplines, such as logic, math, physics and electrical engineering. Concepts, which while not vital for web development, are still important for engineering software on a lower level.
We get what websites are, and that HTML and CSS make them render and such, but what is it rendering on and just how much electricity does it take to power a circuit? If you these are things that you are interested in, which can be useful in more complex job fields and such, then college might actually be the only route for you. Technology is relatively advanced these days, and we have done a fantastic job and hiding most of that complexity for the most part. For those interested in working on that level of complexity however, then a 4-5 year college education can be hugely beneficial.
More and more colleges and universities however are beginning to offer courses and micro-degrees in web development, not so much to be more inclusive, but more so to keep up with the times. Web development is much more important today than it was 10 years ago and as such educational institutions have to adapt. But it will take some time.
2. Free online courses
The best part about free, is that it is free. You can start right now. You can stop reading this post and head on over to w3schools.com and begin reading about HTML, then jump to CSS, then jump to JavaScript. And get a relatively good idea as to how everything works for the most part. And of course, there are many other online courses and sites as well, such as The Odin Project. You can also spend hours on YouTube watching videos on how to become a web developer and get a relatively good idea as to the process.
The biggest challenge with free-online material however, is that there is just too much of it, and everyone has a different opinion as to what is right and what is wrong. You can watch 10 different beginner videos and get 10 different approaches in how to do the same exact thing. I've met many people early in their programming careers who have told me that they have spent 6 months to a year trying to learn using free online resources. And this is a problem, not a positive achievement. When you self-guide yourself towards something, you have no idea when you get there, or how much further you need to go. You can be a beginner web developer for 4-5-6 years, simply because you have been learning the same type of material over and over in an endless cycle.
So while free online-material is a great boon for us today, it is definitely lacking in structure for the brand new student. Can you make it work? Absolutely. But it will take a bit more work on your part. Knowing what to follow and what to ignore will be highly beneficial. And learning to keep motivated when the material makes no sense and nothing works will be a good skill to build up.
3. Coding bootcamps
I've written about bootcamps before in the past as they are quickly growing in popularity these days with the increasing number of people interested in programming. Coding bootcamps are a good middle ground to the whole college vs self-taught approach mentioned above. They are much shorter for one, averaging anywhere from 3 months to 6 months, which means that they are much more cost effective. And different bootcamps offer various payment plans for those that can't shell out the funds right away. Many also offer deferred payments until after you land your first big programming job. And while not incredibly cheap, with some running upwards of $10,000, they are definitely much more attainable.
The most important aspect of coding bootcamps however, is that most focus on web development strictly. Most start off with the basic principles in HTML/CSS/JavaScript and finish off with more complex concepts diving into Node.js, React, and other web related technologies. You are not free to roam around the internet looking for random projects or random concepts that kind of make sense but that don't really offer any practical use. Most bootcamps have clear and concise project roadmaps that will cover the necessary material to get from novice to at a minimum entry-level skill for a job in less than a year.
Most bootcamps will also help you to find your first big job after your completion, through various preparation events and introductions and just in general by keeping you informed of hiring trends.
While bootcamps seem like the most buyable option for many from this list, I will mention that they are relatively new and it is difficult to determine whether in the long run they will be able to maintain their momentum with the increasing demand that technology has. But for the current time and society that we find ourselves in, they are definitely a worthy contender.
4. Mentorship
Yet a fourth option that isn't normally talked about. Finding a skilled web developer who has the bandwidth to take on students can be a buyable option for many. This is a more self-guided route overall, as you will mainly use your mentor as a guidepost to make sure that you are on a steady pace towards something more tangible. You can ask questions and get more familiar with the overall field and have a more realistic view on the entire process. This will in turn assist you in knowing where to go next. Similar to bootcamps, though with a bit less structure and accountability.
The challenge of course comes down to tracking down a web developer with the skill level and the time. No easy task, as most senior level web developers are usually in an 9 to 5 setting during their day to day. And many that are not, are building their own companies. But if you can find one, it would definitely be good to keep them in your back pocket, at least for reference. Sometimes the hardest part about learning anything is simply just knowing what to ignore and what to focus on, and this is where a mentor can play a huge beneficial role as they have been there and done that.
Hopefully this post offers a bit more clarity into navigating the murky waters that is becoming a web developer in this day and age. We currently live in a great time to explore varying new and complex fields of knowledge. How we choose to navigate it however, can determine whether we get to our destination with a fun story to tell at the end, or if we if arrive on a leaky raft wondering why we went that route. If you have any questions about the process, be sure to post them down below!