I work full time in web development (and have for several years now). The coolest thing about web development (to me) is that everything a beginner needs is available for free (and as an avid collector of programming books, I assure you that the best resources are also free). If you have an internet connection and a computer, you have all the tools it takes to learn. Here's a few things I think will help you on your way.
The hardest thing about learning any new occupation is knowing what questions you need to ask. Hopefully, after going through some of these materials, you will know which questions to ask (and maybe answer a few along the way). There are lots of other things you'll hear about like responsive design, JS Frameworks (React, Angular, Vue, Ember, etc), production tools (gulp, webpack, babel, etc), or testing (jasmine, mocha, chai, etc). These are all important, but not until you understand the basics and by the time you understand the basics, you'll know how to ask about these things and where to begin looking for the answers.
On the web resource front, MDN (Mozilla Developer Network) is good for both learning and reference (you'll use this one forever). CSS-tricks is amazing for CSS, but you'll need to use google to find anything aside from the almanacCss-tricks almanac
is a pretty useful resource (as is the rest of the site)
Crockford's The Good Parts
-- This should teach you all the basics of JS you need to know to get startedExploring ES6
-- this will teach you the newest syntax of the language (make sure you know ES5 first because this builds on top of that)
, Part 2
-- Not too difficult book about the basics of functional programmingDr. Boolean's Mostly Adequate Guide to Functional Programming
-- moving from the basics to advanced practical functional programmingYou Don't Know JS
-- extremely in-depth exploration of the language
If you have already invested in learning JS, I suggest you start using it on the back-end. It's not the end-all server language some people claim (it is very good), but it's easier to learn the back-end when you aren't having to learn a new language at the same time. Node Up and Running
should point you in the right direction on the server.
Git is ubiquitous in the web development community (and almost everywhere else). You MUST know git to do anything in the field. Learn Git Branching
is a great, interactive way to learn the basics.
In the browser, you're going to want to inspect your webpage as it runs (a great way to try things out). This site
should give you a decent look at what's possible. Here's specific docs for MS Edge
, and Firefox
I don't know what editor you use, but if you are using something like notepad or whatever, I'd suggest looking into the free Atom Editor
. It's very popular and does everything you'll ever need (I've bought several editors from Sublime to IntelliJ and I still find myself using Atom for most things).
Servers basically all run on Linux and most web devs use either Linux or OSX, so learning the basics of Bash is important. I haven't used it (they didn't have such things when I was learning), but I've heard good things about this site