After reading this *very good* blog post by Sidu, I had mixed reactions. The post is no doubt good. If you haven’t read it, go ahead and hop over. I won’t summarize it here and take away from the effect of reading it first hand. I am off to go on a tangent here .
Static, dynamic, C#, VB.Net, Ruby, .Net, and heck even Java. That’s a lot of hammers to “nail” the problem. The business problem we are trying to solve, that is. I agree with Sidu that getting the job done is paramount. My question is, if you are a corporate developer, what choices or freedom do you have selecting the right hammer? The business stake holders do not care what hammer sends the nail in, as long as it is not the proverbial last-nail-in-the-coffin.
Say, you work for a great company, joined at an early stage in your career, and suddenly you realize Ruby, or heck C# is the “language that talks to you” like Scott says in this episode of Hanselminutes on F#. What are your choices? You cannot start coding in C# (not that it really matters with the framework) or whip out an application in Ruby or use the Rails framework.
Do you look for a new job? Who is going to hire a VB developer who now thinks Ruby is the call? Recruiters won’t even respond to you.
My question is, how do you go about, say, implementing an application in Ruby on Rails in a non-ruby shop? How do you convince the stakeholders that this shiny new hammer is perfect for the nail? Take my former employer, Blackbaud, for example. Blackbaud is a VB.Net shop. A bunch of extremely sharp guys run the product development department.
<ad>If you are looking for a new job check them out. Its is a *GREAT* company, near the beach in Charleston, SC and they are alyways looking for good people</ad>
Working at Blackbaud is great. But then, when you wake up with an itch for Ruby or C#, how do you convince the powers that be to switch. Does that even make sense to ask to switch? Probably not. So, in that situation what are your options? You don’t just walk out on a good career. Especially not if you have a family. You don’t just uproot everything just to scratch your itch. You just pick up the tried and tested hammer and go about banging the nails.
One solution is probably to work at a consulting company, say like Thought Works. This company looks like the “place to be for all things cool” if you read their blog. But, can you really pick up any new shining hammer to nail the problem? I don’t know. Having worked ay Infosys, I can say it is possible. The opportunities exist, unlike in a typical corporate setup. But I am not sure if you can just keep jumping on the latest bandwagon and roll along without gathering moss.
The true solution is to work on your core competencies and hone them. Languages come and languages go. Bandwagons are going to have their ride. But if you work on understanding the principles of business and concentrate on solving the problem, you will get far. Not all problems have a solution in a console app. Heck, if you can make the problem disappear, then I would say, you solved it. No problem, no solution needed. Follow that, and you will do good.
Now that we are way out on a tangent, to parapharase Sidu, *GET THE JOB DONE* and be careful with that hammer. Don’t drop it on your toes.