At about 11pm on a Tuesday night in 2006, I began coding a skeleton CRM web app for our internal use at Google called Toothpaste that tracked the key details of our larger inside sales customers.
It was my first real Rails project after spending quite some coding Java. After I ran “rails server”, I watched the terminal as the program spit out a few lines from the built in app server, Webbrick, and refreshed my browser to see the Ruby on Rails Welcome page. Within a few hours, the first version was functionally complete and I went to bed excited by the prospect of demo'ing what I had built.
Having worked with Java and other languages, I was dazzled by the speed of development of Ruby on Rails. It seemed to take only 10% of the time that a Java web app might. In addition, I benefitted enormously from the huge free library of free components called gems that enable in-line editing, easy access to databases, etc, built by the community.
Since then, I’ve tried to keep up-to-date with the myriad coding innovations: new databases (Hadoop, Mongo, Spark, TAO), new web frameworks (Node, Angular, Meteor) and new languages (Go, Clojure). Infrastructure services like Heroku have also greatly simplified deploying apps. The pace of innovation has been nothing short of torrid.
The developer community has persistently and rapidly iterated existing tools and built new tools. As a result, productivity has increased dramatically compared to ten years ago. The time to launch an initial app, web or mobile, continues to decline. Plus, new frameworks, particularly the server side JS frameworks, enable larger and larger groups of people to become full-stack web developers.
I received an email last week from a former colleague at Google telling me Toothpaste is scheduled to be retired after seven years. I read the note wistfully, remembering the excitement of my first demo, watching people use the tool those first few months and the word Toothpaste slowly enter our daily vernacular.
It is my hope that many more people will feel the thrill of launch day and the pride of building a useful tool or innovative app thanks to the tremendous innovation in developer tools and frameworks.