How to decide what to learn next

Or: Help! I am drowning in knowledge

A few years ago you had people that knew everything there was to know about the web and the technologies that power it. Everything!

Now though, the amount of new knowledge in the form of frameworks, tools, practices, languages and skills are growing out of control. There’s no way a person can know everything there is to know about the web.

People don’t like this, which is understandable.

It’s intimidating for people that have been doing it since the beginning, and must be worse still for anyone just getting started with development.

So, what should you learn?

The best advice I can think of for beginners and novices alike is to revisit the basics, make sure you have a solid foundation before you start getting caught up in specific frameworks, tools and implementation details.

What does that mean today though? HTML, CSS and JavaScript?

Well, in a recent ShopTalk episode — aptly titled “The state of Front-End” — a panel of experienced people agreed that “Front-End” no longer means what it used to.

Chris Coyier listed a bunch of skills that the panel had to vote in or out of the Front-End domain. This was the results:

  • HTML — Yes!
  • CSS — Yep!
  • JavaScript — Yes
  • Build tools (Grunt/Gulp/Webpack etc) — Maybe..
  • SASS / Preprocessors — Yes
  • HAML — Sure
  • Python, PHP, Ruby — At least have awareness
  • Optimizing assets — Absolutely
  • Networking — Awareness+
  • SEO — Awareness/Yes
  • UX — Awareness
  • Accessibility — Yes!
  • Canvas — Depends on the job
  • SVG — Depends on the job

Many of these are individual areas you could spend a career specialising in, and this is all high-level stuff. We’ve not even mentioned any tools and frameworks.

The panel concluded the whole term “Front-End” is pretty loose these days. There are Front-End Designers, Front-End Developers, Front-End Engineers, and Front-End Architects.

On one-hand you have the JavaScript wizard that spends all their time obsessing over memory management.

Then there is the CSS architecture person that never writes JavaScript, but spends their days (and nights) on the eternal quest for maintainable CSS.

What about the network person? Front-End Designer? The animation guy? The Wordpress expert? The SEO guru? These all lie in the Front-End territory.

You see where I’m going with this…

You can’t be an expert at all the things, but you can be aware of them and know what problems they solve.

Once you master the basics?

Everyone says we need “T-shaped” people. A broad set of knowledge, but specialised in one area.

My problem has always been that I cannot decide what to specialise in. I can’t exclude anything, but I also know I can’t be a specialist in everything.

At first I was sure I wanted to be the CSS guy. Then one day I read “High performance browser networking” by Ilya Grigorik and I wanted to be the network wizard. A while after that I fell in love with JavaScript.

Recently I listened to a JSJabber about PouchDB, and I got so excited about the idea of a database in everyone’s pocket that I suddenly realised it was midnight and I hadn’t talked to my wife all day.

I think a lot of people are in this boat.

What do you actually want to do?

I think this is the best conclusion I can come to:

It’s up to you! Do what you like doing!

We’re in the middle of a renaissance! New role types spring up every day, and if you can think of something you could become great at there’s a job out there for you.

At the end of the ShopTalk episode I mentioned earlier Mark sums it up:

Uh yeah, so, final thoughts. I guess for me, it’s kind of acknowledging that the space of front-end development is kind of exploding right now, it’s a really exciting time to kind of be in this space. And I think people should kind of embrace how dynamic it is and how in demand it is, and just really kind of find where you fit, right? There’s really no rules for this — if there’s nothing else you got out of this, there’s no rules for this. Like, the thing that you like to do in the front-end is valuable. Learn it and then go find the people who are going to pay you money to do that, because this is the time.

Don’t worry so much about it. If you like what you do and you try to learn new things — which I know you do or you wouldn’t be reading this — then you’ll be fine.

Oh, and don’t worry about those terrifying job advert that want O-shaped people. The ones calling for “Rock star developers” to descend down from Valhalla:

Resources:

Here’s a list of resources I use to keep up to date on what’s new.

A great blog post by Chris giving some insight into all the challenges of a UI Developer and touching on similar topics.