Skip to content

Commit 60470f5

Browse files
Merge pull request #723 from creativecommons/problems-compassion
add blog post: Finding Problems, and Exercising Compassion
2 parents abae529 + 012b09b commit 60470f5

File tree

1 file changed

+109
-0
lines changed
  • content/blog/entries/2025-02-04-finding-solutions-exercising-compassion

1 file changed

+109
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
title: Finding Problems, and Exercising Compassion
2+
---
3+
categories:
4+
open-source
5+
collaboration
6+
---
7+
author: sara
8+
---
9+
pub_date: 2025-02-04
10+
---
11+
body:
12+
In engineering, in programming, in coding–in building anything that intersects
13+
with a human and a computer, context matters. It controls how a variable is
14+
scoped, how a function is called, and how styles in a CSS file might cascade
15+
and apply.
16+
17+
## Context matters
18+
19+
As the saying goes, "Context is everything". But despite that, it can be easy
20+
to miss or ignore context, to skim past it when encountering issues, when
21+
hunting for problems.
22+
23+
So much of the engineering world is building things, moving things, refactoring
24+
things. It's a lot of activities that look and behave a lot like creating, but
25+
in equal measure a vast majority of roles and jobs in the field are about finding
26+
problems, whether by intention or accident.
27+
28+
It's why we have "Issues" in code repositories, the name alone signifies that
29+
something is amiss. An expectation was not met, a small part of this does not
30+
easily align with that.
31+
32+
## Pause for compassion
33+
34+
35+
Finding problems is as much the momentum of engineering as anything else, and
36+
once encountered, the problem begs for the next part; finding a solution.
37+
38+
It is here at this transition, at the border, that I would invite you to pause.
39+
To step back and reconsider the problem you've just witnessed, the thing that
40+
is amiss and possibly blocking the work you are doing in some way.
41+
42+
For it is here in this space, between problem-encountered, and solution-sought
43+
that we all could do better at exercising a degree of compassion.
44+
45+
This problem was, in many ways, born out of the context within which it was
46+
first introduced. It may have been the after effect of an unrealistic
47+
timeline, or an unintended consequence of decisions made well outside the
48+
control and influence of the engineer that introduced it. It may have been
49+
put there, with full knowledge of its existence, but without any ability
50+
to circumvent its inclusion.
51+
52+
The problem in question is not necessarily the product of one person, one team,
53+
or one process. It is, as is usually the case, the outcome of an
54+
interconnected and complex system of people and technology interacting and
55+
influencing one another.
56+
57+
It can be easy to lean into the gravity of assuming this problem was easy to
58+
avoid, that it is a sign of poor decision making, or outright malice. That it
59+
is specifically indicative of someone or someones' shortcomings in the field.
60+
But engineering as a space of people is a place that can at times be a list
61+
of limited options, and the correct choice is not the one with zero
62+
problems, but the one that is accomplishable with the least problems, or
63+
even the least negatively impactful problems.
64+
65+
Moreover, despite rigorous reviews and tests, things get missed, circumstances
66+
change, and given enough time the complex system we all work within has fault
67+
lines. Problems arise that no-one expected or anticipated.
68+
69+
## Without context assume the best
70+
71+
Context is key, but it is also often a mystery. In the case of an inherited
72+
system, you may be left with the problems, but little if any evidence of the
73+
context in which they were generated. You are left with the duty to seek
74+
solutions, and little reason as to why the problems were introduced in the
75+
first place.
76+
77+
In all of these moments, we would all do better to remember compassion, to try
78+
to embrace that we do not know the full picture, the entire context. And that
79+
perhaps those before us, and around us did the best they were capable of within
80+
the system they were a part of.
81+
82+
It is certainly easy to jump to conclusions, lay blame, and cast judgements at
83+
the engineers, coders, tinkerers, and builders that came before us. "Why would
84+
they do it like this?" "This is a mess!" "I don't understand what this is
85+
doing here?" It's fair to be frustrated, and reasonable to question the
86+
"why", but a bit of compassion goes a long way towards building a community
87+
of trust and well being within the larger system of building things on and
88+
around the internet.
89+
90+
## Safe to learn and safe to improve
91+
92+
Without compassion in these cases, we can foster an environment where people
93+
are afraid to make any mistakes. One major issue with this is that beginners,
94+
being beginners, make a lot of reasonable mistakes, and if they do not feel
95+
safe to make those mistakes then the arena of open source loses beginners,
96+
and without that it does not flourish, it does not thrive.
97+
98+
99+
People, and the technological systems we create are imperfect. And the way we
100+
keep improving those systems isn't by solving coding problems alone,
101+
especially if those solutions don't come with a degree of compassion.
102+
103+
So, consider for a moment the next time you encounter a problem, pause for a
104+
moment and try to have some compassion, to put yourself in the place of the
105+
coder who came before, and then move on to seeking solutions with a degree of
106+
understanding across time that while we may not meet each other or share the
107+
same context; perhaps both of us were trying to make things a little bit
108+
better in what we did, and in the end we did our best to keep the system
109+
improving, code moving, and trust growing.

0 commit comments

Comments
 (0)