Choosing the platform before choosing the programmer

Would you settle on a brush and then go look for a painter that could use it? Or would you rather find a good painter and then let him use the brushes he sees fit for the task. Put like that, I’d wager few would argue for the former. But when it comes to technology, it happens all the time.

Interesting discussion with lots of comments.

From 37signals a group that has produced several web-based applications for a to-do list, and project management.

I find myself coming down in the middle of this question. Wearing my “network manager” hat, I’m in favor of as much standardization as possible, using development tools and operating system platforms which are well understood, and have support beyond that of a single local person. Wearing my “programmer” hat, I agree more strongly with the “good painter” idea. One thing I would always ask a programmer is: “What sorts of third-party tools and libraries have you developed/bought/learned that will leverage your ability to program in [insert programming language here…] ?”

The difference in productivity between an “outstanding” programmer and a merely competent one can be staggering. If you are paying by the hour, then you could be talking about a factor of 10 in cost difference…building an application for for hundreds instead of thousands, or thousands vs. tens of thousands.

Further down in the discussion there is a mention of passion…of inducing a person to not only be enthusiastic about your problem, but even passionate. I would settle for competence and enthusiasm over passion and incompetence any day.

Link

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s