SlideShare a Scribd company logo
1 of 57
Knowing your
Limitations
Knowing your
Limitations
5
6
“ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of
the strictly limited size of his own skull;
therefore he approaches the programming task
in full humility, and among other things he avoids
clever tricks like the plague.”
7
Humility != Self Deprication
8
Humility != Spinelessness
9
“ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of the
strictly limited size of his own skull; therefore he
approaches the programming task in full humility,
and among other things he avoids clever tricks like
the plague.”
10
11
12
“ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of the
strictly limited size of his own skull; therefore he
approaches the programming task in full humility,
and among other things he avoids clever tricks like
the plague.”
13
“ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of
the strictly limited size of his own skull;
therefore he approaches the programming task
in full humility, and among other things he avoids
clever tricks like the plague.”
14
“ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of the
strictly limited size of his own skull; therefore he
approaches the programming task in full humility,
and among other things he avoids clever tricks
like the plague.”
15
“ “The best way to learn to live with our
limitations is to know them. By the time
that we are sufficiently modest to try
factored solutions only, because the other
efforts escape our intellectual grip, we shall
do our utmost best to avoid all those
interfaces impairing our ability to factor the
system in a helpful way.”
16
17
18
19
Admitting the possibility of error
leads to:
● Better testing
● Better code reviews
● Asking for help appropriately
● Better naming and documentation
20
Admitting others may know more
leads to:
● Use of better solutions
● Use of better methods
● Use of better architectures
21
Admitting that we need to learn
leads to:
● Lifelong learning
● Asking better questions
22
Self-Accurate Thinking
A cognitive bias in which unskilled
individuals suffer from illusory
superiority, mistakenly rating their
ability much higher than is
accurate.
24
25
26
“Cognitive load represents the
limit of what the working
memory can process. When you
experience too much cognitive
load, you cannot properly process
code.”
To alleviate cognitive load, we can:
● Refactor the code
● Create visualizations
27
28
Miller proposed as a law of human
cognition and information
processing that humans can
effectively process no more than
seven units, or chunks, of
information, plus or minus two
pieces of information, at any given
time.
29
Miller stressed the importance of
recoding—the reorganization of
information into fewer units
with more bits of information per
unit—as a central feature of human
thought processes. Recoding
increases the quantity of data that
one can process effectively and
can help to overcome the seven-
item information-processing limit.
30
31
“…the volume and complexity of
what we know has exceeded our
individual ability to deliver its
benefits correctly, safely, or
reliably.”
“Under conditions of complexity,
not only are checklists a help, they
are required for success.”
32
33
“Humility is a mindset about
oneself that is open-minded,
self-accurate, and not all about
me, that enables one to embrace
the world as it is in the pursuit of
human excellence.”
34
35
The Psychology of Intellectual Humility
Mark R. Leary,Ph.D.
Department of Psychology and
Neuroscience
Duke University
“Having accurate knowledge
requires that people consider the
evidence on which their beliefs are
based, remain vigilant to the
possibility of being incorrect,
solicit and consider the
perspectives of other informed
people (especially those whose
viewpoints differ from theirs), and
revise their views when evidence
warrants.”
36
“As noted, people high in IH are
more curious, distinguish strong
from weak arguments more
clearly, are more accurate in
recalling whether they have been
exposed to certain information,
and think more about information
that contradicts their views.”
37
38
“Confident Humility: Having
faith in our capability, while
appreciating that we may not have
the right solution, or even be
addressing the right problem. That
gives us enough doubt to
reexamine our old knowledge and
enough confidence to pursue new
insights.
39
40
Confident
Humility
Overconfidence
41
Discovery
Confident
Humility
Doubt
Curiosity
Conviction
Confirmation
Bias
Self-Validation
Overconfidence
42
Discovery
Confident
Humility
Doubt
Curiosity
Conviction
Confirmation
Bias
Self-Validation
Overconfidence
Rethinking
Cycle
Overconfidence
Cycle
44
“Humility is not thinking less of
yourself, but thinking of yourself
less”
- not quite C. S. Lewis
45
“Do not imagine that if you meet a
really humble man he will be what
most people call ‘humble’
nowadays: he will…not be thinking
about humility: he will not be
thinking about himself at all.”
- C. S. Lewis
46
Focus on helping:
● Teammates
● Users
47
The Computer Scientist
as a Toolsmith
49
“A toolmaker succeeds as, and only as, the
users of his tool succeed with his aid.
- Fred Brooks
“However shining the blade, however jeweled
the hilt, however perfect the heft, a sword is
tested only by cutting. That swordsmith is
successful whose clients die of old age.
- Fred Brooks
As software developers,
we build tools.
The tools that we build can only help our users do these two
things:
1. Work Faster
2. Know More
52
53
“
“We must not forget that it is not our business
to make programs, it is our business to design
classes of computations that will display a
desired behaviour.”
Questions?
55
Resources
Blog Post (shameless plug)
○ http://humbletoolsmith.com/2020/08/10/the-importance-
of-humility-in-software-development/
Further Reading
○ https://www.manning.com/books/the-programmers-brain
56
“
“We shall do a much better programming job,
provided that we approach the task with a full
appreciation of its tremendous difficulty,
provided that we stick to modest and elegant
programming languages, provided that we
respect the intrinsic limitations of the
human mind and approach the task as Very
Humble Programmers.”
58
Thanks!
You can find me at @pottereric & on LinkedIn.
Humbletoolsmith.com

