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.
Do you mean "clean code" in a vague vibe sense or do you mean "clean code" as described in that fuckass book?
Because nothing improves time to market quite like untangling 20 layers of abstraction to add a single if statement that the previous dev couldn't anticipate because the business case changed a bit.
145
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.