In last week’s episode of the Beyond Coding podcast, Patrick, interviewed Kevin Powell about his approach to creating well-designed CSS solutions. In the interview, Kevin highlights his technique as “the path of least resistance”. This as an important concept in software design and development that goes well beyond the front-end.
Kevin’s approach follows a familiar pattern. We see a problem in front of us, in this case a new CSS layout, and design for the simplest case (mobile). Mobile layouts have fewer elements to worry about and no (or limited) resizing – so it’s much simpler to code for.
Proving something works for the simple case allows us to expand it for the complex case. This allows us to quickly test our ideas and keeps us motivated.
Motivation is an important part of developing successful software. Without developing mental tricks such as this to enable us to work through problems quickly, we don’t build up the confidence, concentration and momentum needed to work through tricky problems in depth.
The takeaway here is, if you want to get something accomplished, go simple. Get that feeling of achievement and come back to it later to refine it as you need to. Often the things we build the quickest, are the simplest and most effective. Achieving something quickly helps us stay motivated to continue.
We shouldn’t always take this path, but sometimes it’s the right choice.