Advice for my past self - Part 2: Communication
Writing code is not much different than writing anything else. You have an audience for whom you need to build a coherent and cohesive narrative. However unlike, other things you may write, code is often alinear and therefore hard to follow. Context is missing, and you probably have some ideosynchracies that further occlude the message your trying to deliver. So part of your job an author of code is to try and build as much context for your readers as possible. The story you tell in version control is often a big part of this. You want both your code and your commits to reverberate with intent and empathy for the reader even if it’s only you in the future.
It’s your job to make sure people understand what you are talking about. If your asking a question, make it as easy as possible for the person you’re questioning to answer. If you do the work up front of defining the problem in a way that it’s easy to understand you’ll sometimes find that you were just asking the question to have another person do that work for you. As with most other contexts, be sure to think before you speak or write. The impulse to be heard is a strong one, and it rarely matches other people’s impulses to listen.