How to learn to code and teach yourself web development

Interested in learning how to code? Want to teach yourself web development? In this post, I share my tips and advice for learning to code as well as sharing my favourite resources.

Over the last couple of weeks, I’ve had an influx of people telling me that they want to learn how to code and asking me where they should start.

And honestly, I’m also so happy to answer this question and provide as much advice as I possibly can.

Why? Because as a self-taught developer I know how incredible learning to code is and what it can lead to. Learning to code was one of the best decisions I’ve ever made and it has truly been life-changing for me!

In this post, I’m going to share my tips and advice for learning how to code and start building your own websites.

Can you really teach yourself how to code?

Yes, you can! I’m living proof of it!

I started learning to code when I was 14 and continued building websites and blogs as a hobby until I was 21. After leaving university with a completely irrelevant degree (Geography!), I decided to turn my hobby into my career and I landed a job as a junior web developer.

After a year in this position, I was promoted and I dropped the junior from my title. At the end of 2017 I quit my job to start working as a freelance developer, and here I am now!

If you’re interested in learning more about my journey to where I am today, check out this post. But the main thing to take away from this is I have no formal education in computer science or web developer yet I’ve managed to make a successful career out of it.

And even if you have no plans to make web development your career to, being able to code is a valuable skill to have and if you own a website or blog it will really come in handy.

I do think you need to be self-motivated, and you do need to be perseverant. Learning to code isn’t for everyone, and it’s certainly not for those who give up easily!

What should I learn?

I recommend you start off by learning HTML and CSS as they are the foundations of the world wide web.

HTML stands for Hyper Text Markup Language and it is used to structure a website page. CSS stands for Cascading Style Sheets and is used to style the structure created by HTML.

Let’s think of a website as a house. HTML is like the walls, the ceilings, the roof, the floors and the rooms that make up this house. These are the elements that come together to form a house, but on their own they look a bit boring!

CSS is the paint for the walls, the carpet for the floors, the curtains for the windows. It’s the elements that we add to a house to make it look beautiful!

Once you have a good understanding of HTML and CSS and you feel comfortable creating basic websites using them, I would then move on to JavaScript.

JavaScript is used to interact with HTML and program the behaviour of websites. You can use it to add, remove, change or manipulate the content within your website. I have to admit, I’ve always found JavaScript a more difficult language to learn than HTML and CSS, but it is definitely worth learning.

If you are interested in getting into building WordPress themes and plugins then you will need to learn PHP. I actually learned PHP through developing WordPress themes but it helps to have a basis understanding of what PHP is and how it works before you get start playing around with themes.

Where should I start?

I learned to code by taking other people’s code and tweaking it to see what results I got. In all honesty, I don’t think that’s the best way to learn!

Fortunately for you, the internet is now full of incredible resources to help you to learn to code so that you don’t have to learn the way I did.

If I were just starting out on my web development today I would definitely start off with freeCodeCamp. freeCodeCamp, as its name suggests, is a free online resource that teaches you how to code through interactive tutorials. In each lesson, a new concept will be explained to you, and then you be given an exercise to complete so that you can put these skills into action.

If you’re the type of person who learns best by getting stuck in, then freeCodeCamp is the perfect place to start. This website will teach you in a very logical way, starting off with the basics of HTML and CSS, and then moving on to applied visual design. It also covers JavaScript, front-end libraries, and it even includes advice for preparing for a job interview for a web developer position, which is amazing!

Where should I go from there?

freeCodeCamp is a great place to get started with your coding journey, but there are many other online resources like this. I recommend checking out the following websites to supplement your learning:

I’ve written a more detailed post on my favourite places to learn how to code which you can find here.

Also, I share web development tutorials from time to time so, you know, make sure you add my blog to your feed reader. 😉

Any advice for learning?

Remember, learning to code is a journey

First things first, you need to understand that learning to code is a journey. You won’t become a developer overnight or after just taking on online course.

When you learn a foreign language you are told to practice as often as possible, and I recommend this for learning to code too. Try to carve out half an hour a day or a few hours each week to work through a course or practice what you have learned.

I always compare learning to code to learning to drive; you only truly start learning once you get out there on your own and just start doing it!

Lower your expectations in the beginning

Another tip I have is to lower your expectations in the beginning. Your first website is going to look like it’s just stepped out of the 90s. But that’s ok! We all have to start somewhere.

Try not to compare your websites to other websites that you have seen online. It’s important to remember that in many situations, an entire team of developers and designers with years and years of experience will have worked together to create these websites. So don’t beat yourself up! With lots of hard work you will get there one day, I promise.

Also, I recommend you keep a copy of that very first website you build so you can look back at it from time to time to time and see how far you’ve come. Sometimes I use Way Back Machine to look back at my first couple of websites and while it really makes me cringe, it also reminds me of the incredible journey I’ve been on.

Document your journey

Something I really wish I’d done from the start was document my journey.

Somedays you’ll spend hours and hours on something but at the end of the day you feel like you’ve got nothing to show for it. On days like this, take a step and really evaluate what you have done. Sure, it might not look like you’ve made much progress, but you might have learned something really important along the way. You might have had a breakthrough. You might have initiated something that will lead to bigger things.

It’s up to you whether you decided to keep your journey private or make it public on a blog or a platform like Medium. You might find writing a blog helps you to stay accountable. Just do whatever work for you.

Surround yourself with the right people

Even though you’re teaching yourself to code, you don’t have to be alone on this journey.

There are lots of other people online learning to code and documenting their journeys through blogs and social media. I definitely recommend taking some time to look for people online who are also learning to code and follow along with them.

Fill your social media feeds with people who are going to inspire you and who you can learn from. Start conversations with them. Let them know that you love what they do. Give them feedback if they ask for it. Help them out if they have a problem you know the answer to. Surrounding yourself with the right people can make the journey easier and funner.

You can use hashtags like #100DaysOfCode and #CodeNewbie to track them down. And if you are a female, you can find other women talking about code by using #GirlsWhoCode and #WomenWhoCode.

If you’re interested, you can follow me on Twitter and Instagram.

Pin for later?