This morning I woke up and checked Facebook, Twitter, and the BBC as usual. One Facebook post caught my attention and it went something like:
Hi friends, I lost my job at [company] after a wonderful 2 years of being a [position]. Anyone got any tips or leads for work. Willing to travel. Thanks.
Now this post was from a friend of mine that I used to play poker with (I actually went 8 months playing full time) and while I didn’t currently know of any job openings, my response was:
Sorry to hear that buddy. While not an immediate solution, I always recommend people learn to code (html/css/js/php). There are always jobs or freelance opportunities building websites, though starting from scratch will take about 6 months to a year of intense learning. I’m always happy to mentor though.
Many people that I don’t know continued to post replies in support, or giving ideas on jobs, and I didn’t think much of it after that… Then, a few hours later, one of the people I didn’t know sent me a chat request with the opening of:
Hi Dan I am interested in getting into coding and was wondering if I could bother you for advice at times?
I responded with “Of course, here are the languages I know […] and I’m primarily a ‘WordPress Developer’ […] happy to help any way I can…” and we chatted back a forth a bit. After learning that this person had some technical skills, though no real ‘coding’ experience, I got thinking about how many others were in the same position.
‘Learning to code’ can mean many, many different things, though the principles of how code works largely remain the same. Here, I am talking about Web Development, so let us get down to the specifics.
- HTML (Hyper Text Markup Language) provides the actual structure of what a website is. It provide the groundwork for CSS to work with.
- CSS (Cascading Style Sheets) provides the visual language for what the HTML will actually looks like. Think about different link colors, the width of a site on your phone or computer, or the general layout of a site. CSS determines how content looks.
- PHP (our server-side language) – All websites live on a server somewhere – a server, in the simplest of explanations, is really just a computer that is running a different Operating System than the one you are using right now. When you visit a website, you make a request for certain information (the homepage / a specific article / etc…) and PHP (in this case) processes what you are looking for (on the remote server) and gives your browser back what you requested. PHP development is typically considered ‘back-end development’ because it’s processed on the remote server, where the code for the website actually lives, while HTML / CSS / JS are typically considered ‘front-end development’ as this code is processed in the user’s browser.
Ok, so now we kind of have an idea of what builds a website (though there can be much more). But you want to learn these things, where should you start? Let’s look at a few free places that you can start learning:
If you have any experience with web development, you may be wondering why I have included PHP in this article for beginners. This is because I am a WordPress developer. If you are not familiar with WordPress, it is an open-source CMS – so let us define what this means.
- WordPress – The name of the platform
- Open-Source – Anyone can look at, modify, and distribute the code of the platform itself
- CMS – Content Management System
In modern web development it is not acceptable to simply ‘hard code’ content into multiple HTML files. Doing this does not give the end user (client) that ability to change, update, or add new content without knowing HTML / CSS / JS. This is why I use WordPress and why PHP is included in this article.
But I have glossed over something very important. PHP only runs on a server, or a computer configured to deliver websites. This is a conversation for later – or, if you are comfortable with HTML / CSS / JS at this point feel free to take a look at the ‘Local Development’ section here.
Being any type of developer is a life long learning process. Languages and technology are always changing though understanding how code talks is much more important than knowing the specifics of any particular language.
For another take on all this, go over and checkout Michelle Schulp’s ‘Should I Learn to Code’ article.
Have other resources you liked when learning to code? Drop them in the (moderated) comments!