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:

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

Rubber duck debugging

Related:

Data modeling

Before you start even coding a single line, look at the data, study it.
Get intimate with it.