Problem Solving
When solving problems, we have tendency to think about What can we add to make things better? rather than What can be removed to make things better?
This is especially evident in engineering problems. So think about this when considering problem solving.
Also keep in mind Don't assume it's difficult until it is.
sources:
- Here's Why Our Brains Solve Problems by Adding Things, Not Removing
- Our Brain Typically Overlooks This Brilliant Problem-Solving Strategy
- Think Like A Beginner to Become An Expert Engineer
First step of problem solving is to identify the problem itself.
Talk to the other party, sit down and identify the problem. Treat it as you both are trying to solve the problem identified. And make sure the other party knows, it's not me against you, it's we against the problem.
Divide and conquer method
Problem solving for developers
How to solve problems for newbie developers
Be the The Duct Tape Programmer, Keep it simple, stupid. Simple things are harder to go wrong, and they are easier to maintain.
Don't assume tasks are difficult until it is found to be.
There's always the best tool for each job.
Favouring Tools is Bad Engineering
Debugging
- Assume you did something wrong. This is true for 99% of the cases
- Based on that assumption, work backwards on where are the possible areas that can go wrong.
- write down hypothesis, check if they are valid hypothesis
Related:
Data modeling
Before you start even coding a single line, look at the data, study it.
Get intimate with it.