What to do if your whole being resists the task at hand


Question: I seem to be struggling with myself. This happened several times and seriously affected the quality of my life.

I’m assigned to implement a feature, usually vague, and something that I think adds unnecessary complexity to the codebase. I try to reason with my managers, but usually their decision has already been made. Then I struggle with myself for hours to force myself to finish the feature. Not because the code takes so long, but because I can’t bring myself to do it. I spend hours trying to persuade myself to do this. Also, I spend a lot of time trying to make something as readable, maintainable, and simple as possible. This means weighing the merits of different solutions and choosing one. I am very hesitant when making decisions, which leads to more wasted hours.

Most importantly, my managers don’t fire me. They don’t see how many hours I wasted, how demotivated I am. Instead, they treat me as one of their most valuable collaborators (that’s ironic!). (At the moment, I cannot change jobs. I help my best friend’s startup by doing this job.)

Have you been in such situations? How do you immerse yourself in work and do it when your whole being is rebelling against the task?

Answer Jonathan Blow: I am a 42-year-old very successful programmer who has gone through many situations in my career, many of which were highly demotivating. And the best advice I have for you is to stop what you are doing. Seriously. Even if it seems to you that you are not able to do it, then know – you can. This is normal. You are free. Okay, you are helping your friend’s startup, but what is the corresponding cost for that? Would she make you do it if you knew it would crushing your soul?


I do not use the phrase “trample your soul” lightly. When it happens slowly, as in these cases, it is difficult to see the scale of what is happening. But this is a very serious situation, and if left unchecked, it can damage your potential to perform well for the rest of your life. The reasons:

  • Burnout commentators are right. Burnout is a very serious situation. If you burn out badly, it will be difficult to effectively carry out any future work you take on, even if it’s supposedly great work. Treat burnout like a physical trauma. I once burned out and it took me at least 12 years to fully regain my productivity. Do not do that.
  • In a broader sense, the best and most creative work begins in joy and admiration. If you lose the ability to feel joy and excitement about things related to programming, you will not be able to perform at your best. This problem stands apart from burnout and parallels it! If you burn out, you can still feel a little bit of joy and excitement at the start of a project / idea, but this will quickly disappear as the reality of day-to-day work becomes reality. Or, if you haven’t burned out, but you don’t have a sense of amazement, chances are you will never start doing well.
  • The earlier you start your career, the more important this time is for your development. Programmers learn by doing. If you put yourself in an environment where you constantly face challenges and push your limits, your skills will increase significantly over the years. It’s like studying Kung Fu intensively for several years or getting trained as a Marine or something. But this is not just a one-time permanent promotion. The faster you do something and the more thorough and error-free it is, the more ideas you can bring to life, which means that you will learn faster in the future. In the long run, programming skills are like compound interest. More now means MUCH more later. Less now means MUCH less later.

So if you put yourself in a position that is not really difficult, it is inconvenient day in and day out, and you do everything slowly, this is not just about slipping. You keep that compounding curve down for the rest of your career. This is a serious problem.

If I could go back to my early career, I would mercilessly erase all my shitty work (and there were many).

Something else about personality. In the beginning as a programmer, I often found myself in the situations you described. I didn’t like what I was doing, I thought the leadership was stupid, I just didn’t think my work was very important. I was very depressed about projects, I moved slowly, at times I got into a regime in which I pretended most of the time that I was making progress simply because I could not bring myself to get the job done. I just didn’t have the heart to do it. (I know a lot of people here know what I’m talking about.) Over time, I got depressed about this: Do I have a terrible work ethic? Am I just a bad programmer? Bad person? But these questions weren’t as verbalized or intellectualized, they were more like a general malaise and disappointment in where life is heading.

Later, I learned that my work ethic is not at all bad and that I am not a bad person. I’m actually quite ferocious and do a huge amount of good work when I think what I’m doing is important. It turned out that in order to capture this sense of importance, I had to work on my own projects (and even then, it took me a long time to find the ideas that really moved me). But once I discovered it, it actually turned me into a different person. If this works for you, the difference between these two lifestyles is HUGE.

Okay, it was long and incoherent. I will stop here. I wish you the best of luck.


  • Ontol: a selection of articles on “burnout” [100+]

Similar Posts

Leave a Reply