Back in 2016, I attended the Agile Alliance Technical Conference (since renamed Deliver:Agile, which I think was a HUGE mistake, but that’s for another article) I saw a keynote by Uncle Bob Martin called The Future Of Programming (video of that keynote here). It was powerful, insightful, and not ashamed to point fingers. The other day, I found a video on Youtube of a similar talk by Uncle Bob here, and I felt compelled to spread the word about his message, even more relevant in 2019.
The overarching theme of the talk was the history of computers, from the “beginning” to the present, but also who was designing them and programming them, how that was done, and how all of those changed over time, for better or worse. He also does an interesting approximation of the number of computers and number of developers through the years.
Some of the topics he covered in this hard-hitting talk:
- Alan Turing’s amazing concepts and innovations in computing, and how his far-reaching predictions hold true
- Software Engineers used to be very experienced scientists and mathematicians who knew exactly what was happening in the computer when their program ran, and how to make the most out of available resources. We have been trending away from these highly disciplined Software Engineers towards people who know higher level languages and technologies, but not necessarily as much about what’s happening behind the scene. One reason he sited for that was the sheer number of developers needed surpassed the number of people with those backgrounds. Personally as a Software Engineering Manager, I saw a trend away from knowing the inner workings and depending on the higher level technologies to do the right thing, which in my experience can lead to unpredictable results and hard problems
- Along with this trend is the winnowing percentage of women in computing. Most developers are men, and that’s been the case for a long time. Of course geographical diversity is up because it’s easier to move and travel, but we lose something when any axis of diversity is decreased
- As we moved from disciplined scientific and mathematical professionals to favoring developers without that background, we needed more management and process, and the developers became more removed from the process. But business people, the product managers, still generally don’t understand those required disciplines and best practices they dictate. His fix for this is for the software side to become more disciplined ourselves and worthy of taking back some of the control of what we do. If we don’t we will become heavily regulated
Whether you believe in his points and conclusions I found his talk fascinating, moving, and thought-provoking. I urge you all to watch it.