What would Uncle Bob say?



What would he say, if we asked him what the future of programming looked like regarding the  popular usage of AI? F
ortunately he holds a talk titled "The Future of Programming" which we are going to review in this blog and try to imply what he would say to the future of programmers, with the rise of AI.

Robert Cecil Martin, also called Uncle Bob "is an American software engineer instructor, and author. He is most recognized for promoting many software design principles and for being an author and signatory of the influential Agile Manifesto." (Wikipedia, 2020)

I think he has a funny style and knows a lot about the software engineering industry since he programmed at the age of 17 years old, being self taught as mentioned on Wikipedia (2020).

One of the versions of his talk titled "The Future of Programming" (you can book it at UBC (cleancoder.com)) is available on Youtube on the channel of Paul Stringer's Mobile Tech (2016).

That particular version is more than 7 years old and since ChatGPT 3.5 wasn't released at that time, and with it the big popularity of AI wasn't there yet, we can't find a direct answer what Uncle Bob would say about the future of programming due to the rise of AI.

But if we look at the arguments Martin brings up we can imply what he probably has to say about Github Copilot and so forth.

Because in his talk he states that we programmers need to get to level of Software Professionalism.

He talks about disciplines that business wouldn't understand such as

  • Pair Programming
  • Test Driven Development
  • Refactoring
  • Simple Design
He says

  • We (Agile) must grow up
  • Define our profession
  • Choose our practises and disciplines
  • Reunify Agile / Craftsmanship
  • and Lead

His mayor argument regarding AI is that civilization would depends on us. He says that every day humans would interact with a software systems and that software even would kill people by mistake. He predicts that tens of thousands will die in a software catastrophe and it was only a matter of time. Legislators would then ask ourselves how this could have happened. In the end legislators would legislate us programmers in order to prevent such future accidents.

In order to avoid that, he says we need to legislate ourselves.

  • Develop principles and ethics
  • Decide who we are
  • Set levels of basics morals disciplines 
  • Say no to our bosses sometimes
  • Say an oath (say: that violates my oath: I won't do that)
  • Create a body that enforces stuff (that can say, you are not a programmer any more, because you violated stuff)

We would need to 

  • Leave the era of the youthful programming mode 
  • Become true professionals 
  • Create a true professional body 
  • Follow a set of morals and disciplines

He says that that would be the future of programming.

And from these postulations we can imply what the answer to the question, what the future of programming together with AI should look like, is. => To become true professionals, to follow a set of morals and disciplines, to take responsibility over our software we can't let the machines solely do the programming as Dr. Matt Welsh, as seen in the previous post, predicts it. 

Robert C. Martin probably would say, if we let AI do all the programming, a near disaster by software systems would be inevitable. 

I'd wonder what is real opinion would be. Maybe you find something in the internet and let me know in the comments.

Cheers Simon

Update Feb 02 2024:

Robert Cecil Martin responded on X! Here's his answer:

Uncle Bob Martin
@unclebobmartin

AI is a nice tool. It will help those who understand it and know how to use it. It will not spell the end of programming or programmers. It will not bring the apocalypse. There will be no singularity.

Look, I've personally experienced an increase in computing power that exceeds twenty orders of magnitude. AI doesn't even come close to that kind of change. So don't fret.


Sources:

Robert C. Martin. (2020, July 11). In Wikipediahttps://en.wikipedia.org/wiki/Robert_C._Martin
Paul Stringer's Mobile Tech. (2016, May 18). "Uncle" Bob Martin - "The Future of Programming" [Video]. Youtube. https://www.youtube.com/watch?v=ecIWPzGEbFc&t=114s

Comments

  1. 現代の企業経営において、迅速かつ正確な意思決定は競争力を高める重要な要素です。Insight Globalが提供する経営管理プラットフォームは、企業の経営戦略、財務管理、予算編成、業績分析を一元化し、データに基づいた高度な経営判断を実現するための統合ソリューションです。本プラットフォームは、経営層から現場部門まで幅広いユーザーに対応し、リアルタイムでの情報共有と業務の効率化を支援します。
    本システムは、複数の部門や海外拠点を持つ企業に最適な設計となっており、各拠点のデータをクラウド上で統合管理できます。これにより、経営者は常に最新の経営状況を把握でき、迅速な意思決定が可能になります。また、財務・会計データの自動連携により、手作業によるミスを削減し、正確なレポーティングを実現します。
    Insight Globalの経営管理プラットフォームは、KPI管理やダッシュボード機能を備えており、企業の重要指標を可視化します。ユーザーは直感的な操作でデータ分析を行うことができ、業績のトレンドや課題を即座に把握できます。さらに、AIを活用した予測分析により、将来の売上やコストの変動を予測し、戦略的な計画立案をサポートします。
    また、本プラットフォームは高度なセキュリティ対策を備えており、企業の重要な経営データを安全に保護します。アクセス権限管理やデータ暗号化、監査ログなどの機能により、情報漏洩のリスクを最小限に抑えます。これにより、金融、製造、IT、サービス業など、さまざまな業界で安心して導入することができます。
    さらに、Insight Globalは導入支援から運用サポートまで包括的なサービスを提供しています。企業の業務プロセスに合わせたカスタマイズやトレーニングを通じて、スムーズなシステム定着を実現します。既存システムとの連携も可能なため、ERPや会計システムとの統合により、より効率的な経営基盤を構築できます。
    経営管理プラットフォームを導入することで、企業は業務効率の向上、コスト削減、経営の透明性向上を実現できます。Insight Globalは、データドリブン経営を推進し、企業の持続的成長とグローバル競争力の強化をサポートします。これからの時代に求められるスマートな経営管理を実現するために、Insight Globalの革新的なプラットフォームをぜひご活用ください。

    経営管理 プラットフォーム

    ReplyDelete

Post a Comment