More Related Content

Similar to KnowYouLimitations.pptx

Presentation1 sabiha
Presentation1 sabihaPresentation1 sabiha
Presentation1 sabiha
sabihanoor
 
Presentation1 sabiha
Presentation1 sabihaPresentation1 sabiha
Presentation1 sabiha
sabihanoor
 
Presentation1 sabiha
Presentation1 sabihaPresentation1 sabiha
Presentation1 sabiha
sabihanoor
 

Similar to KnowYouLimitations.pptx (20)

Neural Networks & Reservoir Computing: Computing Models for Mental States
Neural Networks & Reservoir Computing: Computing Models for Mental StatesNeural Networks & Reservoir Computing: Computing Models for Mental States
Neural Networks & Reservoir Computing: Computing Models for Mental States
 
Seminar
SeminarSeminar
Seminar
 
Design Thinking Workshop
Design Thinking WorkshopDesign Thinking Workshop
Design Thinking Workshop
 
Cognitive Computing and the future of Artificial Intelligence
Cognitive Computing and the future of Artificial IntelligenceCognitive Computing and the future of Artificial Intelligence
Cognitive Computing and the future of Artificial Intelligence
 
Unlock your own design thinking potential
Unlock your own design thinking potentialUnlock your own design thinking potential
Unlock your own design thinking potential
 
Helping Couples Reconstruct the Emotional Brain
Helping Couples Reconstruct the Emotional BrainHelping Couples Reconstruct the Emotional Brain
Helping Couples Reconstruct the Emotional Brain
 
Presentation1 sabiha
Presentation1 sabihaPresentation1 sabiha
Presentation1 sabiha
 
"Understanding Humans with Machines" (Arthur Tisi)
"Understanding Humans with Machines" (Arthur Tisi)"Understanding Humans with Machines" (Arthur Tisi)
"Understanding Humans with Machines" (Arthur Tisi)
 
Knownet why how
Knownet why howKnownet why how
Knownet why how
 
Thinking in psychology
Thinking in psychologyThinking in psychology
Thinking in psychology
 
Collective intel
Collective intelCollective intel
Collective intel
 
Km For Experienced Practitioners
Km For Experienced PractitionersKm For Experienced Practitioners
Km For Experienced Practitioners
 
Blink2012b
Blink2012bBlink2012b
Blink2012b
 
Presentation1 sabiha
Presentation1 sabihaPresentation1 sabiha
Presentation1 sabiha
 
