Few weeks ago, a good college of mine asked for my opinion on this matter. I’ve realized I haven’t written anything in a while, and you know… :).

Here is my answer :

In my mind one of the CIO’s responsibilities is to define the high level technology strategy and although he/she may not be fully equipped to decide on a particular technology stack – lack of domain knowledge or just not enough time to research all the options available – she should collaborate with the architects and feel confortable with the decision (also stand behind it as there is no room for pointing fingers later!).

There are plenty of consideration when settling on a technology stack that may not be part of the architect purview:

  • Technology Market Adoption
  • Potential developers available in the market
  • Company long term road map and strategy
  • Financial factors
  • Future strategic alliances

Also there are plenty of considerations that may escape the CIO’s knowledge:

  • Frameworks available
  • Technology Performance for a certain task
  • etc


It is also the CIO’s job to help the team broaden their spectrum and “force” them to do research. Let’s say you are working with a Java architect – although I rather architects to be technology agnostic – if that person is reluctant to using other technologies, he will try to solve the problem with Java (you know, if the only tool you know is a hammer….).

Summing up, the CIO/CTO should define the global strategy considering technology and non-technology factors and foster internal research. Architects should come back with a variety of options and healthy debate should happen. The CIO will be ultimately responsible for the decision in front of the executive team and the board. This is a really important choice to be taken by just one person, and for some reason you have hired architects.