As developers, we might think we don't have to care about humans because we work on machines. However, nothing could be further from the truth. The only reason for us to build technology is to serve humans.
Therefore, practicing compassion is essential for effective software development. Though many people think of compassion as something soft or ambiguous, you'll learn how compassion provides a practical framework for making rational decisions about our code with the goal of reducing suffering for ourselves, our collaborators, and our users.
From understanding customer pain points all the way down to the level of choosing variable names, applying practical compassion can help us craft better code, improve people's lives, and ultimately find more satisfaction in our work!
Presented at NewCrafts Paris 2019 - http://ncrafts.io/
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
April Wensel - Crafting Compassionate Code
1. C R A F T I N G
C O M PA S S I O N AT E
C O D E
N E W C R A F T S 2 0 1 9
C O M PA S S I O N AT E C O D I N G
A P R I L W E N S E L
# C C E U R O T O U R
@ C O M PA S S I O N C O D E
@ A P R I LW E N S E L
2. S A N D I E G O
@ A P R I LW E N S E L # C C E U R O T O U R
3. @ A P R I LW E N S E L # C C E U R O T O U R
I L OV E T E C H
6. I L OV E T E C H
@ A P R I LW E N S E L # C C E U R O T O U R
7. I L OV E T E C H A N D Y E T …
@ A P R I LW E N S E L # C C E U R O T O U R
8. T E C H C U LT U R E
C A N B E
@ A P R I LW E N S E L # C C E U R O T O U R
9. S T R E S S A N D B U R N O U T
@ A P R I LW E N S E L # C C E U R O T O U R
10. L A C K O F D I V E R S I T Y
@ A P R I LW E N S E L # C C E U R O T O U R
11. “Are You Lost In The World Like Me?”
Animation by Steve Cutts
Music by Moby & The Void Pacific Choir
https://www.youtube.com/watch?v=VASywEuqFd8
U N E T H I C A L P R O D U C T S
@ A P R I LW E N S E L # C C E U R O T O U R
14. https://medium.com/@Aprilw/suffering-on-stack-overflow-c46414a34a52
“I’ve really been struggling…this week. I’ve
been in tears for most of it, and now I just got
a snarky response on Stackoverflow telling me
how easy the solution is and that I need to
learn how to debug my own code. I’m ready to
throw the towel in.”
@ A P R I LW E N S E L # C C E U R O T O U R
15. T H E R E I S A
L OT O F
S U F F E R I N G I N
A N D A R O U N D
T E C H
@ A P R I LW E N S E L # C C E U R O T O U R
16. T H E R O OT C A U S E ?
@ A P R I LW E N S E L # C C E U R O T O U R
17. P R O G R A M M E R S D O N ’ T
L I K E P E O P L E
@ A P R I LW E N S E L # C C E U R O T O U R
18. “Programmers are crazy
about puzzles, tend to
like research
applications and risk-
taking, and don’t like
people.”
Cannon & Perry. A vocational interest scale
for computer programmers. 1966.
@ A P R I LW E N S E L # C C E U R O T O U R
19. C O D E = C O M F O RT
@ A P R I LW E N S E L # C C E U R O T O U R
21. p r i n t f ( " H e l l o , W o r l d ! " ) ;
@ A P R I LW E N S E L # C C E U R O T O U R
22. “ H A R D ”
S K I L L S
> “ S O F T ”
S K I L L S
@ A P R I LW E N S E L # C C E U R O T O U R
23. “ H A R D ”
S K I L L S
> “ S O F T ”
S K I L L S
? ? ?
@ A P R I LW E N S E L # C C E U R O T O U R
24. W H Y D O P R O J E C T S FA I L ?
@ A P R I LW E N S E L # C C E U R O T O U R
25. @ A P R I LW E N S E L # C C E U R O T O U R
W H Y S O F T WA R E P R O J E C T S FA I L
https://www.developersalliance.org/developer-insights-report-2015/
CHANGING OR POORLY DOCUMENTED REQUIREMENTS
UNDERFUNDING OR UNDER-RESOURCING
POOR TEAM OR ORGANIZATIONAL MANAGEMENT
INSUFFICIENT TIME ALLOCATED TO TESTING
DEVELOPER CHURN AND LOSS OF KEY TALENT
MISSED DELIVERY TIMELINE EXPECTATIONS
TIME CONSTRAINTS AND PRE-MATURE SOFTWARE RELEASE
IMMATURE DEV TOOLS & APPLICATION PLATFORMS17%
21%
22%
23%
32%
37%
40%
48%
26. @ A P R I LW E N S E L # C C E U R O T O U R
W H Y S O F T WA R E P R O J E C T S FA I L
https://www.developersalliance.org/developer-insights-report-2015/
CHANGING OR POORLY DOCUMENTED REQUIREMENTS
UNDERFUNDING OR UNDER-RESOURCING
POOR TEAM OR ORGANIZATIONAL MANAGEMENT
INSUFFICIENT TIME ALLOCATED TO TESTING
DEVELOPER CHURN AND LOSS OF KEY TALENT
MISSED DELIVERY TIMELINE EXPECTATIONS
TIME CONSTRAINTS AND PRE-MATURE SOFTWARE RELEASE
IMMATURE DEV TOOLS & APPLICATION PLATFORMS17%
21%
22%
23%
32%
37%
40%
48%
HumanProblems
27. @ A P R I LW E N S E L # C C E U R O T O U R
W H Y S O F T WA R E P R O J E C T S FA I L
https://www.developersalliance.org/developer-insights-report-2015/
CHANGING OR POORLY DOCUMENTED REQUIREMENTS
UNDERFUNDING OR UNDER-RESOURCING
POOR TEAM OR ORGANIZATIONAL MANAGEMENT
INSUFFICIENT TIME ALLOCATED TO TESTING
DEVELOPER CHURN AND LOSS OF KEY TALENT
MISSED DELIVERY TIMELINE EXPECTATIONS
TIME CONSTRAINTS AND PRE-MATURE SOFTWARE RELEASE
IMMATURE DEV TOOLS & APPLICATION PLATFORMS17%
21%
22%
23%
32%
37%
40%
48%
HumanProblems
28. A L L S O F T WA R E
P R O B L E M S
A R E A C T UA L LY
H U M A N
P R O B L E M S
@ A P R I LW E N S E L # C C E U R O T O U R
29. W H AT C A N W E D O ?
@ A P R I LW E N S E L # C C E U R O T O U R
30. C A R E M O R E A B O U T
P E O P L E
@ A P R I LW E N S E L # C C E U R O T O U R
31. C O M PA S S I O N
@ A P R I LW E N S E L # C C E U R O T O U R
32. C O M PA S S I O N ! = B E I N G FA K E N I C E
@ A P R I LW E N S E L # C C E U R O T O U R
33. C O M PA S S I O N ! = I G N O R I N G L O G I C
@ A P R I LW E N S E L # C C E U R O T O U R
34. C O M PA S S I O N ! = “ S U G A R C OAT I N G ”
@ A P R I LW E N S E L # C C E U R O T O U R
35. C O M PA S S I O N ! = P I T Y
@ A P R I LW E N S E L # C C E U R O T O U R
36. W H AT I S
C O M PA S S I O N ?
@ A P R I LW E N S E L # C C E U R O T O U R
37. I L E A R N E D A B O U T
C O M PA S S I O N F R O M
G O I N G V E G A N
@ A P R I LW E N S E L # C C E U R O T O U R
38. B E I N G V E G A N
I S A B O U T
H AV I N G
C O M PA S S I O N
F O R A L L L I F E V E G A N P I Z Z A F R O M PA R I S
D O M I N O ’ S
@ A P R I LW E N S E L # C C E U R O T O U R
39. “ T H E F E E L I N G T H AT A R I S E S W H E N
Y O U A R E C O N F R O N T E D W I T H
A N OT H E R ’ S S U F F E R I N G A N D F E E L
M OT I VAT E D TO R E L I E V E T H AT
S U F F E R I N G … ”
C O M PA S S I O N
https://greatergood.berkeley.edu/topic/compassion/definition@ A P R I LW E N S E L # C C E U R O T O U R
40. C O M PA S S I O N =
E M PAT H Y + A C T I O N
@ A P R I LW E N S E L # C C E U R O T O U R
41. A N E W A P P R OA C H TO S O F T WA R E
D E V E L O P M E N T
T H AT S E E K S TO M I N I M I Z E
S U F F E R I N G F O R
T E C H N O L O G I S T S , U S E R S , A N D
T H E G L O BA L C O M M U N I T Y
B Y A P P LY I N G E M OT I O N A L
I N T E L L I G E N C E A N D E T H I C S
COMPASSIONATE
CODING
M Y C O M PA N Y,
F O U N D E D 2 0 1 6
@ A P R I LW E N S E L # C C E U R O T O U R
42. C O M PA S S I O N AT E B U S I N E S S
U N I T S “ E X H I B I T E D B E T T E R
F I N A N C I A L
P E R F O R M A N C E … A N D
T H E S E U N I T S R E A L I Z E D
H I G H E R E M P L OY E E A N D
C U S TO M E R R E T E N T I O N … ”
Awakening Compassion at Work, Monica Worline & Jane Dutton@ A P R I LW E N S E L # C C E U R O T O U R
43. C O M PA S S I O N A F F E C T S
H OW W E C O D E
W H AT W E C O D E
W H Y W E C O D E
@ A P R I LW E N S E L # C C E U R O T O U R
44. —
1
H OW W E C O D E
@ A P R I LW E N S E L # C C E U R O T O U R
47. G O O D VA R I A B L E
N A M I N G R E Q U I R E S
C O M PA S S I O N
@ A P R I LW E N S E L # C C E U R O T O U R
48. R E FA C TO R I N G ,
A P I D E S I G N ,
TO O L S E L E C T I O N ,
A R C H I T E C T U R E D E S I G N …
@ A P R I LW E N S E L # C C E U R O T O U R
49. I N S T E A D O F J U S T
F O L L OW I N G “ B E S T
P R A C T I C E S , ” T H I N K A B O U T
M I N I M I Z I N G S U F F E R I N G
@ A P R I LW E N S E L # C C E U R O T O U R
51. “ I ’ M S U C H A N I D I OT ! ”
“ I T ’ S A L L M Y FA U LT. ”
“ I ’ M A H O R R I B L E P E R S O N . ”
@ A P R I LW E N S E L # C C E U R O T O U R
56. —
2
W H AT W E C O D E
@ A P R I LW E N S E L # C C E U R O T O U R
57. F E AT U R E
P R I O R I T I Z AT I O N
@ A P R I LW E N S E L # C C E U R O T O U R
58. C A N Y O U E M PAT H I Z E
W I T H B U S I N E S S
P E O P L E ? P R O D U C T
M A N A G E R S ?
@ A P R I LW E N S E L # C C E U R O T O U R
59. O R D O Y O U D I S M I S S
T H E M A S “ N O N -
T E C H N I C A L”
@ A P R I LW E N S E L # C C E U R O T O U R
https://compassionatecoding.com/blog/2019/4/17/if-you-can-use-a-fork-youre-technical
60. @ A P R I LW E N S E L # C C E U R O T O U R
https://compassionatecoding.com/blog/2019/4/17/if-you-can-use-a-fork-youre-technical
61. D O Y O U C A L L Y O U R
U S E R S “ S T U P I D ” O R
T RY TO E M PAT H I Z E ?
@ A P R I LW E N S E L # C C E U R O T O U R
66. A R E T H E R E D I V E R S E
P E R S P E C T I V E S O N Y O U R T E A M ?P H O T O : W O C I N T E C H C H AT@ A P R I LW E N S E L # C C E U R O T O U R
67. —
3
W H Y W E C O D E
@ A P R I LW E N S E L # C C E U R O T O U R
68. W H Y D O Y O U C O D E ?
@ A P R I LW E N S E L # C C E U R O T O U R
69. “ I WA N T TO
S O LV E
I N T E R E S T I N G
P R O B L E M S ”
@ A P R I LW E N S E L # C C E U R O T O U R
70. C A N Y O U G O D E E P E R ?
@ A P R I LW E N S E L # C C E U R O T O U R
71. T H E O N LY R E A S O N
F O R T E C H N O L O G Y TO
E X I S T I S TO I M P R OV E
P E O P L E ’ S L I V E S
@ A P R I LW E N S E L # C C E U R O T O U R
72. I S Y O U R WO R K
I M P R OV I N G P E O P L E ’ S
L I V E S ?
@ A P R I LW E N S E L # C C E U R O T O U R
73. W H Y N OT ?
@ A P R I LW E N S E L # C C E U R O T O U R
76. I D E N T I F Y Y O U R C O R E VA L U E S
@ A P R I LW E N S E L # C C E U R O T O U R
77. A M I L I V I N G A N D
WO R K I N G A C C O R D I N G
TO M Y OW N C O R E
VA L U E S ?
@ A P R I LW E N S E L # C C E U R O T O U R
78. C O M PA S S I O N A F F E C T S
H OW W E C O D E
W H AT W E C O D E
W H Y W E C O D E
@ A P R I LW E N S E L # C C E U R O T O U R
79. W H AT ’ S T H E
E F F I C I E N T C H O I C E ?
@ A P R I LW E N S E L # C C E U R O T O U R
80. W H AT ’ S T H E L E A N
C H O I C E ?
@ A P R I LW E N S E L # C C E U R O T O U R
81. W H AT ’ S T H E A G I L E
C H O I C E ?
@ A P R I LW E N S E L # C C E U R O T O U R
82. W H AT ’ S T H E
C O M PA S S I O N AT E
C H O I C E ?
@ A P R I LW E N S E L # C C E U R O T O U R
83. " I F I T I S N OT T E M P E R E D B Y
C O M PA S S I O N A N D E M PAT H Y,
R E A S O N C A N L E A D M E N A N D
WO M E N I N TO A M O R A L V O I D . "
K A R E N A R M S T R O N G
Twelve Steps to a Compassionate Life
@ A P R I LW E N S E L # C C E U R O T O U R
84. C O M PA S S I O N I S N OT
A “ S O F T S K I L L”
@ A P R I LW E N S E L # C C E U R O T O U R
85. C O M PA S S I O N I S A
C ATA LY T I C S K I L L
@ A P R I LW E N S E L # C C E U R O T O U R