What are helpful points of view, concepts or ways to think about problems that would help every newbie to solve programming problems more easily and avoid bad code and design?
An example would be to think of data as a blob that can be transformed and shaped into the needed result. Instead of poking at the blob with a ten foot pole and extracting bits and pieces out of it in a hundred steps, think about the end result you need and what the shortest way is to transform the blob at hand into that end result using the tools at hand (functions and algorithms). So, instead of running a hundred different queries on a database and piecing the results together, start by selecting everything and add filter and formatter clauses until you get as close to the needed end result as possible.
I'm interested in these kinds of high-level approaches and what concrete results they can have.