Thinking through problems logically from the beginning and all possible endings. Being analytical.
That's exactly it. When people say they want to break the problem down into smaller pieces, that's not programmer thinking, that's architect's role.
Let's say you get a task that you need to write a function that returns a list of database records from start# to end# (e.g. one page of results).
This might be probably a oneliner (sorry, I think in Linq). How do you break it into smaller pieces?
It's more about being able to analyze the problem in your head and then write it in one take.
First ask yourselfg a question: Do I have all important inputs to complete the task? No? Go grab them!
The things important here are:
Another things you should do:
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.