This section of my site seeks to provide an overview of the whole web development landscape; aimed for a beginner to quickly understand the breadth of the subject, or for any developer or designer wanting to expand their skill set. For either reader, I want to help make informed decisions about which topic, technique, or language might be best to hone next.
I won’t teach any of these things to great depth - the aim is to arm the reader with the competence to know which is appropriate for them to learn, the basics of that skill, and where to look for more information.
Why write this?
Because I realised there's a lot more to being a web developer today than when I started out. It's now a huge and varied field, and I'm not aware of anywhere that tries to give a general overview of the skills and possibilities being a web developer entails. There are plenty of resources for learning specific skills, but none I'm aware of that seek to reveal the broader picture.
Where I'm coming from
When I started making websites, sometime around 1997, it was an easy area to get into and a fairly easy one to 'master'. The web was very young, and I dare say many people familiar only with the web of today would laugh at the web of the 90's in disbelief. Facebook, Twitter, Google, MySpace, even WordPress... these things did not yet exist. YouTube was a technical impossibility no one would have even thought to imagine.
If you wanted to be seen online at the time, you built your own website. And it was easy. The only 'skill' anyone seemed to need to know was how to use Macromedia DreamWeaver in drag-and-drop ‘Design Mode’. Not only that, but many Internet Service Providers also offered website-hosting as part of their connection package. Just by putting those ISP details into DreamWeaver, spending a little time dragging text and images around, and clicking an upload button - you had a website anyone could visit.
That didn’t mean everyone would see it correctly though. At the time little heed was given by anyone, in any area, for any sized website or client, to the quality of code a website ‘used in the background’. It was normal for websites to feature mangled and broken HTML. And, because layout and design options were often impossible to have work the same in different browsers, this lead to messages in the footers of many websites proclaiming what software to use to view the site properly.
It all sounds quite primitive and gung-ho; and it was.
Back then there were no ubiquitous, or even particularly useful, search engines - Google did not exist, and DogPile, Ask Jeeves and co weren’t all that good. So there was no Search Engine Optimisation work to be done; if you wanted people to find your website you might add it to a ‘web ring’ or one of the ‘internet directories’ that mimicked a paper phone book, such as Yahoo! (It was a directory before it was a search engine). If you got serious you might consider buying a domain name, but it was not unusual for many sites to be found under a sub-directory of an ISP’s domain. Or somewhere on GeoCities.
Small and medium sized companies were only just starting to consider ’cyber-space’ as relevant to them, and there was a world full of job opportunities for the budding web designer/developer as a result.
Content Management Systems were often as not software running on the developer's local machine. The use of a server-side programming language to create a dynamic web-page on-the-fly was rare.
All of this meant it was pretty easy to get going if you wanted to ‘be a professional’ and make money building websites for other people and companies; there was a glut of work and the accepted standard of what made a good website was low.
A lot has changed since those early days.
Where we are today
Today there exist a variety of skills, tasks, jobs, roles, techniques, languages, frameworks, software, hardware, and even terms themselves - all critically related to the act of ‘making a website’. A 'web master' of the 90's would recoil at the complexity their role might entail in 2015.
Today, even if you’re a skilled and trained graphic designer, you can’t be considered a competent web designer until you at least know the basics of how a website is built, a fair few specifics of interaction design, and a number of other related challenges of the media.
Today you can’t really be considered a competent web developer if you don’t at least know the basics of a couple of programming languages, some server administration basics, and how to work with at least one CMS.
There are new areas of expertise that pop into existence from time to time and it seems that, year after year, there’s more stuff to learn than any one person could master.
All of which is why, today, it’s very hard to know where to start should you think to yourself ‘I wonder if I could make my own website?’. It can be just as hard to know where to go next once you have started out - would it be best to dive into accessibility as a topic, or client-side scripting? Version control? Learning a CMS? …
That’s where I’m hoping to help.
Welcome to my field guide for the modern web developer.