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
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
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
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
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
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
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
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
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
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
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
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.”
TODO: More content about imposter syndrome
TODO: better applications
TODO: Add a reference slide for Dijkstra’s paper
TODO: More content about imposter syndrome
TODO: better applications
TODO: Add a reference slide for Dijkstra’s paper
Was addressing the software quality crisis in the 1960s.
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.
I’m not advocating for imposter syndrome or some kind of gate keeping
He said this at a time when pong was state of the art
Was addressing the software quality crisis in the 1960s.
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
1956
Sounds like abstracting a method to me
Emotional Intelligence is a key part of intelligence
----
Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
Emotional Intelligence is a key part of intelligence
----
Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
Emotional Intelligence is a key part of intelligence
----
Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
IH involves recognizing that one’s beliefs and opinions might be incorrect
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.
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.
Was addressing the software quality crisis in the 1960s.