Principles

Move slowly and methodically to go fast

Back to course index

I imagine you read that heading and thought “it doesn’t even make sense” and yes, technically it does not, but as we arrive to our final stop of the core skills principles part of this course, I want to cover what I think is quite possibly, the most important core skill: moving slowly and methodically to go fast.

Sure, time management people on LinkedIn will tell you to create a complex project management system with statuses, velocity tracking etc. but all this stuff does is abstract away what is actually important when producing websites, apps and design systems: caring for the people who you are building these things for, and also, not creating yourselves a long term maintenance nightmare.

It is tempting when deep in the woods of a project to “descope” to save time and/or budget and yeah, that happens a lot in my line of work, running an agency. All of this is to “go faster” and “get to the finish line”. The compromises made to “go faster” are often unseen and more horrific than you could ever imagine until later down the line though.

Then there’s chasing the pack — not getting “left behind” as it were. As I write the first draft of this lesson on August 7th, 2024, my mind immediately goes to so-called AI. I’m thinking down the line of very large corporations such as Google, chasing AI down like I imagine a dog chases a butcher’s van down the road if a string of sausages were hanging out the back of it. The desperation to not be left behind results in not only humorous mis-steps with Google’s “AI summaries” on search, but also potentially damaging outcomes, such as users being told to add glue to pizza sauce so the cheese doesn’t fall off.

The point I’m making, is sprinting towards a goal, be it profit, deadlines or any other outcome, and moving very fast without proper planning, research and analysis is more likely to result in harm rather than help.

Ok I get the point but what does this have to do with CSS?permalink

Let me tell you a story… Gather around and give me a moment to share one of my personal failures in this industry of ours.

We go back to 2019, when as a freelancer, I assisted on a design system build for a large, well known Cruise travel agent. Aside from the frequent giggles — thanks to being British — with regular Cruise travellers describing themselves as “Cruisers”, it was a resoundingly horrifying project. Instead of all the usual steps of research, discovery, analysis and thorough planning, we — thanks to a very tight, hard deadline — dove head-first into building the damn thing with very light planning.

The damn thing had solely been designed in Sketch by very talented and very good people, but they had very limited technical awareness. Unfortunately, friends, that resulted in lots of inconsistencies that would be very exposed with a design system. One of those inconsistencies were multiple layout systems depending on which designer was working on it at the time. Not to mention, there were various conflicts in technology choices that were never truly ironed out, so developers went rogue with their own choices.

I could and should have thrown down the anchor on the build (keeping to sailing analogies, sorry) but I didn’t: I went full steam ahead. In my mind, “we get it done then survey the damage after the fact”. The damage, friends, was extensive. We had not one, nor two, but three grid systems. We had components that were so fragile, they would blow up at the mere hint of stress, and so many technical inconsistencies and lack of technical documentation meant that it would be a miracle if someone could even make an effort at maintaining the system.

The cost of technical debt was astronomical.

Why am I telling you all of this? I want you to learn from my mistakes. The reason I am teaching the material that I am teaching in this course is because I have experienced a lot of bad, working in this industry. The vast majority of that bad was entirely avoidable by taking just one step back, slowing the process down and making better decisions with a clearer mind. As the old saying goes:

Slow is smooth. Smooth is fast.

We’re moving into some coding principles next, which I know, that’s what most of you are here for. But, if you take even a pinch of value from the core skills material of this course, I promise, technical debt, complexity and stress will reduce, resulting in the quality of the CSS that you author almost certainly sky rocketing.

Let’s get into some CSS.