Note: Most of these blogs are for my personal reference and at a given time, some of those might just be unpolished drafts.
What is good problem solving?
Problem Solving is the gold
We all focus on problem solving. We are in pursuits of so many activities which aim to identify the problems, propose a solution to them, build the solution and hopefully create some value out of it. But what is good problem solving? Especially in the realm of computer science.
The greatest part in ‘problem solving’ is not actually the solution. Its the break down of the problem. What is it that you want to solve?
You can tackle a fairly simple problem (simple only if you understand it from different dimensions with its various facets) and have a very sophisticated solution for it. That sophisticated solution requires a meticulous and a precise implementation.
In another approach you can understand it so well and tackle it from an entirely different perspective and come up with a much simpler solution. Something which could be implemented without much sophistication.
Now take a pause and think about all the problems we face while building softwares and applications. Are we understanding the problem well enough and from enough dimensions/perspectives to know about all of its facets or are we writing a smart-ass, sophisticated solution for it?