← Back to home

10x tech debt

So Twitter is outraged with some investor describing qualities of engineers that are much more productive than others. From my experience, I both enjoyed and didn’t like working with such people.

I don’t consider myself as one. First, I really enjoy doing UI work. Then, I think I’m most of the times slower than others, because I approach problems with iteration which takes me some time.

Most of the people outraged with the definition of a 10x engineer mentioned two downsides: creating toxic environment and producing tech debt.

I have to admit that I produce tech debt often knowingly and intentionally. I have a vision of an optimal solution. I also have a working codebase at hand, which has grown layers of bug fixes. Eliminating tech debt often means replacing existing code, and that will surely introduce new bugs (“new” because they are not caught by existing tests or type checks). So I’m very careful with rewriting code. It has to be done with a lot of thought and care. I also have deadlines and never ending backlogs. Introducing more tech debt often means that my team is going to ship on time. I don’t want anyone working long hours and fixing P0 issues because of rewrites. It’s all about trade offs. I schedule some hammock time and tech debt elimination in an ongoing, background work kind of fashion.

Also remember that tech debt is not an absolute evil. Rarely software systems survive more than a few years of usage. Not only they may disappear from the market (couldn’t find a market fit, not enough funding, competition), developers themselves are subjects to fads and fashion and constant learning and we want to rewrite our systems because they use old libraries and languages and techniques.

Last edited on Jul 13, 2019