For a long time, I've recognised that I should be spending more time learning to code.

Programming lies at the intersection of many of the things that get me excited: solving hard problems, creating value, working independently while surrounded by the support of others.

It's not just reasoning that tells me this too. Whenever I've spent time learning and experimenting in a text editor (from school to YouTube tutorials to online courses in web development and data analysis) it has been incredibly exciting, fun and rewarding, making hours fly by seamlessly as I get lost in the thick of things.

I recognise that software is, has been, and will continue to be eating our world, know that programming would be a rewarding passion for me, and accept that it it is the natural thing to direct my need-to-do-something energy towards, but in spite of that, something stops me from being a part of that world.

Talking to friends and hearing the advice of others online, I understand what I would need to do to dive deeper: (1) find something that I want to build (2) look for the 'how' through the abundance of resources online and (3) ask for help from others when I get stuck along the way.

Obviously though, knowing all of that isn't a substitute for actually doing the thing.

Clearing the Fog

When it comes to achieving the goals that we set for ourselves, knowing what to do is rarely what holds us back.

To get good grades in school, you simply have to have a good understanding of everything on the syllabus. To build habits, you simply have to commit to consistency and show up everyday. To develop a healthy diet, you simply have to - as author and researcher Michael Pollan puts it -  "eat food, not too much, mostly plants."

All these examples show us that the path to achievement is simple (but not easy). Sure, those single sentence explanations aren't clear roadmaps that we can follow, but they do provide us with 80% of the 'how' that you need to know - of which, the remaining 20% can be found in a book or a few Google searches. The problem lies not in whether we know how to do the thing, but in getting ourselves to do the thing.

Working on anything worthwhile is hard in the sense that it requires persistent effort and temporary discomfort. At some point, we have to "eat the broccoli."

As the writers from Farnam Street remind us:

"anything really worth doing is probably hard work, and will absolutely require you to do things you don’t currently do, which will feel uncomfortable for a while. This is a “hard truth” we must all face. If it was easy, everyone would already be doing it."

Recognising that the problem lies within ourselves can be hard to swallow. Yet, there's a comfort to be found in recognising that those huge, frightening undertakings that we tell ourselves we are incapable of are not all that.

Stepping back to clear away the fog of cognitive dissonance that stops us from starting, we can look up to see that those huge mountains were really just hills all along.

Just as Packy McCormick says of his one year growing the Not Boring newsletter, succeeding at the things we want is "neither as impossible nor easy as it looks."

Thanks to my friend Taimur for giving me a wake up call over Zoom. This is me committing to taking programming seriously this year.