When to bet against a software technology

July 7, 2008 at 8:25 am (Career)

No matter how cool it may seem, bet against any software technology…

  • whose only selling point is a 2-4x improvement in speed/cost/quality of a common activity.  2-4x sounds great, but it’s surprisingly not enough to get people to jump.  At current rates of progress, many will figure that they can safely skip over a 3x improvement this year in favor of a probable 10x improvement a couple years down the road
  • that locks you to any particular vendor, with the (admittedly unfortunate) exception of Microsoft.
  • that makes it more difficult to trace errors in software.
  • that requires a greater than $10000US up-front investment by a business to try it out on a live sample project.  These can work, but only at the cost of a lot of career-dulling meetings.
  • that requires valuable business data to be hosted external to the organization.  Because at the end of the day, men with long titles and fancy suits will simply say no.
  • that enhances the power of the Operations group at the expense of Development or Marketing.  There are very few wins to be gained with technologies that favor cost centers over profit centers.
  • makes it harder to reason about the performance characteristics of software (I’m looking at you, AOP).
  • that can only be configured via a graphical user interface
  • that can only be configured using a small, application-specific, visual programming language (bet heavily against these).
  • that claims to decrease the amount of skill necessary to develop software.  These rarely work, and then only in small, discrete niches.  If you manage to find one that works, all you’ve bought yourself is a low-skilled job in a small niche
  • whose only selling point is that it decreases the number of keystrokes required to develop software.  There is at present no keystroke shortage, so optimizing based on keystrokes doesn’t buy you much.  Too often tool vendors aim for clarity and maintainability and only achieve tersesness.
  • which claims to make software development a branch of applied mathematics.  These can actually work, and be really quite beautiful, without being any sort of win.  Good software developers require moderately rare talents and long and expensive training.  Good applied mathematicians require extremely rare talents and even longer and more expensive training.  Do the math: don’t do the math.

Feel free to list your own rules in the comments

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

%d bloggers like this: