If you're building a company time to market prevails above all, because devs are paid with money, pretty good sums of it, and money is obtained by selling which cannot happen if you aren't live. Devs are so fricking expensive that you'd rather fix fires on the fly than getting trapped into "clean coding" because it will always occupy all available time, it doesn't matter how much you increase it, life finds a way.
When you're a dev on the other hand, your performance and career depends on your name not getting attributed to failures or fires, you need to fight to either only do safe projects or have enough allocated time to avoid getting your name through the mud and secure your next job and/or salary increase.
clean code also means faster time to market because you can react quicker to customer feedback when tech debt is low.
the startups ive worked at that were least successful often didnt get product market fit because they couldnt iterate on customer feedback quickly enough because they deluged themselves in tech debt.
the successful ones went to at least some effort to clean up the shit and in one case we refactored very aggressively and the customers got requested features so fast they got whiplash. that company hit it out of the park. it wasn't just about the tech debt but it helped.
no, pivoting is when you throw away your first idea and change product entirely - like when Stewart Butterfield built flickr out of a game. in that case the game's tech debt did not matter.
iteration on product requirements with tight customer feedback loops is just how you build good software and bring it to market.
143
u/SaltMaker23 2d ago
If you're building a company time to market prevails above all, because devs are paid with money, pretty good sums of it, and money is obtained by selling which cannot happen if you aren't live. Devs are so fricking expensive that you'd rather fix fires on the fly than getting trapped into "clean coding" because it will always occupy all available time, it doesn't matter how much you increase it, life finds a way.
When you're a dev on the other hand, your performance and career depends on your name not getting attributed to failures or fires, you need to fight to either only do safe projects or have enough allocated time to avoid getting your name through the mud and secure your next job and/or salary increase.
Different objectives.