Falling Behind on Front-End Technologies and Trends

How by doing a few years of back-end and not paying attention screwed myself over. But there’s hope for recovery.

Introduction

When I started, I was the cool kid who knew all the cool new stuff and technologies (NOTE: I’m talking about 2004 in Italy).

I did do my first layout using tables (like they taught me in school), but then I looked it up since it really made no sense and I embraced CSS-based layout like everyone else was doing, and never looked back. It was just normal to me that that’s how you created websites. I was no genius. I barely had the luck to start learning things after people got their act together on a lot of stuff, and I learned the right way to do things right from the beginning.

Doing things wrong…

In the meantime, at local design agencies there were lots of people that originally learned their stuff at the beginning of the web. These folks were happily carrying on creating websites that used tables for layout, <FONT> tags (remember those?), no semantic tags whatsoever—with headings that were just paragraphs with a bigger font—and all that nasty stuff that you now rarely if ever see (if you exclude a few library or government websites).

…versus doing things right

Comparing the two approaches, it took me about 1/10 of the time to create and specially maintain a website, and it was definitely 1000 times more pleasurable for me.

In addition, all the new stuff that came afterwards worked if you were coding properly, so I don’t even want to know what happened to those guys who were still messing with <TD>s and <TR>s. I guess, it got harder and harder for them to keep up.

How I feel behind

For a few years, I passionately followed every new technology that emerged. Some died, some got adopted by lots of people, but the point is that I was able to keep up with the evolution of web development. I was big on XHTML, which in retrospect IMHO was a pretty dumb idea, although that’s what everyone said the future was going to be.

Then, people starting using Ajax, and that was really exciting so I jumped on it right away and started using it, too.

Falling behind

Then, I taught myself PHP and MySQL, and started doing lots of back-end work.

In the meantime, something else happened: I had more and more clients, and I found that it was getting harder and harder to make time to study new technologies and trends.

While before if I stumbled on something new that I didn’t know I’d take the time to learn the best way to do it before actually starting to work on it, now I just had to get the job done. So, I’d copy and paste an example from some website and go on to finish the project and forget about it, or make a note and forget to look it up.

The result of this way of doing things for a couple of years is that it made me fall behind on most of the new, awesome HTML5-related techniques and technologies—and most CSS3, too. Of course, I did know what they were about, and I didn’t still do client-side like I used to 4 years ago, but I probably used 30% of what’s there.

Keep up or die

Granted that for the past few years I’ve focused heavily on PHP and back-end and have only rarely worked on the front-side, there’s no escaping from it: I had become like those guys that still used tables for layout.

Now, the difference compared to the people that I’d talk to when I started is that I actually acknowledged this, and I knew that I should figure this out.

In this field, you can never stop learning—and that’s the beauty of it. If you do, you become pretty much useless. You won’t be able to work on or do great stuff. It’s going to be harder and harder to keep up—since new things that come up “assume” that you know your stuff, already.

In short, you’re completely out of luck.

How to keep up

I’ve been thinking about it a lot. Of course, this is kind of obvious, but who likes to suck at what they do? I don’t want to be the guy using tables while everyone’s doing table-less layouts.

Make time to study

A great developer that I’m working with—Giacomo Triggiano (yes, I’m linking to your site, put something up already) is a great source of updates regarding new techniques and technologies for me, as we often take breaks from actual programming and discuss about this and that new programming language, library, or technique, and he’ll usually sum it up for me and then I’ll look it up if I’m interested.

Now, he actually makes a conscious effort to spend a certain percentage of his free time on studying (which I also used to do back when). This is awesome to avoid falling into uselessness, and keep up with the times.

I’ve tried many times in the past, but every single time my desire to do it translated into buying some book just to have it sit there for months with no time to read it (I have 2 NodeJS books that I bought probably 2 years ago and still haven’t even downloaded them to my Kindle).

So, make time to study. Make a conscious effort to take a few hours just to catch up or learn a new technique or technology.

Focus on 1 thing (if you can)

Web development is a broad discipline, with potentially 10 programming languages/libraries that are used to make a single website work.

Right now, as a web consultant I theoretically do HTML, CSS, Javascript, PHP, MySQL, and even some sys admin (plus all the business stuff like finding new clients, accounting, etc.).

Now, most of the times I get help and only do the back-end, but thinking about it that’s pretty overwhelming, thinking about finding the time and focus to keep up with what goes on with all of that.

One good way to solve this problem might be to pick one technology and focus on that. As websites become more and more complicated, it’s becoming increasingly rare (from my experience) to find a single guy that does it all. You could pick HTML5, and just be great at that.

Focusing on one thing can definitely prove to be less overwhelming, the time and things to study are less, and the chances of success at getting good at it are higher.

Read the good stuff

Luckily, I’m not the only one who has this problem, and some awesome folks took the time and energy to put together a list of resources to help you keep up to date with front-end technologies:

• Follow cool people

• Find the best sources

• Attend conferences

• Get your own sources

On their website, there are bunch of links and resources, and if you don’t know it, I encourage you to visit, read, and bookmark: http://uptodate.frontendrescue.org

Conclusion

I screwed myself over by not paying attention to what was going on.

This made me realize that this field is all about discovering new stuff that comes out, trying it out, use what works for you.

Luckily, I somehow figured it out on time, and was able to catch up. Advice: stay up to date.

Go to http://uptodate.frontendrescue.org. If there’s something you haven’t heard about (let’s say Grunt), check it out.

Then, repeat for the rest of your life.