This week one of my colleagues was amazed to hear that Twitter is written using pure CSS and not a preprocessor.
That same colleague also couldn’t remember if CSS selectors were nested within media queries or vice versa. I’m not surprised. And they’re not alone.
I’ve done it. The other weekend I made a quick holding page for my parent’s allotment association. For the first time in months I wasn’t using Sass and Compass and so I couldn’t use a nice mixin for rem sizing. Instead I had to calculate the values myself using good old fashioned mathematics. Google was my saviour. As it was with text-shadow, box-shadow and border-radius.
Are these tools, that make our lives as developers easier, progressing our skills or reducing our basic skillset?
Can I still put CSS on my CV? Yeah, and of course I can. Not that I need a CV, LinkedIn recruiters have every job anyone could ever want, and they’re gonna tell you about them whether you like it or not!
On one hand, I think preprocessors are great tools. Not only do they reduce the amount you have to write (do I really need to write all those vendor prefixes?), they also highlight any errors you might make in the process.
Conflictingly, the other side of the argument. The reliance on a tool that requires us to write syntax that will not be understood by any browser, puts us in a similar boat to those who were using Dreamweaver or FrontPage to drag and drop their way to a website in the early 2000s.
A similar boat. Not the same. While we’re using methods to make things easier, we still understand the output.
Nobody argues that to build websites we should understand exactly how the internet works, or the ins and outs of a browser’s rendering engine. Likewise we don’t ask software developers to fully understand how there code is understood by an operating system. And the makers of an OS don’t need to write everything in binary. It’s layers.
The real question is, does this extra layer improve our ability to build websites properly? No, but it doesn’t diminish it either. It’s not progression, it’s a process change.
And I much prefer this process to the previous one.