In my opinion this sentiment can be affected by your intention behind the project.
If your intention is to be "the" product or project that people use for their unmet desires, then when that goal is fulfilled by another project/product already, and considerably better, you end up wondering what all your time and energy is contributing to the task of solving the problem. It's solved already, and other people have put in all that time and effort refining the solution already, so you'll just feel like you're playing catch up.
The vast majority of the time I program because there is this thing I need to do but none of the software available allows me to do it at all. I don't mean buggily or with shareware popups or as a paid product, I mean at all. The only way for me to do the specific thing I want is to program a solution to do it for me.
So suppose someone else comes along and has the exact same problem and comes up with a solution. Usually I'll just use it instead of spending more time. The solution is all I needed.
In this case the programming is only a thing I have to get out of the way in order to accomplish what I want. I don't care about maintenance or if anyone else has the same problem or if anyone else even comes up with the same solution. All I care about is doing the thing.
In these cases I will accept any solution, whether or not it's mine. Some people are just better at programming given the same time constraints. It does wound my ego a little, but using their solution immediately instead of putting all the effort into an inferior solution means I do what I wanted to do and move on to more important things.
What actually wounds my ego is when the project is intended to be used by other people. This means those people might not choose the same solution as me collectively between multiple different options. So now I do have to care about maintenance and having something to offer above everyone else's solution, because otherwise nobody is going to care about all the effort I'm putting into this solution.
The author appears to be a mixture of both, if I'm understanding correctly. When another competitor came along that did everything he envisioned his product would do he grudgingly signed up for it - because the product allowed him to do the thing he wanted to do all along. And he also wanted to be understood, to be a somebody with specific domain knowledge about this specific problem he encountered, and not being able to be that person since someone else already filled that gap was devastating.
I mean, we can celebrate effort, but there's almost nothing more demotivating to me than spending years on a problem only to find that someone else did it and simply did it better than you, so you start thinking, "if only I could have learned about all these other things instead of spending years fumbling around with programming specifics in order to satisfy this one need, which would have been satisfied anyways if I was just patient enough."
And it's also so, so easy to just state "just use X" and make it so much worse for the formerly motivated person. This is why social media will never fundamentally nourish people like me. Nobody can understand the context of two years of hard work when you just ask a simple question about what you feel about problem X or Y. At the same time, you can't argue with measurable improvements in correctness or efficiency, so in those cases some people like me find no other option except to get depressed. Then you would ask: "can anyone blame me for feeling like this?" Well, they would. "Pay more attention next time," "git gud," etc, etc...
I think it might be impossible to avoid comparisons on a time or money basis when you have multiple solutions to the same problem that average people can choose from. They rarely just say "they're both good in different ways." At some point all I've learned is you just have to either deny reality or somehow get over the fact that some people are just better than you for inexplicable reasons. One mindset allows me to have a chance at accomplishing anything at all, the other leads to depression and never so much as attempting anything. I wish I knew better.
If your intention is to be "the" product or project that people use for their unmet desires, then when that goal is fulfilled by another project/product already, and considerably better, you end up wondering what all your time and energy is contributing to the task of solving the problem. It's solved already, and other people have put in all that time and effort refining the solution already, so you'll just feel like you're playing catch up.
The vast majority of the time I program because there is this thing I need to do but none of the software available allows me to do it at all. I don't mean buggily or with shareware popups or as a paid product, I mean at all. The only way for me to do the specific thing I want is to program a solution to do it for me.
So suppose someone else comes along and has the exact same problem and comes up with a solution. Usually I'll just use it instead of spending more time. The solution is all I needed.
In this case the programming is only a thing I have to get out of the way in order to accomplish what I want. I don't care about maintenance or if anyone else has the same problem or if anyone else even comes up with the same solution. All I care about is doing the thing.
In these cases I will accept any solution, whether or not it's mine. Some people are just better at programming given the same time constraints. It does wound my ego a little, but using their solution immediately instead of putting all the effort into an inferior solution means I do what I wanted to do and move on to more important things.
What actually wounds my ego is when the project is intended to be used by other people. This means those people might not choose the same solution as me collectively between multiple different options. So now I do have to care about maintenance and having something to offer above everyone else's solution, because otherwise nobody is going to care about all the effort I'm putting into this solution.
The author appears to be a mixture of both, if I'm understanding correctly. When another competitor came along that did everything he envisioned his product would do he grudgingly signed up for it - because the product allowed him to do the thing he wanted to do all along. And he also wanted to be understood, to be a somebody with specific domain knowledge about this specific problem he encountered, and not being able to be that person since someone else already filled that gap was devastating.
I mean, we can celebrate effort, but there's almost nothing more demotivating to me than spending years on a problem only to find that someone else did it and simply did it better than you, so you start thinking, "if only I could have learned about all these other things instead of spending years fumbling around with programming specifics in order to satisfy this one need, which would have been satisfied anyways if I was just patient enough."
And it's also so, so easy to just state "just use X" and make it so much worse for the formerly motivated person. This is why social media will never fundamentally nourish people like me. Nobody can understand the context of two years of hard work when you just ask a simple question about what you feel about problem X or Y. At the same time, you can't argue with measurable improvements in correctness or efficiency, so in those cases some people like me find no other option except to get depressed. Then you would ask: "can anyone blame me for feeling like this?" Well, they would. "Pay more attention next time," "git gud," etc, etc...
I think it might be impossible to avoid comparisons on a time or money basis when you have multiple solutions to the same problem that average people can choose from. They rarely just say "they're both good in different ways." At some point all I've learned is you just have to either deny reality or somehow get over the fact that some people are just better than you for inexplicable reasons. One mindset allows me to have a chance at accomplishing anything at all, the other leads to depression and never so much as attempting anything. I wish I knew better.