A few days ago I got into Mathematical Logic[0] and learned how to reason about
problems through using various branches of mathematical ideas like
proof theory, model theory e.t.c.
I found this abstract way of thinking about problems clear, & organised.
"Mathematical Logic" is diffrent from the kind of Math I was taught,
which was a top down approach to solving problems.
"Mathematical Logic" seems to be able to derive solutions to problems in
a ground up fashion where a solution can somtimes elegantly present its self
as long as you apply correct mathematical properties.
What other techniques do you hackers use to improve your abstract thinking?
[0]: https://en.wikipedia.org/wiki/Mathematical_logic
1 - Read lots of things unrelated to your field of study. Read about flowers, or art history, or music theory.
2 - Take long walks, get away from the screens and distractions. Walk some place that stimulates thought, like in nature, or in a city, or by a river. Skip the treadmill or places like malls that demand your attention. You need a place to allow your mind to wonder and to process/organize the info you read about.
3 - Dream, in a very literal sense. Do you ever remember those moments right before you fell asleep where your mind gets a bit too creative. Harness that. It has been said that Edison would take naps in a chair with heavy ball bearings in his hand. Right when he was just about to be asleep his hands naturally relaxed and dropped the bearings on the floor waking him. Quickly, he would pop up and recollect on dreams/ideas he just had. Use a similar technique to your advantage, see what randomness your mind designs.