This is exactly why I’m wary of ever attempting a developer-focused startup ever again.
What’s not mentioned is the utter frustration when you can see your own output is not up to your own expectations, but you can’t execute on any plan to resolve that discrepancy.
“I know what developers want, so I can build it for them” is a death knell proportionate to your own standards…
The most profitable business I built was something I hacked together in two weeks during college holiday break, when I barely knew how to code. There was no source control (I was googling “what is GitHub” at the time), it was my first time writing Python, I stored passwords in plaintext… but within a year it was generating $20k a month in revenue. It did eventually collapse under its own weight from technical debt, bugs and support cost… and I wasn’t equipped to solve those problems.
But meanwhile, as the years went on and I actually learned about quality, I lost the ability to ship because I gained the ability to recognize when it wasn’t ready… it’s not quite “perfectionism,” but it’s borne of the same pathology, of letting perfect be the enemy of good.
Within every startup, there is a developer-focused startup that is trying to get out. I suppose that is because it is easier for people to think about problems that affect them directly.
Or maybe it's the only way in which companies these days give software developers agency.
2 issues here. Neither can be developed (perfected?) in isolation, but they certainly ramp up at different rates. They should probably feed back into each other somehow, whether adversarially or not
I think you must consume (I hate that word, but let's go with it) elsewhere. Someone said (maybe Stephen King in "On Writing"?) in order to be a writer you must be voracious reader, and there's no escaping this. It rings true to me.
Of course the problem of taste growing much faster than skill remains, but I don't think the answer is to "consume" (yuck) less. I actually don't know if there's an answer.
You can be a passive consumer and never improve your taste or skill. However when you consume with the intent of asking how and then attempting to answer that question ( for skill ) and why ( for taste ) you get a much different experience.
Read code, looking for patterns. Look at design looking for patterns.
Then play, try to implement what you saw, implement to opposite and see how if feels, see what happens to the code.
What’s not mentioned is the utter frustration when you can see your own output is not up to your own expectations, but you can’t execute on any plan to resolve that discrepancy.
“I know what developers want, so I can build it for them” is a death knell proportionate to your own standards…
The most profitable business I built was something I hacked together in two weeks during college holiday break, when I barely knew how to code. There was no source control (I was googling “what is GitHub” at the time), it was my first time writing Python, I stored passwords in plaintext… but within a year it was generating $20k a month in revenue. It did eventually collapse under its own weight from technical debt, bugs and support cost… and I wasn’t equipped to solve those problems.
But meanwhile, as the years went on and I actually learned about quality, I lost the ability to ship because I gained the ability to recognize when it wasn’t ready… it’s not quite “perfectionism,” but it’s borne of the same pathology, of letting perfect be the enemy of good.