Tag: continuous integration
At dinner last week, my long time friend Dave Jilk (we just celebrated our 30th friendship anniversary) tossed a hypothesis at me that as people age, they resist adopting new technologies. This was intended as a personal observation, not an ageist statement, and we devolved into a conversation about brain plasticity. Eventually we popped back up the stack to dealing with changing tech and at some point I challenged Dave to write an essay on this.
The essay follows. I think he totally nails it. What do you think?
People working in information technology tend to take a producer perspective. Though the notion of a “lean startup” that uses both Agile and Customer Development approaches is ostensibly strongly customer focused, the purpose of these methodologies is for the company to find an maximize its market, not specifically to optimize the user experience. The following is an observation more purely from the perspective of the consumer of information technology.
On average, as people age they resist adopting new technologies, only doing so slowly and where the benefits compellingly outweigh the time cost and inevitable frustrations. This resistance is not necessarily irrational – after a number of cycles where the new technology proves to be a fad, or premature, or less than useful, we learn that it may behoove us to wait and see. We want to accomplish things, not spend time learning tools that may or may not help us accomplish something.
Consequently, for many decades the pattern has been that technology adoption is skewed toward younger people, not only because they have not yet built up this resistance, but also because they are immersed in the particular new technologies as they grow up.
But something new is happening today, and it is evidence of accelerating rather than merely progressive technology change. Discrete technology advances are giving way to continuous technology advances. Instead of making a one-time investment in learning a new technology, and then keeping up with the occasional updates, it is increasingly necessary to be investing in learning on a constant, ongoing basis.
I will provide three examples. First, application features and user interfaces are increasingly in a state of continuous flux. From a user perspective, on any given day you may connect to Facebook or Gmail or even a business application like Salesforce.com, and find that there are new features, new layout or organization of screen elements, new keystroke patterns, even new semantics associated with privacy, security, or data entered and displayed. This is most prominent in online systems, but increasingly software updates are automatic and frequent on mobile devices and even full computer systems. On any given day, one may need to spend a significant amount of time re-learning how to use the software before being productive or experiencing the desired entertainment.
My mother is 86 years old. For perspective, when she was 20, television was a new consumer technology, and room-sized digital computers had just been invented. She uses the web, Yahoo mail, and Facebook, impressive feats in themselves for someone her age. But every time Yahoo changes their UI, she gets frustrated, because from her perspective it simply no longer works. The changes neither make things better for her nor add capabilities she cares about. She wants to send email, not learn a new UI; but worse, she doesn’t really know that learning a new UI is what she is expected to do.
Middle-aged people like me are better prepared to cope with these changes, because we’ve gotten used to them, but we still find them frustrating. Perhaps it is in part because we are busy and we have things we need to get done, but it is interesting to see how much people complain about changes to the Facebook interface or iOS updates or what have you. We can figure it out, but it seems more like a waste of time.
Young people gobble up these changes. They seem to derive value from the learning itself, and keeping up with the changes even has a peer pressure or social esteem component. Yes, this is in part because they also have fewer responsibilities, but that cannot be the entire explanation. They have grown up in a world where technology changes rapidly. They didn’t just “grow up with social media,” they grew up with “social media that constantly changes.” In fact, not only do they keep up with the changes on a particular social media service, they are always exploring the latest new services. Several times a year, I hear about a new service that is all the rage with teens and tweens.
A second example that is more esoteric but perhaps a leading indicator, is the rise of continuous integration in software development, not just with one’s own development team but with third-party software and tools. No longer is it sufficient to learn a programming language, its idiosyncrasies, its libraries, and its associated development tools. Instead, all of these tools change frequently, and in some cases continuously. Every time you build your application, you are likely to have some new bugs or incompatibilities related to a change in the language or the libraries (especially open source libraries). Thus, learning about the changes and fixing your code to accommodate them are simply part of the job.
This situation has become sufficiently common that some language projects (Ruby on Rails and Python come to mind) have abandoned upward compatibility. That’s right, you can no longer assume that a new version of your programming language will run your existing applications. This is because you are expected to keep up with all the changes all the time. Continuous integration, continuous learning. Older coders like me view this as a tax on software development time, but younger coders accept it as a given and seem to not only take it in stride but revel in their evolving expertise.
My final example, a little different from the others, is the pace of client device change. From 1981, when the IBM PC was introduced, until about 2005, one could expect a personal computer system to have a lifespan of 3-5 years. You could get a new one sooner if you wanted, but it would have reasonable performance for three years and tolerable for five. By then, the faster speed of the new machine would be a treat, and make learning the latest version of DOS, and later Windows, almost tolerable. Today, five years is closer to the lifespan of a device category. Your recent smartphone purchase is more likely to be replaced in 2017 by a smart watch, or smart eyewear, as it is by another smartphone. You won’t just have to migrate your apps and data, and learn the new organization of the screen – you will have to learn a new way to physically interact with your device. Hand gestures, eye gestures, speaking – all of these are likely to be part of the interface. Another five years and it is highly likely that some element of the interface will take input from your brain signals, whether indirectly (skin or electromagnetic sensors) or directly (implants). When you say you are having trouble getting your mind around the new device, you will mean it literally.
The foregoing is primarily just an observation, but it will clearly have large effects on markets and on sociology. It suggests very large opportunities but also a great deal of disruption. And this transition from generational learning to continuous learning is not the last word. Technology will not just keep advancing, it will keep accelerating. As the youth of today, accustomed to continuous learning, reach their 40s and beyond, they will become laggards and slow to adopt in comparison with their children. Even continuous learning will no longer be sufficient. What will that look like?