|
| 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