Software Library or Software Application?

When I started my career as a software developer, I did a lot of reading.

In the end, I would say it didn’t help me nearly as much as actually writing software did. In retrospect, I was reading the wrong stuff. I was getting a lot of specific advice from a lot of experts, but without enough context to make good decisions.

One area in particular where I was misguided had to do with best practices, coding style, and architecture related to software libraries. I would be writing a simple application and get very bogged down in designing it the way one was expected to design a reusable software component or library. I tried to make everything reusable and well-documented, even though the truth is, I was mostly writing one-off applications and prototypes and there was no benefit to trying to follow a lot of the recommended design principles.

My advice to my junior self? You are either writing an application or a software library. Figure out which one, and do it.