Dennis Hackethal’s Blog
My blog about philosophy, coding, and anything else that interests me.
I’m not exactly sure why I chose bodybuilding, except that I loved it. I loved it from the first moment my fingers closed around a barbell and I felt the challenge and exhilaration of hoisting the heavy steel plates above my head.
I still remember that first visit to the bodybuilding gym. […] And there it was before me—my life, the answer I’d been seeking. It clicked. It was something I suddenly just seemed to reach out and find, as if I’d been crossing a suspended bridge and finally stepped off onto solid ground.
– Arnold Schwarzenegger1
I happened upon coding through a happy accident. In 2010/11, I did an internship in corporate-aircraft finance. That sounds about as unrelated to coding as it could be, but during that time, my manager showed me how to write what’s called a macro – a small piece of custom software one can plug into Microsoft Office programs such as Outlook or Word.
You see, he wrote a lot of emails and needed a way to automate his workflow around that. As I recall, the macro he wanted was simple: most of his emails went into the same folder, and he wanted to be able to select any number of emails in his inbox and then press a button to move them into that folder. He showed me the basics and tasked me with writing that little computer program.
That sounded difficult. I had never written a program before. Even though I had loved computers since childhood, I had never had any interest in programming. It’s not that I had tried it and decided I didn’t like it – I just had no idea what it would be like. I had no opinion on it.
I returned to my computer in the office next to his and took a crack at it. I read articles about macros and wrote my first line of code. The entire program can’t have been more than ten lines long. After a few hours, I sent it to him and went back to his office to ask him to try it out. I looked over his shoulder as he ran it. It worked – which felt magical. That was the coolest thing I had ever seen. As I’ve written before, it felt like a superpower. I realized that, if I kept learning, there would be no limit to what I could achieve.
Over the next few years, I spent thousands upon thousands of hours writing code, continuously improving my skills. I sometimes dreamt about code. It’s a cliche, but I did. One night in the early years of my programming journey, my girlfriend at the time was staying over. I was writing a program that worked like a calculator, with a simple user interface, buttons and all. That’s nothing huge, obviously, but building something that’s already been built before is a good way to practice. It was late at night and I was tired, but I had run into a snag, and there was no way I could fall asleep without solving it first! It must have been around 2 am when I finally figured it out.2 I was so excited I woke up my girlfriend lying next to me to show her my progress.
Like Arnold and bodybuilding, I’m not exactly sure why, but I loved programming. I’d say it was because I felt unconflicted about it, but I suppose that’s just another way of saying I loved it.
Being unconflicted about coding meant I could feel with every fiber of my being that it was what I wanted to do. It was a hell yes. There was no question, no doubt whatsoever. I had to do it. It was – and still is – a passion and an absolute joy.
Finding something you’re unconflicted about is rare. Not everyone is lucky enough, at least in adulthood. I believe it’s common for children, who are naturally great at finding and doing things they are unconflicted about until they are forced to unlearn this ability in school. Some adults do find something, but the voices from school still echo in their minds, so they often don’t pursue it.
Even if you’re lucky enough to find such a passion, there can be social pressure not to pursue it. Schwarzenegger writes about this, too. The naysayers will notice you. They’ll say you’re ‘obsessed’, or even ‘crazy’. Maybe a year later, after I had broken up with that girlfriend, and after I had dropped out of college to pursue programming as a full-time, self-employed job, she contacted me to say that she was concerned that I was letting myself go. That was hilarious to me because I was already financially successful. She didn’t know that but I didn’t say anything. I knew she was wrong and I didn’t care. No matter what people said, there still was no doubt in my mind that it was what I wanted to do.
I had felt conflicted before I found programming – in the sense that I didn’t really know what I wanted to do. I had some ideas, some avenues I wanted to try out, but nothing more. Now that I had found it, things got a lot easier. There was a clear path. It had nothing to do with molding myself into some other person – it was something I wanted, so I went after it. That was an utter delight; it never required any discipline.
As Lulie Tanett writes, “‘[s]elf discipline’ is a patch for being conflicted about what you want to do.” If you have found something you truly love, you need absolutely no discipline. If you do require discipline for something, it’s not for you. Self-discipline is self-coercion; it’s gross.
Schwarzenegger has said that some of the other guys in the gym had grim faces. He implies that it’s because they weren’t shooting for a goal, but I don’t think that’s why. I think the reason is that they felt conflicted; they didn’t want to do another set. He, on the other hand, “couldn’t wait to do another 500-pound squat”. Fitness and bodybuilding in particular are laden with ideas around self-discipline.3 In programming, some people are conflicted, too. They go into it for the money, say, but aren’t intrinsically interested in it. So the only way to keep going anyway is to be disciplined. They’re going to be miserable.
It wasn’t until 2015, when I happened upon the work of David Deutsch, that I finally found what I had discovered for myself when I started to program spelled out explicitly. He calls the state of being unconflicted fun. And he offers an explanation: that fun is “a state of mind” in which what he calls one’s explicit, inexplicit, conscious, and unconscious ideas “are all affecting each other”.
There is a common misconception that greatness – like that of Schwarzenegger in his heyday – requires discipline and sacrifice. Now, it is true that greatness (or even mediocrity) at something one does not enjoy indeed requires these things. But many think that they’re generally required, even in things one does enjoy, or, worse, that one should seek out suffering and avoid fun to achieve greatness. Neither is true. While it is possible, at the cost of immense suffering, to achieve greatness at something you do not enjoy, it is both possible and desirable to achieve greatness at something you do enjoy, without any suffering at all.
On the whole, in the long run, I expect greatness almost always to come from enjoyable activities, and rarely from suffering. In other words, of all the greatness at any given time in history, most of it will have been the product of fun – and I expect the ratio to improve in the future. Do not take that to mean that fun will always lead to greatness – any search for a guarantee of greatness will almost certainly produce suffering. Greatness is not the goal. Fun is the goal, even when you have fun pursuing greatness. And if you pursue fun, you may sometimes achieve greatness as a pleasant side effect.
If, like many, you have trouble imagining what being unconflicted feels like: remember being a kid and rushing home from school so you could play your favorite video game? And the delight you’d feel playing it for hours on end? That’s being unconflicted. It would make no sense to speak of ‘discipline’ or ‘commitment’ in this context. They’re not needed; they’re not desirable; they have no place in what’s fun.
I know of no reason why it shouldn’t be possible, in principle, to be in an unconflicted state of mind all the time. Deutsch says it is.4 I am by no means close to being unconflicted all the time, but it’s something one can practice and get better at. Again, children are good at being unconflicted – they probably come close to permanent ‘unconflictedness’ (until, as I’ve said, that is ruined). We adults can learn from them, and I suspect that learning how to be unconflicted involves undoing much of the damage done to us in childhood.
Let me point out that just because I recommend seeking a state of being unconflicted, that does not mean that I think learning should lack structure or that schedules and deadlines are bad. Deutsch and I differ in this regard. I thrive in fast-past environments and under the pressure of tight deadlines. I like achieving results in a comparatively short amount of time.
Being unconflicted is easy, but finding something to be unconflicted about is hard. Another way of putting it is to find something about which you are in complete agreement with yourself.5 If that interests you, one way to practice being unconflicted is to start saying ‘no’ to small, unimportant things you do not wish to do. As you get better, slowly try this approach with bigger, more important things. That should make room for activities you do enjoy. Give yourself permission to pursue them, and then go from there. You will have more energy because, being conflicted, you don’t use your mental resources the way you naturally would, which is draining. Being unconflicted, on the other hand, gives you energy – it’s exhilarating. It’s easy to have fun for hours on end.
If you do find that spark that Schwarzenegger found in bodybuilding, and that I found in programming, there’s no telling how long it will last. For example, around the time I got into programming, I was also fascinated with playing the guitar. Inspired by guitarists such as Tommy Emmanuel, some days I’d practice for three to four hours. This, too, was an utter delight. I never achieved musical greatness, but I had tons of fun. My passion lasted maybe five years, and then it slowly faded over another five. I don’t know why. There were some days I looked at the guitar, sitting there in the corner of my room, waiting for me to play it, and I asked myself, ‘shouldn’t I play more?’ But I felt conflicted about it, so I gave myself permission not to.
So you see that there are no guarantees. Some days, you may only find something small you feel unconflicted about, like watching your favorite TV show. Still, that’s great! Just know that life does not have to be unpleasant – problems really are soluble, as Deutsch writes.6
Schwarzenegger, Arnold and Douglas Kent Hall. 1977. Arnold: The Education of a Bodybuilder. New York: Simon & Schuster. Kindle Edition. 10–11. ↩
I remember the issue to this day. It was that I had used a curly quotation mark in my code instead of a straight one. That may sound like a small thing, but fixing this issue felt like a huge success. ↩
Schwarzenegger’s journey wasn’t without self-coercion, either. I haven’t finished the book yet, but early on he writes: ↩
There were certain days when something held me back and I didn’t train as hard as on other days. That was inexplicable to me. Some days nothing could hold me back. Other days I’d be down. On the down days I couldn’t handle anywhere near my normal amount of weight. It puzzled me.
– Ibid. 19–20.
A bit later on:
Every month, I had at least a week when I didn’t really want to train and I questioned myself: Why should I train hard if I don’t feel like it? These were the days [my gym friend] pulled me out of it. […]
It worked perfectly. He forced me to get off my butt, […].
– Ibid. 21–22.
I, on the other hand, never needed any encouragement from anyone to continue learning to program, and to enjoy doing so (although the encouragement I did receive was appreciated). Of course, there have been a few times here and there when I didn’t feel like doing it, and so I simply wouldn’t. I never questioned myself (although I wonder if Schwarzenegger meant to write ‘asked’ instead of “questioned”); I knew I’d get the spark back soon. In other words, Schwarzenegger’s solution on such days was discipline – mine was to grant me gentle permission to take a break. However, during my time at Apple, after about three of my four years there, I did force myself to continue working on a project I had lost interest in. It almost ruined programming for me, but I left Apple in time.
Deutsch, David. 2012. The Beginning of Infinity: Explanations That Transform the World. New York: Penguin Press. See the last sentence of chapter 2 – “Now, can this creativity – and this fun – continue indefinitely?” – and his resounding ‘yes’ throughout chapter 3. ↩
In light of the difficulty of finding agreement with oneself, we should expect that finding agreement with others is even harder: we don’t have as much visibility into their minds as we have our own, and their minds differ from our own. Consider the utopian dreams of the great political planners who sigh, ‘if only everyone agreed…’ Practice finding agreement with yourself first. Once you get good at it, practice finding agreement with one, maybe two other people at once. Finding agreement within groups gets exponentially harder the larger the groups are – finding it on the scale of entire countries, i.e., millions of people, is impossible for any one person. Such wide-ranging agreement can only come from consensual micro-transactions building up to larger states of ‘unconflictedness’. That happens naturally in capitalism, kind of by definition. ↩
Ibid. Chapter 3. ↩
This post makes 3 references to:
- Post ‘Anyone Can Become a Developer — Here’s How I Did It’
- Post ‘Crazy’
- Post ‘The True Purpose of Schools’
There are 3 references to this post in: