Hacker News new | ask | show | jobs
by DenisM 2568 days ago
Whenever I code something moderately challenging, I come back and do it again, and maybe again until it’s good and proper. I love history rewrite in mercurial.

The code gets better, but the business outcome remains unchanged so it may look like waste. But it’s not waste - the micro skills acquired in the exercise accumulate.

3 comments

I do this with cooking, kinda, let me know what you think.

1. Make the thing from a book, verbatim, change nothing

2. Synthesize a new recipe from 3-5 recipes, changing stuff at will, but within the range for each ingredient

3. if excellent: goto 2; else: goto 4

4. Continue to make this dish, using this recipe, from feel until the output consistency is always delish

Being good means being creative and then being able to consistently hit the required output quality.

“I fear not the man who has practiced 10,000 kicks once, but I fear the man who had practiced one kick 10,000 times.” -- Bruce Lee

It makes sense to me - you get both deliberate practice and creative practice. I don't know if it's the best, perhaps someone who is good at cooking can provide a more informed opinion.

I was also told that cooking from good ingredients is easy, the hard part is figuring out what to cook given the ingredients you have on a given day.

The code gets better, but the business outcome remains unchanged so it may look like waste.

Herein lies the issues for many of us in the corporate world. Unless I am get the rewrite done in the current testing (assuming the feature I'm working on isn't already test complete), convincing the testers to re-test is basically impossible (to say nothing of the project/product managers).

It's waste for the business but good for you