TechWorkRamblings

by Mike Kalvas

202411261358 Programming as therapy

#new

Programmers help poeple understand what they want1

People come to programmers with a problem or a need. It is a programmer's job to help them get to the heart of that need and address it. Oftentimes, our clients haven't fully examined their problem and have a surface-level or near-term solution in mind. If we take the perspective of a therapist, we should help them dig deeper to understand would be best for them in the long term or address deeper, fundamental issue.

Conversely, we should not presume to know better than our clients who often have deep domain expertise. We might think we're digging deeper and addressing "the real problem", when in fact, we're ignorant of why that person presented their problem and proposed solution the way they did. Always keep that perspective. Have a good conversation and get to a shared understanding of the problems at hand and our options to solve them. Then, consider who should be given the power to decide which solution is best. Sometimes it may be that the client doesn't mind much how something is done, but the engineer has some stake in the methodology used. Sometimes, the engineer has many options for solving it and the client has a deep desire to have it a particular way. Neither are better; context should dictate the outcomes #thread.


  1. Thomas, D., & Hunt, A. (2019). The pragmatic programmer, 20th anniversary edition: Journey to mastery (Second edition) (pp. 245–247). Addison-Wesley.