Most upvoted comment
Most popular programming book on Reddit. rank no. 33
Laid off. Perfect time for a career switch. Best approach for learning?(r/learnprogramming)
I can’t speak to bootcamps, but I can speak to learning to code on your own – you absolutely can.
The key to learning this stuff is to practice, practice, practice. Just build stuff. Poke around the HTML and CSS to see what happens. Don’t be afraid to build lots of sites just for the sake of building them. They don’t have to do anything useful, just have to give you some practice. A great way to practice is to take popular sites, and just attempt to duplicate them in HTML and CSS only. Take Facebook, Twitter, Reddit, Google, HackerNews, Wikipedia, and many others, and just try to duplicate them using HTML and CSS. Don’t look at their source code, just use them as a visual reference.
Here’s a quick orientation to help get you started should you choose to pursue UI development.
Topics & Tools to Learn
- HTML & CSS fundamentals
- Node and NPM (used for front-end build process and package management)
- Webpack (Build tool – crucial for development of complex UI applications)
- Frameworks and libraries (React, Angular, Vue etc). React seems to have the most professional demand, followed by Angular. Recommend diving into React when you’re familiar with the basics of JS.
- Promises & async data fetching. This is a common pattern you’ll encounter. You should really learn how to work with promises, even though there are alternatives (e.g. RXjs, async/await).
- Responsive design. It’s important for sites to adapt themselves to the screen/device they’re used on. When you’re comfortable with the basics of HTML & CSS, you’ll want to start exploring how to create responsive sites.
- Become a master of Chrome Dev Tools
- git and version control (just as important as knowing programming IMO).
- learn to love the command line
- HTML & CSS – Jon Duckett (older, but great introduction if you’re a visual learner)
- You Don’t Know JS (free versions of these on GitHub)
- Mostly Adequate Guide to Functional Programming (free online book – more advanced for when you’re comfortable with JS)
- Pro Git
- MDN. This is your reference bible for all things JS, HTML, and CSS. Even has some basic tutorials/crash courses for getting your feet wet. When you do a google search for something, you’ll often come across MDN results, StackOverflow results, and W3Schools results. Ignore the W3Schools results.
- StackOverflow. You’re probably already familiar with this. Linking just in case. Useful to for helping you get unstuck more so than actual learning.
- ES6 features. ES6 (aka ES-2015) is the latest major update to JS. It adds lots of syntactic sugar, features, and generally streamlines the language. I’ve found that site to be a fairly good quick reference to its features. Note that not all browsers support those features, which is where build tools like Webpack come in.
- git reference
Talks and Courses
- Understanding the JS event loop. This is more advanced, not something crucial you should feel you should dive into, just something to keep in the back of your mind. It’s really handy for understanding the async nature of JS execution order.
- Egghead.io. Lots of excellent courses, some free, some paid. Generally a bit disorganized, can be hard to know what’s up to date and what isn’t, but still lots of value there.
- Try Git. Great way to get feet wet using git from the command line.