Problem Solving
It’s not that I’m so smart, it’s just that I stay with problems longer. - Albert Einstein
- Problem Solving Techniques
- Difficult Problem - When the path to the solution is not immediately apparent
- Make a guess - Evaluate each guess
- Heuristics - Rules intended to help you explore the solution space and converge to the solution
- Define the problem - A problem clearly stated is a problem half solved
- Abstract - The big picture might help you identify causes in other areas
- Divide & Conquer - Divide the system into components and examine each
- Troubleshooting
- Repair failed products or processes
- Steps in Troubleshooting
- Examine the symptoms of malfunction
- Identify the source
- Fix it
- Check if the system is operational
- Analyze the causes of the malfunction
- Make the system robust against future failures
- Identifying the source
- KISS - Check the simple things first
- Always assume multi point failure ie non singular cause
- Focus on recent changes
- Process of Elimination - Elimiante each potential cause until you find the source
- Prepare in Advance
- Know the expected system behavior
- Develop troubleshooting procedures in advances
- Allows for sufficient thinking ahead of time
- Creative Problem Solving
- Start with the assumption that a perfect logical reasonable solution exists
- Timeboxing - Commit to work a small amount of time, as little as 5 minutes. Most often you will end up spending much longer. Helps overcome procrastination.
- Journaling - Putting it on paper avoids circular, repetitive thinking. Helps overcome the limitations of conscious mind’s working memory.
- Put it on hold - A solution might pop out when you least expect it
- Persistance - Refer to the quote by Albert Einstein above.
- Problems exist to help you grow, not to beat you down. They are like dumbbells. Start with the lightest one.
-
Categories
-
Database
-
Programming
-
Workflow
-
Devops
-
Architecture
-
Ui
-
Frameworks
-
Blogging