What Does ‘From Scratch’ Really Mean Anyway?


The other day someone asked me what I do for a job. I have to confess I could only manage about 5 whole seconds of the awkward, strained silence that always ensues following the phrase ‘digital developer’ before I inevitably caved and said that I make websites and stuff. ‘Oh, right’, they replied. ‘Do you do that from scratch?’

This question really stumped me and it got me thinking about what the whole ‘from scratch’ thing really means for a front end developer these days. One the one hand, yes I write the HTML and CSS myself but I rarely start with a blank slate. Given the inconsistencies and quirks of today’s browsers, it’s pretty much a necessity to use some kind of boilerplate, be it H5BP, Modernizr, Normalize CSS or a mixture of these. Also, I’m a big fan of Bootstrap and have used this on many projects to speed up development and create code which I know should work on a variety of browsers and devices.

So given these tools. there are at least a few hundred lines of code I may add to a website that isn’t my own work. Also, what if I want to add some complex custom functionality to a site such as an image slider. It’s highly unlikely I’ll spend the time attempting to write my own, I’ll probably use a jQuery plugin. Again, more code that isn’t mine. And for that matter what about all the snippets of code we all take from here and there when we’re developing. Are we still working from scratch?

What about when we convert our code to work with a CMS, such as WordPress? Sure, you could build your own CMS for each client, but the problems of managing updates, security issues and compatibility surely far outweigh the benefits. Most of the time, it really doesn’t make much sense trying to do this all yourself.

If you sat me down with a laptop in a lead-lined room with no access to the outside world, i’m sure I could still make a website. But why on Earth would I want to? There’s no reason to solve the same problems which have been solved already. I think the modern developer is within their rights to use any tool or resource they like and maybe the phrase ‘built from scratch’ just isn’t a useful label anymore.