Unlearning

IT Management is becoming increasingly tricky, with new ideas such as “cloud services” and “hyper-converged” rapidly disrupting “traditional” IT strategies. The incredible pace of change has left many an IT manager out in the cold about what to do next, and entirely uncertain about the knowledge that they have accumulated over the past X years. What, they may ask themselves, is required in this day and age, in order to thrive, or even survive?

One common refrain: learn new things! This is certainly a valid and necessary philosophy. The pace of technology changes requires continuous learning; to be stuck in one place is to be left behind. But just as important is to learn how to jettison old methods and philosophies regarding technologic tools: To a certain extent, “unlearning” what we have already learned, to efficiently take advantage of what’s next.

It is worth remembering that the pace of change in generalized technology terms is faster now than over the past, well, forever.

No one, at any point in the past, has ever seen growth and change at these types of rates. The unprecedented growth of connected-ness and population, in addition to tech-feeding-tech, have put things on a pace of change that is almost comical.

In this environment, it is essential to evolve. There’s a reason that technologists are constantly heading off to conferences, attending webinars, and building demo labs: keeping up with the new is almost a full time job in itself.

These charts (taken from The Singularity is Near, Kurzweil 2005) show how a range of technologies began growing exponentially. In instances where the pace has slackened (HD cost/GB for example have begun to level off at an absurd average of .03-.04c/GB) the resulting commoditization of resources has enabled brand-new technologies to begin their own exponential growth. Infrastructure-as-a-Service offerings, for example have been growing at nearly 50% year-over-year with no signs of slowing down.

The trouble comes in, when the strategies and tricks from old tech clash with the operational best practices of new tech. The growth from a single Hard Drive, to a Mirrored RAID pair, to an abstracted LUN on a storage array, to Storage-as-a-Service may seem linear, but the back-end management and best practices in these cases can be wildly different. What was perfectly reasonable in one instance, may be disastrous in the other.

Programmers know this issue all too well. Who doesn’t know that sysadmin, who ostensibly writes in Perl, but is really just rewriting LISP? A C-programming master can get around in C++, but what about in C#? Writing events would be a relatively simple task, if the mind were flexible, but if your mentality is still in C++, you’ll be writing threaded infinite loops until your compiler cries out for mercy.

In both cases, it is the “stickiness” of this old knowledge that becomes an obstacle. There is a very rational fear of wasting years of experience by starting over. However, in order to go faster, be more efficient, the old knowledge must be set to the side, so that the new technology can be used at its peak levels of performance. This is true for the individual, as well as the company they work for. Organizations that don’t adapt, that don’t take change as it comes and trust their people, will be left behind.

It’s important to note that this “unlearning” does not really mean completely binning everything that’s come before. For one thing, tech that’s in place has a tendency to stay in place (A search for “COBOL” on monster.com still yields 1000+ results). More importantly, the willingness to “unstick” will enable flexible thinking that can move through technologies and use the best tool for the job.

Learning, in any field, builds upon learning; it may take years for the dedicated linguist to master German, but how much faster will they learn Chinese? It is just as essential for them to set aside the grammatical syntax of the former to master the latter.

Technology will not stop just because the individual technologist is tired of new things. Moore’s law, as we know, has finally worn-out. However, the wide range of technologies, now available to us due to the ubiquity of unlimited computing power, will continue strong for decades. Agility of mind, when it comes to the adaptation of new technology, is what will pave the way forward for the foreseeable future.


1) Not content to allow the C++ language to languish, Bjarne Stroustrup has been actively forging ahead, with C++11, C++14, and C++17 offering major enhancements in recent years. And the features he added are exciting -- not just window dressing. There’s much to look forward to in C++17 (most of which gets "borrowed" from other modern languages, specifically Python, Perl6, and Swift.)