My advice to someone who wants to begin a career as a web developer
Tags: beginners, webdev, javascript, react
Published: 2020-09-02 20:00:12

When you are considering a career change it can be very confusing to know where to begin. That is definitely the case with web development.

This post is my advice to someone who wants to work for a company as a web developer. 

_If you're interested in my advice for someone who wants to get into web development as a tech entrepreneur, then check out my series [Web Development For Entrepreneurs Who Don't Know Where To Begin](https://dev.to/samuelearl/web-development-for-those-who-don-t-know-where-to-begin-part-1-12n7)._

## A little background first

In web development you have front-end development and backend development. Front-end development uses HTML, CSS, and JavaScript. Backend development uses a server-side language (e.g. Java, C#, Python, Node.js) and databases.

I would learn front-end development first because if you know React.js really well, then you can get a job pretty easily. Then I would learn backend development later on, if that interests you.

The problem with programming is that there are far more poorly written books than there are well written books. If you struggle with any of the programming books that I recommend below, then keep trying. Maybe you would benefit from a video series instead of books. The good news is that once you understand the basics of programming (and all of the strange terminology), then everything else will fall into place.

I think the best programming books are the ones that are organized like a math textbook. Math textbooks (1) explain a new concept, (2) walk through some examples to illustrate the new concept, and then (3) they provide you with exercises to practice and solidify the new concept. If you can find books or videos that follow that process, then you have struck gold!

## Here's my advice

These are the subjects that I would learn (in this order):

1. **HTML and CSS**. The book that I would start with is [Head First HTML and CSS, 2nd Edition](https://www.amazon.com/Head-First-HTML-CSS-Standards-Based/dp/0596159900). It is excellent! You can go from knowing nothing about web development to having a pretty decent understanding of web development in general and knowing HTML and CSS pretty well by the time you finish. Another option is [HTML and CSS: Design and Build Websites](https://www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118008189/ref=sr_1_2?crid=24ZO9P6A5KF4L&dchild=1&keywords=web+design+with+html+css+javascript+and+jquery+set&qid=1599074184&s=books&sprefix=web+design%2Cstripbooks%2C228&sr=1-2). I have not read this book, but it has really good reviews and I did read the author's JavaScript &amp; jQuery book, which was excellent!

2. **JavaScript**. This is the JavaScript book that I read: [JavaScript and JQuery: Interactive Front-End Web Development](https://www.amazon.com/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647/ref=sr_1_6?crid=24ZO9P6A5KF4L&dchild=1&keywords=web+design+with+html+css+javascript+and+jquery+set&qid=1599074184&s=books&sprefix=web+design%2Cstripbooks%2C228&sr=1-6). It was very well written and walks through plenty of examples. I would focus on the JavaScript parts and probably skip over the jQuery parts entirely. You can find this book in a set with its companion HTML &amp; CSS book (which I mentioned above) and possibly get a discount for the set. Another book you might want to consider is [Head First JavaScript Programming](https://www.amazon.com/Head-First-JavaScript-Programming-Brain-Friendly/dp/144934013X/ref=pd_bxgy_img_2/131-3570393-0746306?_encoding=UTF8&pd_rd_i=144934013X&pd_rd_r=e4ffa932-cc1a-4aa0-9999-9747c8532e6a&pd_rd_w=YIBFV&pd_rd_wg=cLBfS&pf_rd_p=ce6c479b-ef53-49a6-845b-bbbf35c28dd3&pf_rd_r=YQQ2RJHE05QWF9F0JGTX&psc=1&refRID=YQQ2RJHE05QWF9F0JGTX). I have not actually read through this JavaScript book, but the authors are the same as those from the Head First HTML and CSS book, so it's probably a good introduction to JavaScript. 

3. **React.js and Redux**. This is advanced JavaScript stuff that is being used right now. Don't worry about this until after you have a solid understanding of HTML, CSS, and JavaScript. When you are ready to learn React and Redux, you could read through the docs, but you will need some explanation about the ideas behind using a framework like React (e.g. component-based architecture, virtual DOM) and why you might use React instead of a templating engine, like Handlebars.js. I would look for a good book or a good video series about React and Redux that is organized like a math textbook. You can check out Udemy.com to find some good courses.

## A couple of tips
* The best way to learn web development is to create projects. The books I mentioned above walk you through a few projects, but when you are ready you should create your own projects because that causes you to think through an idea and work through the problems that you run into.
* I heard someone define programming as "a process of fixing errors". When you program you will have errors all the time. You need to learn to be patient. You will also get good at finding out how to fix your errors. If there is an error in your website, look in your browser console for an error message (right-click on your web page, select "Inspect", click the "Console" tab). Copy and paste the error into Google and read through the search results. You will get really familiar with a website called StackOverflow.com. It is where programmers go to post questions and get answers. You will most likely be reading a lot of posts and answers from that website throughout your life as a web developer.

It's going to be a long road, but stick with it and have fun! The advice and tips I gave above are some shortcuts that I wish I had when I started. Hopefully these shortcuts will help speed up the process for you so you can get started quicker than I did.

**Good luck!**