On Technology Choices

latest-small-64There’s a nasty habit in software to choose technology based on what’s the latest thing to arrive. You can see this in tools (e.g. GIT) or languages (e.g. Ruby) or libraries (e.g. AngularJS). The thought is because a technology choice is new, it’ll be better than the one before it – and in all honesty, a lot of the time this is true.

However, avoid being dependent or biased based on the relative age of a technology when making choices. Pick the right tool for the job is the rule we’d all like to live by, but be aware that it’s in a technologist nature to pick the newest shiniest toy in all cases.

When a new technology is born it’s sometimes to fix a perceived problem in existing solutions. Sometimes this is a great thing. Take GIT for instance, SVN was hurting distributed teams, merging and branching were painful and slowly but surely developer’s approaches were being limited by the tooling they were using. So we all started moving to GIT.

BUT WAIT!

Does a new technology come without penalty? The answer is flatly NO. There is re-training, the new gotchas that come from a new model and the overall cost of moving from one to the other. Think for a minute, were the problems that the new technology was solving actually problems you were encountering? Were you using SVN with distributed teams? Were you using lots of branches and lots of merging?

The point isn’t that picking a new technology is bad, rather than yet again you need to think for yourself.

  • Is it going to help?
  • Is the older technology going to be updated to fix the problems you’re experiencing in a lower cost time period than the one you’re moving to?
  • Are you just storing up a problem for later?

For instance, I’ve just gone back to Flash/Flex because it solves a need for me. Yes, it’s old technology (relatively) but it’s the best tool for what I’m trying to achieve today. Is it bad because it’s old? No. In fact, it’s been exercised so heavily due to it’s age it flips round and becomes a good choice.

Know why you’re choosing the technologies you’re choosing, if the primary reason is that it’s new (and be honest with yourself) then think again. Alternatively if you have infinite time and people knock yourself, hell we all like to play with new toys!

Leave a Reply

Your email address will not be published. Required fields are marked *