Hacker News new | ask | show | jobs
by olikas 3443 days ago
Solving a problem by experimenting is rarely useful. I'd call it accidental solution. You can improve by doing it the hard way. Do not write down anything unless you understand why you do it. As a test, try to answer the following question: "Why will it work?" It is also useful to think about other solutions before committing to one. Try to come up with pros and cons.

You can improve your reasoning skills by fixing bugs. First observe the bug, try to make a hypothesis. Try to support it by reading the code (do not run it, don't use a debugger at this point). Once you have a plan, find evidence that support your theory. Once your theory is right, find a solution, and answer the question "why".

It will take time, but you will improve over time. For me, the key is patience.

1 comments

Thanks for your advice, I'll experiment with this method.

And yeah that's actually how I used to find solutions: by accident. I just keep tweaking the code and running it until it gives the solution I want.

I never really considered this a problem, but I'm glad I'm aware of it now, it's better late than never.