"Technical knowledge inevitably becomes dated; the ability to adapt to change will always be more important." - Werner Herzog— Erik August Johnson (@eaj) September 6, 2016
I think that this is also great advice for developers starting out in their careers. People's problems and the work they do doesn't change as much as the underlying technology. This is a pretty simplistic example but I started running in 2009 and my experience is pretty much the same:
- I listen to upbeat music of my choosing
- I get statistics recorded of my performance
- I can share those statistics on Facebook or Twitter
Another example from my work life. The product I work on, at its most simplistic reduction, delivers messages based on industry specific business rules. The recipient of these emails won't have noticed much change in the past ten years. Under the hood of the product though there have been a lot of changes. From use of VB6 and COM to early versions of .NET to bus based messaging. There have been various shifts in technology and techniques used that have forced adaptation. Luckily I didn't personally invest to much time in become a COM expert back then! Even the knowledge of how to deal with VB6 DLLs and Classic ASP pages isn't a great deal of use now. What is useful is the domain knowledge around communicating to people. About the stages of getting data and processing it.
The second occurrence of Herzog on my timeline was some commentary by Grady Booch on a film review. The tweets are in three parts, starting with
“Whenever a self-driving car makes a mistake, all the other cars know about it, including future unborn cars.” Sebastian, I respect your metaphor and your POV, but let’s sit down and talk about the pragmatics of legacy code.
and finishing up
Again this tells a story about adaption. How its not just the code we write but the data it uses to teach itself that give the outcomes we want. The cars of the future will learn about the mistakes of today if we adapt the code and data from one technology to the next. This has been easier in the past where the code and data are separate.…recognizing that these days it’s legacy code AND data, especially for systems that are not programmed but learn https://t.co/oZQLoKOtE1— Grady Booch (@Grady_Booch) September 10, 2016
In a world where we use inputs to evolve the "code" running then we may need to treat AI more like employees. With one generation "training" the next, passing on the data in a way that it can become part of the new model. With human beings our mortality and imperfections in passing on knowledge helps prevent a build up of useless information .... well to a certain degree! With computers it looks likely to be obsolescence preventing the passing of useful information. So yes, even with AI it appears we need to focus on adaption rather than a particular technology that will get dated.