blog dds

2015.05.22

Grady Booch on the Future in Software Engineering

I was privileged to hear Grady Booch deliver a keynote on the Future in Software Engineering. Here are my notes of some important statements and interesting soundbytes.

  • Software is an invisible thread, and hardware is the loom on which we weave the fabric of computing.
  • Developing software is like making love: there are mechanics involved, but in the end its key element is love.
  • (Regarding the use of computers at wartime): Computing is woven on the loom of sorrow.
  • The entire history of software engineering is a rise in the levels of abstraction.
  • Early structured methodologies were very waterfallish, because the risks of failure were very high.
  • Dominant design enables the rise of platforms.
  • Key principles of software engineering: Abstractions, separation of concerns, simplicity.
  • The core system in the US IRS is written in IBM 360 assembly language.
  • Old code never dies: you have to kill it.
  • My manager has the illusion of managing me, and I accept the illusion I can be managed.
  • Every line of code you write has human and ethical implications, for we are changing the world we live in.
  • You can't outsource innovation.
  • It's easy to apply agile in small teams, but difficult to teams of teams.
  • (Inside a GE MRI scanner): Oh my God I know the people who wrote the software for this! I'm really happy they used UML and formal methods.
  • The fundamental premise of science is that the cosmos is understandable; the fundamental premise of our domain is that the cosmos is computable.

Grady Booch: Challenges of software engineering

Grady continued by offering some important challenges for our field.

  • There is no really need for new programming languages, apart from those that nonprogrammers can use.
  • What can we do to better assist the work of teams?
  • What are the best practices for systems of systems whose components are guaranteed unreliable and untrustworthy?
  • What higher-order languages do we need for programming massive neural networks?
  • You think debugging is hard now? Wait till you have to deal with systems that learn. How can we debug such systems?

The keynote finished with the following statements and a well-deserved standing ovation.

  • Software is the invisible writing that whispers the stories of possibility to our hardware.
  • It is a privilege to be software developer, because we change the world.
  • It is a responsibility to be software developer, because we change the world.

Read and post comments, or share through   


Creative Commons License Last modified: Monday, May 25, 2015 7:35 am
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.