Derek Sivers and the power of simplicity
Posted on: 10 February 2023
I first heard about Derek Sivers when I read his first book, Anything You Want. It’s a wonderfully simple and short book where he talks about his journey from musician to entrepreneur, in the building and eventual selling of his e-commerce business CD Baby.
Derek popped back onto my radar recently when I listened to an interview he did with Ali Abdaal in 2020, which was just recently published on Ali’s podcast Deep Dive.
And a few days ago, a tweet by Andy Croll popped up on my feed about a recent podcast interview Derek did on Remote Ruby, entitled “How Derek Sivers Uses Ruby And His Programming Philosophy”. I hadn’t listened to the show before, I love hearing Derek’s insights, and as I don’t really listen to a lot of technical podcasts, I was well up for giving it a listen. Or as Mr Sivers would say, “hell yes I want to listen to this” (a reference to his 2020 book “Hell Yeah or No”).
Derek has an infectious nature that instantly puts you at ease when you listen to him. Early in the interview he proclaimed his love for talking about his craft, particularly his programming. Because apparently people rarely ask him about it. I can relate to the joy of talking shop, as I’m sure many programmers will do too.
One of the concepts Derek talks passionately about, that guides his programming to date, is Simplicity over Easy. A philosophy inspired by a talk by Rich Hickey at Rails Conf 2012: “Simplicity Matters”.
Derek’s a keen user of the Ruby language, admiring its elegance and expressive nature, but he’s shied away from embracing the full power of Rails, instead favouring the clarity rolling his own code offers. He avoids gems, save for a few essentials, and adopts a simplicity-first approach when coding.
The notion that because something is easy, it is simple is a complete misnomer. These two words are often conflated but they couldn’t be further apart from one other. On the contrary, it’s often hard to make something simple (and effective).
gem install <package>
is an easy and quick operation to run. But in mere seconds you’ve installed potentially thousands of lines of code with decades of cognitive baggage packaged up within it. But in the interest of speed and ease, this complexity is neatly hidden away behind a tiny public interface.
Not only that, by installing a package, you’ve taken the responsibility of ensuring that package continues to function within its expected parameters, and securely, within your code. All the while, the details of which are abstracted away under the hood.
It takes effort to make things plain and simple and easy to reason with. But here lies ownership, maintainability and pleasure in coding. Derek speaks with such authenticity on this subject that really comes across in this interview. Programming is part of his identity and woven into almost everything he does.
A self-proclaimed introvert, Derek’s warmness in which he welcomes contact from strangers sets him apart. He relies to every email he receives personally and ends the interview eagerly inviting programmers to email him just to chat about their love of the craft.
Something that particularly resonates with me is his People Database. A directory of every person he’s had contact with in his life, providing priceless context to repeat interactions. This is a concept i’ve recently explored, albeit with much less detail and finesse, in Notion, and something I touch on in my 2022 In Review post (under the heading “Social Life”).
We’re quick to put in processes and structure in business when dealing with customers, but rarely do the same in our personal lives. Spontaneity is a wonderful part of life, granted, but the majority of life is the same. Habits, repetition, processes. Putting systems in place to aid the more mundane aspects of life can in fact open you up for more of life’s great wonders.