In the Brand-Based Architects — A Wise Idea? article, I talked about benefits and concerns with positions that include a distinct brand name (or product name) as part of their title. Going a step further with this article, I want to pose the question "Are you being technology agnostic?" in your role as a technical-based resource.
Background — Our Mission
As Information Technology (IT) professionals we have a responsibility to provide the best technical value to our customers. From the single IT staff member of a small company, to the Chief Information Officer (CIO) at a multi-national enterprise, our customers place most (if not all) aspects surrounding technology in our hands - with the expectation that we meet the requirements in the best possible way.
In order to live up to those expectations, we have to gain a full understanding of the current and planned needs our customer has in mind. Additionally, we have the realization that any solution we implement has the ability to perform and scale as the business matures and grows.
What Defines Being Technology Agnostic?
Being technology agnostic requires the technologist to be able to step back far enough to gain a full understanding of what is required to meet the customer's needs. In fact, this concept of stepping back really means to step outside the box while in the discovery phase - to understand the landscape of potential solutions which may help meet the established requirements.
The biggest challenge IT professionals often face in this regard, is with ourselves. The idea of enjoying a particular product to the point where you want to explore every aspect defined in the API is not uncommon. However, we have to keep in mind that just because the option exists, doesn't always mean it is the best option. Some Java developers might offer to bring up Swing at this point in the article.
Why Shouldn't I Just Be Technology Nostic?
Being technology agnostic requires the ability to "fall out of love" with whatever technology excites you and take an honest and hard look at the entire set of solutions which can best meet the customer's request. Failure to do so makes you technology nostic (if that's a thing).
I remember the days when spreadsheets first became popular. At the time, I was working with a fairly large insurance corporation, filled with actuaries who were on cloud nine with what was their dream application. Within a few months, they managed to migrate all of their tasks into a spreadsheet format. This included tasks that were better suited for a database and tasks that were best designed for a word processor.
While all the actuaries embraced the idea, challenges quickly escalated as they started working with non-actuarial staff members - who struggled to understand their tool set. While this example is a little off target (since they were not IT staff members), leveraging a solution out of love for the technology is certainly not limited to actuarial staff.
Can We Truly Reach A Technology Agnostic Goal?
In theory, we should be able to reach the goal of being technology agnostic as IT professionals. Seasoned technology resources realize that there is no single solution that can meet each and every need. However, there are times when the best solution just is not obtainable. Most of the time, cost is the driving factor.
Consider a scenario where your team has been focused on Java-based technologies, developing a suite of applications to support your business. During the discovery phase of your new application, you realize that the best solution resides in a competing language. The cost associated with training, supporting and maintaining two different languages may outweigh the value that would be received from selecting the best solution. Along the same lines, the best solution could be Java-based, but is priced at a level which far exceeds the value your decision-maker is willing to pay.
In the example above, the technology agnostic goal was met. However, the technologist realized the best solution became less attractive when all the costs associated with the solution were put into perspective within the current state.
Technology professionals have an obligation to provide the best solutions for their customers. Most of the time, this obligation is tied to the intersection of the business needs and technical products/solutions. In order to meet the needs of the customer, a true technologist should be able to step outside the box and provide a solution based upon an agnostic point of view - while understanding any external factors (like costs) associated with each option.
Have a really great day!