Presentation1 sabiha
Presentation1 sabihaPresentation1 sabiha
Presentation1 sabiha
 
Mind patterns and anti-patterns
Mind patterns and anti-patternsMind patterns and anti-patterns
Mind patterns and anti-patterns
 
User Centered Design
User Centered DesignUser Centered Design
User Centered Design
 
More Than Your Right Brain
More Than Your Right BrainMore Than Your Right Brain
More Than Your Right Brain
 
97 Things Every Programmer Should Know
97 Things Every Programmer Should Know97 Things Every Programmer Should Know
97 Things Every Programmer Should Know
 
Innovation Crafting
Innovation CraftingInnovation Crafting
Innovation Crafting
 

More from Eric Potter (7)

Learning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxLearning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptx
 
Learning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxLearning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptx
 
Easy Automated UI Testing with Canopy
Easy Automated UI Testing with CanopyEasy Automated UI Testing with Canopy
Easy Automated UI Testing with Canopy
 
Finding Your Place in the Cosmos - Azure Cosmos DB
Finding Your Place in the Cosmos - Azure Cosmos DBFinding Your Place in the Cosmos - Azure Cosmos DB
Finding Your Place in the Cosmos - Azure Cosmos DB
 
TypeScript: Beyond The Basics
TypeScript: Beyond The BasicsTypeScript: Beyond The Basics
TypeScript: Beyond The Basics
 
C# pattern matching
C# pattern matchingC# pattern matching
C# pattern matching
 
Generalist or Specialist
Generalist or SpecialistGeneralist or Specialist
Generalist or Specialist
 

Recently uploaded

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 

Recently uploaded (20)

The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 

KnowYouLimitations.pptx

  • 2.
  • 3.
  • 5. 5
  • 6. 6
  • 7. “ “The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.” 7
  • 8. Humility != Self Deprication 8
  • 10. “ “The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.” 10
  • 11. 11
  • 12. 12
  • 13. “ “The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.” 13
  • 14. “ “The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.” 14
  • 15. “ “The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.” 15
  • 16. “ “The best way to learn to live with our limitations is to know them. By the time that we are sufficiently modest to try factored solutions only, because the other efforts escape our intellectual grip, we shall do our utmost best to avoid all those interfaces impairing our ability to factor the system in a helpful way.” 16
  • 17. 17
  • 18. 18
  • 19. 19
  • 20. Admitting the possibility of error leads to: ● Better testing ● Better code reviews ● Asking for help appropriately ● Better naming and documentation 20
  • 21. Admitting others may know more leads to: ● Use of better solutions ● Use of better methods ● Use of better architectures 21
  • 22. Admitting that we need to learn leads to: ● Lifelong learning ● Asking better questions 22
  • 24. A cognitive bias in which unskilled individuals suffer from illusory superiority, mistakenly rating their ability much higher than is accurate. 24
  • 25. 25
  • 26. 26
  • 27. “Cognitive load represents the limit of what the working memory can process. When you experience too much cognitive load, you cannot properly process code.” To alleviate cognitive load, we can: ● Refactor the code ● Create visualizations 27
  • 28. 28
  • 29. Miller proposed as a law of human cognition and information processing that humans can effectively process no more than seven units, or chunks, of information, plus or minus two pieces of information, at any given time. 29
  • 30. Miller stressed the importance of recoding—the reorganization of information into fewer units with more bits of information per unit—as a central feature of human thought processes. Recoding increases the quantity of data that one can process effectively and can help to overcome the seven- item information-processing limit. 30
  • 31. 31
  • 32. “…the volume and complexity of what we know has exceeded our individual ability to deliver its benefits correctly, safely, or reliably.” “Under conditions of complexity, not only are checklists a help, they are required for success.” 32
  • 33. 33
  • 34. “Humility is a mindset about oneself that is open-minded, self-accurate, and not all about me, that enables one to embrace the world as it is in the pursuit of human excellence.” 34
  • 35. 35 The Psychology of Intellectual Humility Mark R. Leary,Ph.D. Department of Psychology and Neuroscience Duke University
  • 36. “Having accurate knowledge requires that people consider the evidence on which their beliefs are based, remain vigilant to the possibility of being incorrect, solicit and consider the perspectives of other informed people (especially those whose viewpoints differ from theirs), and revise their views when evidence warrants.” 36
  • 37. “As noted, people high in IH are more curious, distinguish strong from weak arguments more clearly, are more accurate in recalling whether they have been exposed to certain information, and think more about information that contradicts their views.” 37
  • 38. 38
  • 39. “Confident Humility: Having faith in our capability, while appreciating that we may not have the right solution, or even be addressing the right problem. That gives us enough doubt to reexamine our old knowledge and enough confidence to pursue new insights. 39
  • 43. 44
  • 44. “Humility is not thinking less of yourself, but thinking of yourself less” - not quite C. S. Lewis 45
  • 45. “Do not imagine that if you meet a really humble man he will be what most people call ‘humble’ nowadays: he will…not be thinking about humility: he will not be thinking about himself at all.” - C. S. Lewis 46
  • 46. Focus on helping: ● Teammates ● Users 47
  • 48. 49
  • 49. “A toolmaker succeeds as, and only as, the users of his tool succeed with his aid. - Fred Brooks
  • 50. “However shining the blade, however jeweled the hilt, however perfect the heft, a sword is tested only by cutting. That swordsmith is successful whose clients die of old age. - Fred Brooks
  • 51. As software developers, we build tools. The tools that we build can only help our users do these two things: 1. Work Faster 2. Know More 52
  • 52. 53
  • 53. “ “We must not forget that it is not our business to make programs, it is our business to design classes of computations that will display a desired behaviour.”
  • 55. Resources Blog Post (shameless plug) ○ http://humbletoolsmith.com/2020/08/10/the-importance- of-humility-in-software-development/ Further Reading ○ https://www.manning.com/books/the-programmers-brain 56
  • 56. “ “We shall do a much better programming job, provided that we approach the task with a full appreciation of its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers.”
  • 57. 58 Thanks! You can find me at @pottereric & on LinkedIn. Humbletoolsmith.com

