I recently have spent considerable time on https://github.com/tempname11/svf. It was a worthwhile experience, even if conservatively assuming that the library will not get any kind of widespread usage or popularity. I am pretty happy with the technical work that I put into it, but at the same time I can clearly see that just writing code, even good code, is simply not enough.
I made a decision early on to work on the library with very little feedback. And I literally did no communication activities, aside from:
In total, I think only a handful of people even know about this project at the time of writing this post. The reason was mainly to focus: sometimes, when I talk about stuff and get feedback, it’s enough to make me feel content, and my motivation for actually doing things lessens. This is probably a psychological quirk, and I think for other people (or even for myself under different circumstances), things work very differently. However, in this case, I noticed the phenomenon early on and decided to try a different approach.
And it actually worked: I went through most of my “to do” list (which seemed huge and impenetrable early on), implemented all the important things, deprioritized a few lesser things, and voila — it is done!..
…except that no, it’s never really done. There are always things to improve, speed up, simplify, document, write tests for; “one more” feature to add which seems easy, et cetera. And at this point I think it’s time to draw a line and finally say: “Hey! This thing, which was not a thing before, it now exists. And you might find it useful or at least interesting.”.
Which brings me to the main topic: communication. Communication is sometimes hard, because people can be very different: they have different backgrounds, mindsets, needs, preferences. Communication can also sometimes be a bit scary, because of the risk of being misunderstood, unfairly criticized, or even ignored. The easy non-solution is just not to care about the thing you are communicating: then, all of the above is harmless. If you do care, you can still minimize risks by doing the best you can. But at the end of the day, you can’t control everything, and these scenarios still may happen.
I think that being fundamentally OK with all that is an acquired skill. But it is also a necessary one.