How to learn web development

The other day at a gathering I met a person who at the age of 35 had started to learn how to develop for the web. And since I’m currently working full-time as web developer I tried my best to give some advice, to draw some guidelines in the sand, but in the end I was dissatisfied with my advice at the time. With this article I would like to give some more well-thought advice to anyone looking to become a self-taught web professional.

Welcome to the river of web-tech #

Person staring at a river of web terminology words

Thinking about taking the plunge? Illustration: Nils N. Haukås.

Becoming a web developer is like jumping into a frothing stream of information, trends and new technologies. There is always something new to learn to the point where it can get somewhat ridiculous. I’ll soon give you some links to check out but this is a point worth dwelling on: Web development is a river of change. In other words you should get used to asking “what is this technology X/sorcery X you speak of?”

Get used to not knowing everything and get used to asking for helpful explanations. Also, rest assured that you do not need to jump onto every new tech hype out there. Once you start tuning into this world you will hear a lot of “this technology Y is amazing. This is how all development should be done.” It’s a thing tech folk is aware off and it does get joked a lot about.

Thankfully, there are some things in the web river that change less frequently. These are technologies and perspectives that form the bedrock if you will for the stronger currents that rush by overhead. That bedrock consists of the languages HTML (content), CSS (visual styling) and Javascript (general programming). If you learn these things well you will only need to update yourself once a year or so on new developments of these core technologies themselves. It’s a funny reason that these technologies change less frequently and that is that it’s damn hard to agree on web standards. Simply put, it is very rare that new “words” (language features) gets added to these languages as it is quite impossible to remove them later without breaking all the sites that wound up using those new words.

As you might have guessed by now I’m going to suggest that you learn the basics of HTML, CSS and Javascript. Afterwards it will be much easier to learn (and replace) new web technologies (that build on html, css and js) as you go along.

Learning by building #

Try building something small and find fellow web people to talk to. The challenge here is being willing to show off half-made prototypes in order to learn from the feedback of others.

As with any language you might also consider doing a deep dive. Just like immersing yourself in some ordinary spoken language you could do a full language immersion at a developer boot camp. Warning: There are definitely some boot camps out there solely looking to profit on their students and do not properly train them to be hireable on the job market. This podcast includes a healthy discussion of dev boot camps.

Anyhow. :) Best of luck to you. Hope this writeup may give you some guidance towards becoming a full-fledged web developer.

Resources #

  1. Learn HTML: developers.whatwg.org
  2. Learn CSS: css-tricks.com
  3. Learn Javascript: eloquentjavascript.net
  4. Useful podcasts: Codenewbie and The Shop Talk Show. I find podcasts like these quite inspiring especially Codenewbie.

Sidenotes and such #

The nice thing about the tech industry is that many people are self-taught. Stackoverflow: 2015 Developer Survey showed that as much as 41% of the respondents were self-taught.

Disclaimer: Even though you should be able to learn web development we might still all have our jobs replaced by robots. In that case you could add me as a friend on Steam so we could play some online games together instead.