Websites are awesome. You're probably using them all the time. As a matter of fact, you are using one right now! How cool would it be if you could create your own websites and web apps? Well, you can!
To get started with creating websites you need to "master" two languages: HTML and CSS. These two are all you need to make your website look like you want.
HTML is the structure of your webpage. CSS makes HTML structure you have look good.
jilles.me HTML (without CSS)
jilles.me HTML + CSS
I can't possibly write a complete guide to HTML and CSS in a blogpost but there are multiple great resources online. Most people learn by doing rather than just reading. My favourite resource to make use of this is Codecademy. If you click that link it will take you to a great introduction to HTML and CSS.
Your first website won't be the next apple.com but it will be something you made from scratch.
Finding an editor / IDE
Codecademy is great for learning but you can't actually save the code you write. You'll need a text editor or IDE.
There are a ton of great editors out there, everyone will tell you that theirs is better. When you're starting out don't care too much about editor features and plugins. Learn to understand the code you are writing first. Then focus on improving your development tools.
Now you have an editor, you can start to create your own local websites.
Learn a "back-end" language (optional)
I personally started with PHP over 5 years ago, only because Node.js wasn't a (big) thing yet.
With a back-end you can create a database. A famous application made by developers is a to-do app for example. I'd suggest you try and make a to-do app that can also save to-dos.
Create a GitHub account
That cool editor I showed you earlier? That's made by GitHub. It's an amazing website where millions of developers host their code and let others collaborate on it.
Kent C Dodds made a great series of videos on how to start to use GitHub.
Once you know how to use GitHub. Find a project you like, I know this sounds hard but any project will do. Everyone who is just starting out will feel like they are not good enough. The great thing about open-source is that developers are
always often very nice and will comment on the code you have submitted. Contributing to open-source is one of the best learning experiences out there.
If you really have no clue what project to contribute to, check out up-for-grabs. Although it's an awesome website, I strongly feel like you learn more from contributing to a project / projects you are passionate about.
Learn about front-end framework(s)
- AngularJS 1.x - a framework used by a lot of web-apps, very easy to get started and make applications.
- Vue.js - A user interface library like React, but more Angular like syntax
Revise that to-do app you made whilst learning a back-end language (or Node.js) to use any of these frameworks.
Get a job / internship
You won't get a job paying 100k+ when you have just done 6 months of web-development. Try to find a company that's nice enough to hire you as a junior or intern. If you have done open-source you can show them that. If you have personal projects you can show them that too.
You don't have to be the best developer yet if you show enthusiasm and passion for web-development to be hired.
I have learnt the most by working at different companies and for different clients. Every project is different and every client is too.
The options are almost endless. You can start your own open-source projects. You can attend meet-ups or even speak at some. You never stop learning.
This isn't a guide or series on how to become a web developer. This post just aims to get you started. The web is truly an amazing platform with a lot of amazing people working on it. Enjoy!