Whenever I tell people that I am now a product manager and no longer a software engineer, they always ask me how that transition has been or how my job has changed. And to be honest, what I do every day is not that different, other than the fact that I no longer have to write code— so I say, “Oh, I just don’t code anymore!”
I can recall a time in my life (a.k.a. all of college) when not having to write code would have been the greatest relief ever. But now, nearly 4 years later and having reached that point, I no longer have this sentiment.
Writing code was never appealing to me growing up, but midway through college, I realized in order to get a job, I had to know how to code and that I had know how to do it well. And so it was out of necessity that I first learned about software engineering.
And I hated it. But the thing is— I also have a lot of discipline so I was able to persist at it quite diligently. You can imagine though that spending 12+ hours a day, for months, doing something you dislike makes a person quite miserable. I realized if I was going to continue on this path, I needed to make myself want to work with code.
And so this is why I say that discipline alone is not enough. With just discipline, each decision feels like punishment—denying yourself that cookie, forcing yourself to clean the bathroom, waking up at 6 AM to go to the gym, working on a program for hours. You may be able to keep up these habits through sheer will and discipline, but this is a sad way to live.
Fundamentally, you need to learn how to enjoy doing these things. You need to transform acts of obligation into acts of desire. You need to mold your wants, find joy in hard places, and train yourself to enjoy the cold— over and over again. I believe this is the only way to do tough things, sustainably.
And so I end with one of my personal mantras— Do it not because you have to, but because you want to.