Clarence's Coding Journal

My software development experiences.

Software Development Sea Change

Prior to joining ThoughtWorks I was mostly developing using Microsoft-based technologies on the .NET platform. Whilst there are some nice things on this platform (C# being one of them) I felt it was time for a change and to try taking some risks by moving into the uncharted territory called “open source”.

My first project, after 3 weeks on the beach (i.e. the bench, only more pleasant and sunny), was a Ruby on Rails project. I had heard of Ruby and even had a passing stab at writing something equivalent of the “15 minute blog” website. This was the kind of challenge I was looking for – something out of my depth and exciting. Lucky for me, the team I joined was awesome and because we pair quite extensively on ThoughtWorks projects I was somewhat productive after about 2 weeks.

After a year of Ruby/Rails projects I still feel like a newbie compared to the 5.5+ years I spent doing C# (and then several years doing Java, C++, etc, before that). Looking back I think learning “Ruby” and “Rails” was only part of the challenge. I was really working with tools, IDEs, and platforms completely alien to me, such as: Mac OS X, CentOS and Ubuntu Linux, RubyMine IDE, TextMate, Cucumber, RSpec, Selenium, PostgreSQL, MySQL, dozens of Ruby gems, Git, Github, Mercurial, Android SDK, Eclipse, Maven, JMeter, and lots more.

This initially made me feel quite uncomfortable as I was leaving my familiar Windows, Visual Studio and .NET environments behind. With so many new variables introduced at the one time there was certainly plenty to keep me busy. Apart from the technology landscape changes I was also thrust into the world of Agile software development.

A year and a half later I am on a Ruby on Rails project again targeting smart phones (like Android and iPhone) and also desktop web users. The whole infrastructure is deployed “in the cloud” using Amazon Web Services (AWS). It’s really a great project with a great team. I am still learning and still feel like a newbie at times but when I look back I can see how far I have come.

Some of the books that inspired me along the way include:

So if you are feeling bored with your current job or looking for a change I can only say “Just do it!” (thanks to Nike for that one).

Side note: I have been on a .NET project as well in this time (mostly in a coaching role) and we certainly do our fair share of .NET work at ThoughtWorks. .NET is something I am still keeping my eye on with .NET 4, ASP.NET MVC 3, and other interesting developments in the pipeline. However, now I would certainly consider open-source technologies and not limit myself to proprietary software.

Comments