<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<div><br>
</div>
<div>Les,</div>
<div>Good to hear from you, as always. I’m buried in some substantial customer work for the next couple of weeks, so not a lot of time for a detailed reply. However, here’s the top-level summary of where I would want to go:</div>
<div><br>
</div>
<div>First, I am pulling the “description” of Software Engineering from the soon-to-be-released version 4 of the “Guide to the Software Engineering Body of Knowledge” (aka “SWEBOK Guide” v4). The final publication version should be out in October or November
(fingers crossed) but you can find the public review draft here:</div>
<div><br>
</div>
<div><a href="https://waseda.app.box.com/s/r1j1mavf3glhtf6qh5j0xxdeb4uaws5h">https://waseda.app.box.com/s/r1j1mavf3glhtf6qh5j0xxdeb4uaws5h</a></div>
<div><br>
</div>
<div>Not a lot will change from this public review draft to the final publication version, mostly correcting some typographical errors and fixing some broken formatting. The content is substantially in place.</div>
<div><br>
</div>
<div>Second, if you look inside SWEBOK Guide v4 you will see knowledge area Chapter 14, “Software Engineering Professional Practice”. Specifically, section 1.2 starting on page 14.3 calls out "Codes of Ethics and Professional Conduct”. My point here is that
while SWEBOK Guide v4 does not go anywhere near the level of detail that you go into below, it at least makes explicit that a true Software Engineer must behave in an ethical manner. Quoting page 14-4:</div>
<div><br>
</div>
<div><i>“Following their commitment to the health, safety, and welfare of the public, software engineers shall adhere to the ten principles according to IEEE Code of Ethics adopted by the IEEE Board of Directions, June 2020.”</i></div>
<div><br>
</div>
<div>Finally, on a slightly different but still related topic, I got my Master’s of Software Engineering from Seattle University. Seattle University is a Jesuit school. Every Jesuit school has a curriculum requirement that every degree program include an element
of ethics. Not as an elective, as a core curriculum requirement.</div>
<div><br>
</div>
<div>I was in Palo Alto, CA several years ago listening to a radio talk show while commuting. One comment that stuck out was that if you look at corporate CEOs and executive managers, those that graduated from Jesuit universities are significantly less likely
to get involved in corporate malfeasance such as Fraud, Embezzlement, Extortion, Insider Trading, etc. If I recall correctly the interviewee declared that no corporate executive that was ever convicted of corporate malfeasance in the USA in, say, the last
50-100 years was a graduate of a Jesuit university. So maybe explicit education in Ethics does make a difference?</div>
<div><br>
</div>
<div><br>
</div>
<div>All the best,</div>
<div><br>
</div>
<div>— steve</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>On Aug 13, 2024, at 5:02 PM, Les Chambers <les@chambers.com.au> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div>Steve<br>
It's wonderful to see this list light up so passionately. Rumours of the death <br>
of safety-critical systems debate were exaggerated. <br>
Your detailed breakdown of what a software and systems engineer should know <br>
resonated with me both for what it includes and excludes. It's correct but <br>
incomplete. Looking back on 50 years in systems engineering I've concluded <br>
that something was missing from my education. You know something is missing <br>
when you're flummoxed - faced with a situation where you have no analytical <br>
skills to guide your next move. For me, it was ethical dilemmas and people <br>
problems. But this is a reductionist view, the bigger picture is: I was given <br>
no grounding in philosophy. No one taught me how to live as an engineer. This <br>
ignorance was annoying then but is deadly now as engineers face mind-bending <br>
judgement calls such as, "Is this AI sentient . ergo it's in a safe state?" <br>
<br>
I refuse to retire and go quietly so I've been reading philosophy and trying <br>
to stay on top of developments in artificial intelligence (an impossible <br>
task), specifically its application to safety critical systems - Tesla and the <br>
like. It's an exciting but horrifying experience. Exciting due to the endless <br>
utility of the six artificially intelligent agents I converse with every day <br>
and horrifying when I witness a neural network deployed to drive an <br>
automobile. It's doing my head in that a giant blob of parameters (a neural <br>
network) has replaced a highly deterministic multilayer control systems <br>
architecture the like of which we have been refining for the past 50 years. <br>
This blob is not assembled subject to an unambiguous, complete and correct <br>
requirement specification and can therefore not be validated with a suite of <br>
human or machine-executable, module, unit, integration and systems tests. All <br>
we have is actors such as Mira Murati (Chief Technical Officer of OpenAI) <br>
shrugging, "Aw shucks, we don't understand why it works so well." Or gems from <br>
the likes of tech dudes such as Elon Musk, "Full Self-Driving V12.5 is good to <br>
go, it no longer spills my coffee."<br>
<br>
Clearly, we are witnessing the death of determinism in control systems. It is <br>
our sacred duty as professional engineers to turn this trend around "for the <br>
good of mankind". This is not a fad. Neural nets are a postmodern fact of <br>
life. You can take a Robotaxi in San Francisco, Los Angeles, Las Vegas, Austin <br>
and Phoenix.<br>
<br>
Where do we start? Just as neural nets deployed in safety-critical <br>
applications need to be wrapped in a postmodern variant of systems engineering <br>
discipline so do engineers need an upgrade to their educational wrapper - a <br>
solid grounding in philosophy at the core of all undergraduate engineering <br>
courses. And it must be COMPULSORY, not an elective. <br>
<br>
Over the years, in an unexamined creeping manner, engineers have accumulated <br>
massive power. We have designed nuclear bombs placing the world on a hair-<br>
trigger for the insanity of unwinnable nuclear war. Military technologists <br>
freely admit that the Ohio-class submarine is a greater threat to the planet <br>
than a meteor. We build deep fake tools that can mess with the minds of 3 <br>
billion people overnight. Artificial general intelligence will put this power <br>
on steroids, we therefore need to teach engineers how to wield it with the <br>
wisdom wrapped in philosophy. My thesis is that wisdom can and must be taught <br>
not left in the nebulous netherworld we call experience where the test comes <br>
first and the lesson later. Some decisions must be right the first time, <br>
there being no opportunity for continuous improvement in a dead radioactive <br>
planet populated by 6 billion corpses. <br>
<br>
Graduate engineers need to be celebrated not only for the equations they can <br>
solve but also for who they are; educated individuals, possessed of open, <br>
calm, self-controlled, stoic, stable, moral, measured, rational and logical <br>
minds with an unshakeable commitment to the profession, virtuous, incapable of <br>
committing an immoral act; not as culturally illiterate, laisser-faire, <br>
technical automatons (a guaranteed outcome of your current curriculum Steve). <br>
All of the above are learned behaviours that are reinforced by experience but <br>
will struggle for an engineer's attention unless the frameworks and principles <br>
are taught and valued at the engineering origin - the University.<br>
<br>
Your summary curriculum is engineering hygiene, necessary but not sufficient. <br>
We need to move our undergrads beyond algorithms to engage with the elements <br>
of our humanity that non-engineers are merrily moving into silicon. The <br>
squishy nondeterministic stuff that goes on in the brain. <br>
The engineering education must instil a state of mind - a certainty in "who am <br>
I?". Over the years we have evolved from spot problem solver, to systems <br>
designer, to where we find ourselves today - Cognitive Systems Designer, a <br>
professional specializing in the creation of intelligent systems that <br>
replicate or enhance cognitive functions, such as perception, learning, and <br>
problem-solving, by utilizing insights from philosophy, psychology, <br>
neuroscience and artificial intelligence.<br>
<br>
The problem is that much of the customer-facing AI product development work is <br>
currently being led by non-engineers. Look up Dennis Hassabis, Sam Altman, <br>
Jack Clark et al. they are neuroscientists, computer scientists and <br>
philosophers. Brilliant people but lacking an engineering mindset, as <br>
evidenced by safety as an afterthought in chatbot development. I would be <br>
surprised if any of them has ever heard of the concept of Functional Safety. <br>
My point is that the brain that works at the AI system product coalface must <br>
have an engineering mindset with philosophical reasoning embedded. Designers <br>
make decisions that can't or won't be reversed especially if they increase <br>
shareholder value. Frances Haugen testified that Facebook knowingly left <br>
algorithms injurious to user mental health in the mix to preserve cash flow. A <br>
thought experiment: what if the designers just said, "No!" Where would you <br>
find the courage to do such a thing?<br>
<br>
And so we have come full circle to a place where ancient philosophy offers a <br>
wealth of insights that can be practically useful in this cognitive state. My <br>
humble suggestions are:<br>
<br>
1. Socratic Method: This technique emphasizes dialogue and questioning to <br>
stimulate critical thinking and illuminate ideas. Cognitive Systems Designers <br>
can use this method to refine their ideas, evaluate assumptions, and enhance <br>
problem-solving through collaborative discussions. Postmodern Systems <br>
Engineering is a team sport that will welcome synthetic agents and assistants.<br>
<br>
2. Aristotelian Virtue Ethics: Aristotle's focus on virtue ethics encourages <br>
designers to consider the moral implications of their work. This perspective <br>
fosters a commitment to creating systems that prioritize human well-being, <br>
flourishing, and responsible use of technology. "For the benefit of mankind" <br>
means, that when interests conflict, we report to mankind, not our political <br>
or commercial masters. The courage to hold this line is a function of a clear <br>
view of who you are.<br>
<br>
3. Realism vs. Idealism: Philosophical debates on realism and idealism can <br>
inform Cognitive Systems Designers about the nature of perception and reality. <br>
Understanding how different perspectives affect cognition can help in <br>
designing more intuitive systems. The naive engineer will be shocked to <br>
discover that reality is largely a function of personal perception, with the <br>
possible exception of gravity.<br>
<br>
4. Teleology: The concept that everything has a purpose can guide designers in <br>
understanding the intended functions of cognitive systems. By clarifying the <br>
goals of their creations, designers can align technology with human cognitive <br>
processes and needs.<br>
<br>
5. Mind-Body Dualism (Descartes): Exploring the relationship between the mind <br>
and body can inform the development of interfaces in cognitive systems that <br>
account for the physical and psychological experiences of users, enhancing <br>
user engagement and interaction. Research indicates that a component of our <br>
wisdom resides in the body, independent of the mind. For example, the body <br>
does not want to lie - evidence the success of polygraph technology.<br>
<br>
6. Stoicism: This philosophy emphasizes resilience and rationality in the face <br>
of challenges. For designers, it can inspire a focus on creating robust <br>
systems that empower users to cope with uncertainties and enhance decision-<br>
making. In bad situations, engineers need to stay calm and rational when <br>
surrounded by panic. Stoicism provides simple tools to deal with high-stress <br>
events. Marcus Aurelius instructs us, "It's not the event that sparks panic <br>
it's how you react to it and this is under your control."<br>
<br>
7. Phenomenology: The study of experience and consciousness can provide <br>
valuable insights into user interaction with cognitive systems. Understanding <br>
how people perceive and interpret their experiences can lead to more <br>
empathetic and effective designs.<br>
<br>
8. Pragmatism (William James): The pragmatic approach encourages designers to <br>
consider the practical outcomes of their technologies. Focusing on real-world <br>
applications and user impact can help create cognitive systems that are both <br>
functional and meaningful. What was the designer of the B61 nuclear bomb <br>
thinking when he provided for configurable yield (0.3 to 340 kilotons). "Aw <br>
shucks, if we're mildly upset we'll kill a few thousand enemy but if we're <br>
really angry we can smoke 2 million." <br>
<br>
And so I beat on (with apologies to F Scott Fitzgerald), a boat against the <br>
current, drawing the profession back into the past to assure its future. It <br>
could be an act of stupid courage, attempting to nudge a local University in <br>
this direction through my association with a colleague who lectures in their <br>
postgraduate engineering stream. <br>
<br>
Here's hoping that all of the above will attract some comment from this list. <br>
In particular from the university educators amongst us. I read many American <br>
universities are aggressively pursuing AI in education. Is anyone pursuing <br>
philosophy for engineers?<br>
<br>
And to the freshman engineer a warning, suit up and front up to Marcus <br>
Aurelius, Epictetus, Seneca, Aristotle, Socrates . et al. Listen to what they <br>
have to say, you don't want to find yourself in this situation:<br>
<br>
A broken wing rocks on the sand<br>
Beside a far-off sea<br>
In pitch black faith was placed in men<br>
Christ<br>
One of them was me!<br>
<br>
Cheers<br>
Les<br>
<br>
PS: A practical suggestion. Read Ryan Holiday, The Daily Stoic. It's not <br>
rocket science, five minutes a day could transform you into a Philosopher <br>
Engineer.<br>
--<br>
Les Chambers<br>
les@chambers.com.au<br>
<br>
https://www.chambers.com.au<br>
https://www.systemsengineeringblog.com<br>
<br>
+61 (0)412 648 992<br>
<br>
<br>
</div>
</div>
</div>
<br>
</body>
</html>