How to learn to be a web developer

The steps I took to make coding my career

Coding has a been a super hot topic for a while and I've noticed that a lot of people really want to get into it and make it their career. I think the idea of being able to build really cool things, seemingly out of nothing is very alluring to a lot of people. Though I think many times that comes with the mistaken idea, that developing websites/apps is something that's easy to do and quick to learn.

The truth is, however, that actual development is not that easy and building good products takes time and experience. But how do you even begin?

This post is not the perfect solution (I don't think there is one), but it is a guide of the good parts of the route that I took when I went from barely any coding knowledge to getting a full-time job in 5 months when I started to learn to code at the age of 25.

Choosing the language

People often think that this is the hardest part of starting to code. It's really not. There are tons of languages out there and the truth is, is that most of them work pretty much the same.

One of the biggest difference between the popular languages, in my opinion, is if they are strictly or dynamically typed. This just means that if you type something in a strictly typed language, such as a number, you'll have to explicitly declare it as such, whereas in a dynamic language, the types are inferred.

I personally am of the opinion that your first language should be a strictly typed language such as Java. Which is a very widely used language (it's used a lot for web backends and native Android apps) so it also has plenty of job opportunities with it. Now don't get me wrong. I am not a fan of Java and hardly use it these days, but I learnt a lot about programming in general by learning it first. And if I had to start all over I think I would start with it again.

On the flip side, if you are set on learning another language because it's hot stuff right now (here's looking at you JavaScript) than do that. Though you will learn Javascript on your web development journey anyway because front-end code (the code that runs on your browser) is JavaScript.

Truth be told, You'll always land up learning what you need to learn. Just choose a language that's relatively popular (so if you get stuck help isn't far away) and stick with it until you get comfortable.

Learn using books

The main thing about coding is that ideas have to click. If you don't understand something or just kind of get something, it's not enough. Something will eventually happen where you're going to wonder what happened.

When I started programming I watched a ton of videos on YouTube, but the problem is that they are often not as concise as reading something in a book, and often gloss over things that you may not understand at all. Books are often more explanatory and when things don't make sense it's easier to re-read something a few times rather than scrub through video.

The book that made Java click for me was "HeadFirst Java". It was fun to read, easy to understand and had practical examples to get through. Once I had finished it I was armed with far more confidence than any video series gave me. I would actually suggest any HeadFirst [insert language here] book as your first programming book.

The first few books I learned from were:

Even after all of those books I was still confused about a lot of things, you'll probably grasp it a lot faster than me. If you don't just persevere.

Learning HTML and CSS

HTML and CSS are essential to learn to be a full-stack web developer.

HTML is the language that tells the browser what elements are on the page and CSS is the language that adds additional styling to these elements

When I started web development, I got really focused on the different HTML tags and what they meant and how they worked with SEO and blah blah blah. I wasted so much time making sure I knew exactly where certain tags were meant to be. I wish someone told me, don't worry about that now. All you really need to know is the base structure of an HTML page, where to add javascript and where to add CSS. Get your data on your page, put it in a div and style it.

Make all the things

Constantly write code, make websites and learn by hacking your way there. Ask people if they want you to make them a website, or maybe see if you can make an app to help someone that you know. Just make things constantly and think about different ways of doing things and why you're doing things a certain way.

If you're interested in coding this will come completely naturally.

Get certification

While probably not necessary, I found that getting the Oracle Java certification did make getting initial job interviews easier and helped me secure a job relatively quickly after learning to code. It also focused my learning and forced me to understand concepts which I may have skipped because of not seeing the point of learning them.

Learn more.

Once you feel comfortable with a language, go and mess around with other languages. See how they differ from the language you learnt, and see how you can take advantage of their differences.

If you start with Java you might want to look at a functional language or a procedural language next.

I personally first learnt Java and Javascript, then PHP, then Python, then Clojure.

Learning to code is fun and its awesome to understand how the internet runs and what is behind all the tech we use on a daily basis. It's even more fun having a role in building it. It takes time and patience to learn but if it's something you want, it's worth doing.

The truth is you'll also never stop learning. I still watch tons tutorials and read many books :)