This can be explained easily… Execution takes a little work.
Think backwards. When people explain a problem to me, I think of the output they are wanting, then I analyze the end result back to the source. Usually by the time they are done explaining it, I have a good picture in my mind, and have some solid questions about it.
**Absolute terms. **Yes/No - True/False - Always/Never… This extends to an if this… then that type of thinking. I ask a lot of questions until I get absolute answers. You tell a program what to do, it isn’t going to adapt if there are variations thrown at it.
Visualize. Draw problems out. It helps you with the steps toward the solution. Depending on the type of programming you’re talking about, this may be crucial to your product. Programmers generally think in terms of tables and mappings and relationships. Drawing those out helps you see the bigger picture.
Of course you can start to think like one if you become one, so try to teach yourself. Have fun with it! Even a basic working knowledge will help you think more critically.
Read the Step-by-step guide here: 8 Proven Ways To Learn How To Think Like A Programmer: For (Creative Problem Solving)