73

First you make it work, make it work right then make it faster

Comments
  • 1
    I need this framed!
  • 1
    What if you could make it faster from the very beginning, by approaching the problem correctly?
  • 0
    @Nudjialz the thing is that there are a lot of cases when the developer uses System 1 (the automated part of our thinking, that appeals to experience and training, as described by Daniel Kahneman), and chooses a path without actually thinking about it. The path ending up being the one that requires more time, and lower performance.

    This is why a gifted junior is better at coming up with good unconventional solutions than an experienced whatever, because people put too much trust in experience and are naturally too lazy to analyze.

    So think, then write. This ends up producing a working solution, that is also quite well optimized, where only additional code for memoization or reducing the work done on every iteration might speed things up.
  • 0
    @Nudjialz well yeah, if a junior is planning to make the whole thing entirely, then it's very likely that when finishing the first 30% of the work, new knowledge will be gained that will show that the first 10% are pure shit. And while transforming those 10%, knowledge is gained that shows that the following 15% is crap and the last 5% is incompatible. Ends up being a treadmill.

    So in such cases you are right. Make it work then take care of the rest, if you care about making it work. But if you care about learning, do it right.
  • 2
    Or you make it work, make it work faster, try to make it work even faster, but totally f things up and turn on rage mode, delete everything and start all over again
  • 1
    @Nudjialz same here, thinking about how to properly make it work first of course..

    But sometimes you still hit deadends, especially if you do not have all the info to make it work right (happens a lot with us, that clients change mind in the middle or are adamant to do it certain way) so make it work like they want, then make it work right (after you can proove it is wrongly designed), then make it fast (if possible)
Add Comment