I’ve been developing software since 1998. Originally, I cut my teeth doing CGI’s with Perl on Slackware and genuinely enjoyed my simple little successes. However, a few years into my career I bounced into a Microsoft shop, and inadvertently managed to drink the kool-aid.
I spent the next 5 years evangelizing every development that transpired out of the .Net platfrom. I spoke MS acronym’ese fluently. The most flagrant fanaticism on my part was the implementation of “Enterprise” systems.
If a client wanted a simple CRUD web-application, my goodness, it had to be “Enterprise” because we had to be able to scale it. This would usually involve an Asp.net front-end, a web-services layer, a lightweight service-bus, a data-tier and Sql Server. You know all the components that make an architecture “Enterprise”.
Ultimately though, after several years and many project lifecycles of over-architecture, over-complication, and missed timelines, I began fostering an ovewhelming feeling of chagrin toward development.
In early 2006 a colleague of mine introduced me to Ruby, and though I had heard the buzz for well over a year, this time I took note. For the first time in probably 4 years I was having fun writing code again.
I won’t claim Ruby is a silver bullet, however, it was enough of a catalyst, that it energized me out of a state of complacency.
Here we are in December of 2006 and now I’m compleletely MS free. I’m doing pure open-source (RoR and LAMP) web-development on a Macbook.
Since transitioning back to the open-source development paradigm I’m hitting my timelines, my codebase is significantly smaller, my client’s are happy and most of all… I’m happy.
I’m by no means advocating that there’s no place in the world for “Enterprise Systems”, just that 99% of the development in the world doesn’t require an “Enterprise System” nor does it require .Net or Java