The Techie's Dilemma
I call myself a techie. I love experimenting with and reading up on the latest and greatest tech. I don’t mean techie in any derogatory sense, but rather just someone that is deeply passionate about technology. In my perfect world if you build it (and your tech is the best), they will actually come.
Unfortunately this is (extremely) rarely the case. Building the right thing, at the right time and getting it into the right hands as quickly as possible is key. As Paul Graham said: “Do things that don’t scale“. We’ve all heard this before, over and over again, and it sucks how much sense it makes. We want to do things that scale! We want to architect awesome solutions consisting of queues, workers, caches, autoscaling, etc. We want to add tiny animations to our app UIs, even though we’re probably the only ones that will ever notice them.
The dilemma is that we want to go overboard with the tech, but in most cases it is premature or totally unnecessary. The challenge is thus to find the right balance between crazy tech, and being as lean as possible. Your web app could be built in something cool like Go, have 100% test coverage, be infinitely scalable, but if your grandma is the only user, what’s the point? On the flip side, that passion that we have for tech gets fueled by the hot new front-end framework or those 3 lines of code that elegantly solves something extremely complex.
I don’t have a definitive answer to this dilemma, but the worst thing for me is building something that doesn’t matter. It gets me down if my project is thrown out or if nobody wants to use it. The quicker I get to that conclusion the less it sucks though. However, don’t stop experimenting and pushing boundaries on the tech side, even if that means having side projects or contributing to open source after hours. That crazy tech you’ve been playing with just might be the obvious answer to the next big problem you are trying to solve.