←back to thread

294 points NotPractical | 3 comments | | HN request time: 0s | source
Show context
dylan604 ◴[] No.41855041[source]
Take this as a lesson. If you've been a dev long enough, you've worked on a project knowing that how the project is being done isn't the best method with every intention of going back to make it better later, but not at the expense of getting the MVP up and running. You'll also have seen that never actually happening and all of those bad decisions from the beginning still living all the way to the bitter end.

I'm guessing not one person involved would have ever imagined their code being left on a machine just left out in the open exposed to the public completely abandoned by the company.

replies(4): >>41855099 #>>41855913 #>>41856088 #>>41856846 #
WhyNotHugo ◴[] No.41855913[source]
When a developer says “this is a temporary solution” they mean “this is a temporary solution forever”.
replies(3): >>41855990 #>>41856046 #>>41856820 #
1. Dalewyn ◴[] No.41856046[source]
There is nothing more permanent than a temporary solution, and nothing more temporary than a permanent solution.
replies(1): >>41857223 #
2. throwaway365x2 ◴[] No.41857223[source]
That's very true.

When a customer has a problem, you create a solution to it. Often the problem is part of a much larger space, so you tend to have discussions of all the possible features you could implement. This is a necessary step to gain knowledge about the problem space, but it can lead you to think that the solution have to cover it all

Time restraints leads to a "temporary" feature to solve the customer's immediate need. Most of the time it turns out that all the other features are neither necessary nor important enough to spend time on.

Projects without time restraints or focus tends to create a complex system that will "solve" the entire problem space. Most of the time it turns out that our assumptions are wrong and we need to do a major refactoring.

"Temporary" solutions may not have the best code structure or architecture, but it is not necessarily a bad technical debt, as many new developers to the project seems to think it is. Also, the time restraints of a temporary solution encourages the developer to create simple code and not "clever" code, because they can always blame time restraints for their lack of cleverness. If the code has been mostly unchanged for years, somewhat maintainable and solves the customer's problems, it's not really a problem.

replies(1): >>41860675 #
3. pphysch ◴[] No.41860675[source]
I agree. Temporary / bandaid solutions are totally great if they are straightforward to implement AND unimplement.