The web isn’t as easy as it used to be for new developers
I’ve always been interested in technology and lately things have taken a new turn. More and more I’ve become interested in how the web is built and began to learn about what it takes to become a front-end web developer. The thing is, it’s not actually as straightforward as I thought it would be.
Less than ten years ago if you wanted to build your own website it was as simple as signing up for a Geocities account, hacking together a little HTML and then putting it up there for the world to see.
Today, not so much. Especially if you want to start building things for other people. With the advent of the modern web, mobile devices and responsive web design everything changed. There are now highly complex web applications that have to work on every screen size and type of device. It’s exciting, but daunting if you have no idea where to start.
There are too many options to choose from and so little time #
A few years ago, there were only a handful of things to start learning but as the web has become more popular, it’s become extremely difficult to know which tool, framework or language to learn first.
If you wanted to build your own website, you’d probably have just built it in HTML + CSS about ten years ago. As things have progressed, more advanced languages and methodologies such as PHP, Ruby on Rails, MVC applications, Javascript and ASP have become increasingly popular.
New tools have emerged like jQuery, Backbone, Angular, Ember, LESS, SASS and Node.JS. It’s at the point where it’s overwhelming when you’re new. Assuming you know the basics of HTML and CSS, when you do a search on what to learn first, everyone has a different opinion on what you should learn first.
And it’s often just too hard to sit down and decide that you just give up.
Where to even start? #
This is a question I still don’t have the perfect answer to. I’ve been told to read books and not read books but just tutorials. To watch webcasts and not watch them but instead just try hacking things together
The learning curve on the modern web is immense once you move past basic Javascript and there seems to be few guides that can help you navigate through the crowded mess that are the choices you’re presented with. Everyone has an opinion but nobody has an idea of how you should get there.
What I’m finding the most effective so far for myself at least is having real world projects that motivate me enough to find the best way to build them and using tutorials, books and webcasts to guide me along the way. There’s simply nothing more motivating.
My very first project was a ‘simple’ travel blog for my girlfriend, who wanted an interactive map on a blog of her travels around the USA. Being naïve, I chose to try and keep it simple by building it on top of Wordpress using the Google Maps API and Bootstrap.
The best part was that I got it to work quite well. I built something that I was proud of by simply picking a set of tools, sticking to them and learning about new ones along the way as I was building it.
The rush of building a full ‘product’ and having someone use it in the real world for the first time is enough to make me want to keep building and learning, despite being overwhelmed with choices of what to learn next.
I’ve come to the conclusion that this is the best way for me to learn. To build something that I think people would want to use. A blog or maybe a website for a friend. Something with a purpose. Then it’ll actually get done.
The world of fashionable code #
Another observation I’ve made so far is that if you’re asking for opinions from web developers on what you should learn or do they’ll often recommend the latest, most fashionable thing before something practical.
When I was still only just starting out, I was told by one person that the first thing I should learn was Backbone, despite me not actually having had any experience past basic Javascript. I couldn’t even figure out what Backbone was supposed to be used for!
It seems to me, the novice web developer, that developers move quickly from one fashionable language or tool to the next. Last year it was Ruby on Rails. This year it’s using Ember, Angular and Backbone.
It strikes me that there seems to be no simple way for someone who wants to learn to build the web to actually get started without feeling completely overwhelmed as the rest of the web community moves so quickly around them.
I don’t have the answers, but this is my journey #
I’ve decided that I’m going to document my foray into building the web. It’s something I’m immensly passionate about and want to learn more about, so I figure I’ll combine my other passion – writing – with the learning process to hopefully help share the knowledge I learn.
If you too are new to front end development and want to learn, I’d love if you subscribed to my FED blog or followed me on Twitter so we can learn together.