Developers love new shiny things. And in technology the past few years, there has been no shortage of shinies. Depending on the ecosystem you are working in, there are new frameworks coming out at a rapid pace. Shiny things are nice, and using the latest and greatest technology in your applications is a great way to achieve technological advantage over your competition.
But no matter how nice shiny things are, I believe you should develop your next application on a strictly boring stack, unless you are prepared to get up in the middle of the night to fix a stack you barely know. I’ll tell you a story I’m not particularly proud of, but one that proved to be an invaluable lesson.
That one time it couldn’t fail
About four years ago, I was working for a small startup company as a software engineer. The company wasn’t doing particularly well, and the product my team was working on was going to be the tide turner.
We had that startup mentality of always building software using the latest and greatest technologies. Around that time, that meant leaving the old fashioned SQL databases behind and moving to a NoSQL data model. That choice made a fair amount of sense, since the data we were processing wasn’t strictly relational.
On top of that, we made the decision to launch the application in Docker containers. No one really had any experience or even knew what Docker was back then, but one of our team members read about it, and he was convinced it would give us a competitive edge further down.
After about six months of development, we were ready for our initial release. We had customers lined up, ready to dive in and give us feedback. They had been waiting a good while, and the company’s management was anxious to finally start generating some revenue. Paying customers and a new launch were about to make our dreams come true.
All was good, for the first couple of hours. We went home happy after a job well done, and we were convinced the tide was finally turning. That joy lasted until it was near midnight. One of our larger customers called, saying some of the information they entered just disappeared, and he was getting logged out of the application intermittently.