← Back to context

Comment by al_borland

3 days ago

My assumption is they are built by a developer to solve the problems of that developer, in a way that developer understands, and requires too much knowledge of how it works to make it useful for anyone else.

A guy I worked with made a seemingly awesome tool to solve various problems (builds, cicd, etc). He used it for everything, but when anyone else had to do anything with it, they went to him. No one had the patience to learn how to use it or to learn that they needed to plug into it. He had documentation, but it was very long, so no one wanted to read it; it was also focused on what he cared about, not what users actually wanted. Going into the code was a non-starter. It was over 1m LOC spread across dozens of repos and thousands of files. So people either asked him, or just did their own thing.

I made a little tool to help in an operations job I had years ago. People saw me using it and wanted it, but I knew there were too many sharp edges. I knew to avoid them, since I knew the code. I ended up spending a significant amount of time smoothing out those edges, adding a GUI, making in configurable in said GUI... all if this took way more time than the initial tool I was using. This did get some adoption in our small internal group. If someone is just looking to get something out there to see if there is enough interest to justify development, I'm guessing they aren't making things that nice to use. I was getting paid anyway, so I didn't care.