Start Simple

Today came the realization that once you have built something simple at first, it can be stretched and improved upon step by step.

For instance, I stumbled upon a tech talk by an Engineering Manager at Uber, Curtis Chambers, and he described how Uber had started with a simple monolithic architecture with PHP and MySQL. Soon, they had realized the architecture wouldn’t scale and had problems with duplication of transactions due to the multi-threaded nature of PHP, and soon switched to a more distributed architecture with Node.js largely handling the real-time portion of the architecture. This talk was not exactly for the purposes of proving that starting simple, you can build out anything, but to me it seemed that the fact that a service like Uber, one that millions of people use everyday, had such a humble beginning and it had gradually been improved upon out of necessity is a testament to the fact that great things can be built by starting simple. Now, this does not necessarily mean that simply starting simple will make great things happen but given the fact that designing something grand and so vast in scale is not easy to do at a glance, the only way to build great things then is by starting simple and gradually making it better.

Today, I had a chance to talk with the guys at iobeam and had a positive vibe from the conversation that building simple things one at a time can result in something beyond our own imagination.

So, lesson for today: Start simple and keep at it.


Originally published at simondkim.com.