I was recently wading through a very horrible codebase and my morale had dropped to an all-time low. It was also paper-acceptance season and I began suffering from the grass-is-greener syndrome.
In such situations it helps to read Philip Guo’s excellent post on the subject: Unicorn Jobs.
I sometimes use this mental trick. I ask myself why I am putting myself through this. Shitty codebases come in two main flavors:
- Shitty packaging and quality but high barrier to duplication - research prototypes tend to fall in this category. Mastery of this codebase translates to an economic advantage.
- Shitty packaging, shitty quality and low barrier to duplication - this is a candidate ripe for disruption. Rewrite it well and you will have done the world a massive favor.