Just Plain Ol' Code

There was once upon a time when being a front-end developer was considered easy. In fact, there once were no designations on the web. When you made websites, you did everything from the design to the code. There were no CMS’s, no fancy Javascript, heck there wasn’t even much CSS. You designed something in Paint Shop Pro and exported it into table layouts. From there you edited basic HTML in a simple code editor. Easy.

These days however, I’m finding it difficult to really define what makes a website. It’s nearly impossible these days to really create a site from the very beginning through to its launch all by yourself. I’m not even sure what a front-end developer is and does anymore – in fact, I think it might be too much of a general term.

I remember the times those backend guys scoffed at front-end devs because they “had it easy”. We didn’t have to learn any fancy programming languages, and HTML was considered stuff for kids. But gone are the days where just knowing HTML will get you by. Front-end development has become more difficult than ever, and in some ways is a more difficult job. Whereas the backend devs I know only have to concentrate on one or two languages and a few different job types, I recently found myself having to do several different things. My job often consists of (not counting the business side):

  • HTML
  • CSS
  • JS
  • PHP
  • WordPress and other CMS integrations
  • UX
  • UI (not designing)
  • Knowledge of browsers/browser testing
  • Knowledge of (hundreds of) mobile devices/responsive development
  • Mobile best practices
  • Accessibility¬†best practices
  • Semantics
  • Knowledge of email programs for newsletter dev
  • How to use design programs like Photoshop/Illustrator/Fireworks

And the list probably goes on from there. It’s no wonder why I (and every other web person I talk to) often feel like I’m barely keeping my head above water when dealing with the learning curve. It’s simply impossible today to know everything there is to know about my industry. Jeez.

So where am I getting at? How does one become successful in web development these days? Focus, my friend. Stop trying to learn every single language, stop taking on every project regardless of the skills required, and stop trying to keep up with every single thing out there. You’ll waste your life trying to keep up. Always be learning – but don’t spend every waking minute chasing what’s new. Focus on the things you really love to do, whether that’s a type of project, a certain language or even a type of design. Focus allows you to master one area better than everyone else, and it’s certainly allowed me to stay productive and maintain my own freelance business.

Here’s what I personally focus on: good plain old front end code. I don’t bother with preprocessors, frameworks, shims or hacks. I code as clean as possible using as few plugins possible so everything stays maintainable and easy to read for future updates. Of course, this doesn’t mean you can’t use any of that – but I choose not to and it’s allowed me to focus on a better end product for my clients. It allows me to quickly grok new CSS3/HTML5 features and get them implemented quickly. Only supporting the latest browsers (and IE8 and up) allows me to use the latest techniques without a lot of bandaids. Yes, I know there are clients out there who still need support for IE6. But guess what? I don’t take them. You don’t have to accept every project that comes your way.

I guess my point is, stop trying to know everything so you can at least know something.