
This is long, but it answers the many beginner questions I see here routinely.
Get off this sub. Actually, other than finding the resources for where to begin (Odin, FCC, Udemy, Pluralsight, etc), get off any programming subreddit. We all learn in different ways. I myself went the bootcamp route, but that was because I needed the structure a bootcamp provides to remain disciplined. I’ve lurked this sub since the beginning of my own journey and half of the posts have always been people generically asking if they should take up web dev. This sub has awesome advice, great projects, and questions galore, but as a beginner, this sort of randomness is going to be a major distraction to your learning path. Also, there’s a lot of subjective assholes here trying to sell you their latest YouTube video for ad revenue, and their comments are unproductive. What ever resource you choose will have a discord or message board that will be much more helpful in the beginning.
Where to begin:
Google web dev jobs in your area, look for themes in job postings for common in demand technologies, consider your own interests in terms of where your passion lies. I highly recommend not chasing money as your single motivation. UI/UX? Front End? Back End? Full Stack? Google Full Stack Web Development Roadmaps 2021 and you will find a ton of maps laying out the most in demand paths to Full Stack. Commit to a path and go from there. Many of them will start with the same beginning path (HTML, CSS, JavaScript) and from there is where it’s really up to you. Don’t get distracted by new tech, stick with the path until you’ve finished, it will make everything else easier in the end.
Pitfalls:
The next thing is not falling into the pitfalls of tutorial hell. You don’t need to memorize concepts, you just have to understand how they work and can be applied before moving on, especially in JS. Things like FreeCodeCamp or CodeAcademy can be bad with this, because it’s quite easy to just replicate what they just taught you and feel accomplished because you got past the slide. Make sure you are understanding the concept. If not, open YouTube and watch the top result for that concept or hop on that resources forum and ask questions. Could you explain and teach this concept to someone else? That’s usually when you know you’ve got it.
Learn Version Control/Github:
Once you’re feeling like you can build something, even a simple HTML page with some style, or a simple Rock, Paper, Scissor game, look into Git and using the Command Line to push your work to Github. Even if your stuff is terrible or mediocre in the beginning, building a foundation with GitHub will eventually show employers that you’re actively coding on a daily basis and can also work to show how far you’ve come when you’re eventually pushing cool shit. Most online coding schools have a section teaching Version Control.
LinkedIn:
I really hate LinkedIn, but it’s going to be key for you to use to begin building an online presence. Get as many connections as you can from people you know. If you know people in tech, add them immediately. Having connections may be one of the single most important things when you feel you’re ready to look for a job. That can be the difference between a weeks job searching, or a few months. Add your projects that you’re proud of to your page. One thing I don’t recommend doing though is putting “Full Stack Developer” as your title. I’ve come to learn many companies bristle at this if you have no job experience and are calling yourself a Full Stack Dev.
Bootcamps
This can be a huge risk for a number of reasons. First and most obvious, bootcamps are crazy expensive, like $11k-14k expensive, and that’s for a grueling 3 months of full time or 6 months of part time. Second, bootcamps have become so consolidated in the last few years, you will end up taking the exact same curriculum as thousands of other people across the country, so by the time you finish, your profile of projects is going to look exactly like a lot of other people’s competing for the same job. With the economy shitting the bed the last year, enrollment in bootcamps has skyrocketed. Another downfall is time management. If you’re working full time, a part time boot camp is going to take up all of your free time. Have kids? Good luck. Like to play games on your free time? Unplug that shit and put it in the closet. Bootcamps offer structure, career coaching, and sometimes tutoring on the side. Take advantage of all of it. You really do get what you put in. Don’t be a jabroni and blow $11k if you can’t commit.
Apply For Jobs, even if you think you still suck
Once you have a portfolio of projects to show and you’re feeling confident (usually around 6 months to a year), start applying for jobs. Almost everyone who enters this field from somewhere else will have imposter syndrome. That’s totally normal, but know that you know more than you think. Even if you shit the bed in a dozen interviews before landing a job, that experience will be what makes you a stronger candidate in the future. codewars.com is a good resource for beginner algorithms and to see various ways people approach them. You don’t have to be a Data Structure and Algorithmic genius to get a job as a jr. web dev, you just have to be able to show an employer how you think about things and your work flow. Leetcode is also popular, but I find the problems to be a little more advanced than what a jr. dev will see in an interview.
Don’t let employers take advantage of your newb status
Unfortunately, if you are going the self taught or bootcamp route, employers may be tempted to try to low ball you or put you in a position that’s advantageous to them. Get on Glassdoor and look up the average salary for jr. web dev. jobs in your area, use that as your bargaining position. You’ll be lucky if you find a posting that provides a salary. Ask if they will provide you with a mentor. Look to see if the company is growing. Don’t put yourself in a position as a jr. dev where the company plans to dump their entire online presence (and survival) into your hands as a beginner, especially for a shit salary. It’s tempting to take any job to get your foot in the door, but if it doesn’t feel right, go with that instinct.
Once you understand the concepts, have direction, and are building stuff, then consider coming back to this sub. You’ll be amazed at that point by your ability to see just how distracting it can be for someone just starting. That’s about everything I have in terms of advice. Good luck and always be coding.
Edit: I just wanted to add one last thing that came to mind with YouTube tutorials. The best instructors on YouTube are the ones who are very frank with you that they build out a lesson plan and then use a second screen when making a video. These people aren’t geniuses, they’ve just gotten to the point where they understand the topic and can explain it thoroughly. WebDevSimplilfied made a good video once explaining this. It’s easy to feel overwhelmed and like you’re a moron if you watch someone on YouTube code out an entire app in ten minutes. It’s not because they’re a coding savant, it’s because they are copying from a second screen and then editing the video. Trust that the person you’re watching is actually interested in teaching and interacting with their followers, not just someone blasting forums and reddit with their channel for ad revenue.