Editor's Notes

  1. TODO: More content about imposter syndrome TODO: better applications TODO: Add a reference slide for Dijkstra’s paper
  2. TODO: More content about imposter syndrome TODO: better applications TODO: Add a reference slide for Dijkstra’s paper
  3. Was addressing the software quality crisis in the 1960s.
  4. I’m not advocating for imposter syndrome or some kind of gate keeping Impostor syndrome is a psychological pattern in which an individual doubts their skills, talents or accomplishments and has a persistent internalized fear of being exposed as a "fraud". Despite external evidence of their competence, those experiencing this phenomenon remain convinced that they are frauds, and do not deserve all they have achieved.
  5. I’m not advocating for imposter syndrome or some kind of gate keeping
  6. He said this at a time when pong was state of the art
  7. Was addressing the software quality crisis in the 1960s.
  8. Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? — Brian W. Kernighan 
  9. 1956
  10. Sounds like abstracting a method to me
  11. Emotional Intelligence is a key part of intelligence ---- Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
  12. Emotional Intelligence is a key part of intelligence ---- Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
  13. Emotional Intelligence is a key part of intelligence ---- Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
  14. IH involves recognizing that one’s beliefs and opinions might be incorrect
  15. Knowledge is just increasing, it is increasing at an increasing rate. … The accelerating pace of change means we need to question our beliefs more readily than before.
  16. In contrast with many engineers who make houses, cars, medicines, and clothing for human need and enjoyment, we make things that do not themselves directly satisfy human needs, but which others use in making things that enrich human living. In a word, the computer scientist is a toolsmith—no more, but no less. It is an honorable calling. If we perceive our role aright, we then see more clearly the proper criterion for success: a toolmaker succeeds as, and only as, the users of his tool succeed with his aid.
  17. Was addressing the software quality crisis in the 1960s.