Being Bleeding Edge Is a Good Thing
By Spicer Matthews
I am a pretty bleeding edge guy when it comes to technology. In fact, as the manager of Cloudmanic Labs I am willing to invest to upgrade our systems with the newest technologies before building additional features or products. To be clear: with respect to deploying code into production bleeding edge does not mean buggy alpha software. Rather, it signifies employing novel but tested libraries, technologies, and design patterns.
The major counterargument to being bleeding edge focuses on end users, who typically don’t even know which technologies products are use. Why replace the old technology with bleeding edge technology if users don’t care? I say this argument is short sighted. When users adopt new software, they hope to use it for a long time because switching can be annoying. But developers who allow complacency to set in and fail to keep up with technological innovations will one day wake up and realize that updating their product is nearly impossible. Advancing software to the next generation is not an easy task and the technology changes blindingly fast. Therefore, if you are not on the bleeding edge you are late.
Just pause a moment to think about the software you were using 10 years ago and compare it to what you are using today. Take Microsoft Office, for example. It is still around because Microsoft has stayed on the bleeding edge with these software products. In contrast, WinAmp was a great MP3 player that did not change with the times. As a result, almost nobody uses WinAmp anymore. My guess is the team behind the software became complacent.
Great software is not about today—it’s about the future. If your software is still in use 5 or 10 or maybe even 100 years from now your software is great. That’s because creation is only the first step. Truly great software is the result of bleeding edge maintenance.