I was asked to summarise for a group of IT students what goes into a job like mine, and in doing so I realised that it’s damn near impossible to do so these days…
Long live front end…
The nature of the web is ever-changing and building for such a dynamic, fast-paced and sometimes completely unknown environment means that we as developers constantly have to evolve and push ourselves in order to push the limits of what we do.
Back in the day (I’m getting old now) my first job in the industry encompassed a bit of front end, bit of back end, database magic, copywriting, SEO - generally a bit of everything.
Moving on to specialise more in front end I still did bits and bobs of back end in the form of PHP (yes it is back end, in my opinion!) and I still know of a few companies around that merge the boundries between roles, especially where PHP is involved and the back end team use a different technology for the bulk of their work.
And don’t get me started on full stack…whatever that is.
So sometimes it’s tough to narrow down and define what exactly is involved in a front end developer’s job.
Rise of the MV-something
Any digital agency or IT company worth their salt these days is going to want some experience or knowledge of these kinds of frameworks and the reasons for and benefits of using such technology.
Another element of my job that I would’ve never imagined a couple of years ago is that I barely ever write CSS or HTML anymore!
What I mean by this though is that with the introduction of CSS preprocessors like Sass and Less it’s become almost the standard in any up to date workplace to use one of these tools to help speed up and maintain development of CSS.
As well as these, I almost exclusively use a templating engine to write HTML - 99% of the time, it’s Handlebars or Mustache. Tools like this again allow speedy development and componentised, reusable templates - a big deal if you’re hoping to work for a digital agency who use a CMS to build their websites.
Front end build processes
A front end build process is becoming evermore important in our daily tasks - again most companies are probably going to want some experience of a front end build using package managers such as NPM or Bower and task runnners like Grunt or Gulp to optimise workflow.
Utilising and having experience of such tools is fundamental these days in securing a great position and progressing your knowledge of front end.
I’ve previously written a few posts on getting over the learning curves of such technologies:
I can’t imagine not using version control anymore after years of using it, especially Git. It would be a very rare case for me to not have a project under some sort of simple version control.
Having your code versioned allows easy access for everyone to check out and collaborate on it, allows you to roll back to points in time when your app/website was in a different state, and generally just give complete peace of mind regarding the safekeeping of your work.