Being Critical of Past Developers

Christian Emmer
Christian Emmer
May 14, 2020 · 2 min read

How were those past developers of this project so very wrong?

Something I touched on a little in "Pull Requests Welcome™" is how developers like to complain. I find a common target of complaint is old, or "legacy" code. Why was it done that way? What were they thinking? We're all guilty of it, myself included, but my suggestion is that we all assume a little more empathy for those that came before us.

Pull Requests Welcome™
Pull Requests Welcome™
Feb 15, 2020 · 5 min read

Developers like to complain. We'll complain about lack of documentation, lack of tests, choice of framework, choice of linter settings, and so on. My response to it? Pull requests welcome.

Having empathy

We probably don't know what pressures those people were under, what was being demanded of them, what political games were being played, what kind of tooling they had available to them, or even what was going on in their personal lives at the time.

See "Avoiding Blanket Statements" on why statements that assume negative intent can be hurtful to others, and what techniques can be used instead.

Avoiding Blanket Statements
Avoiding Blanket Statements
May 6, 2022 · 6 min read

One part of emotional intelligence is understanding how our words impact others.

Just think about all the times you've read your own, old code and thought "what was I thinking?" It's probably because you've grown as a developer - something that's expected, almost required of us. So we can make a safe assumption that the original developer has also grown, at least some, and maybe they also would write the same code differently now.

Difference of context

Code can always be written cleaner, written so it performs faster, written with stronger tests, written in a way that's more observable - that's why we try to not grow attached to our code babies and instead rewrite when necessary (and when the cost/benefits are right). But without having the full context past developers did we don't know if it could have been done better, at that time.

A different stand

Being critical is easy, trying to understand is much more difficult. Rather than ask "why was it done this [suboptimal] way?" let's all commit to being team players and ask "how can I help make it better?"