Compiled vs dynamic? Loose vs static typing? To rebase or not to rebase? Tabs or spaces? Pursuing high codebase velocity at a startup tends to center around technology choices. However, most forget the importance of learning to “take out the trash” efficiently.
Clearly deprecating code, removing unused code or adding tests for untested code are all important. But equally important is diligently reshaping of codebase methodologies on a consistent basis. For example, if you change from using onclick to unobtrusive JS, how do you make sure the whole codebase is converted in a timely manner? It might seem like premature optimization at first, but it’s absolutely key that new team members have good examples to work from on day one. A “trash free” environment means velocity stays high with each new hire, instead of losing hours (or days!) figuring out which methodology is up-to-date...
Continue reading →