Do you think that there is any correlation between being a programmer for an extended amount of time and a permanent restructuring of the way we think in general?
I've noticed some generalizations:
- Many non-programming people speak in a very ambiguous way. Almost to a frustrating degree.
- Programmers tend to think in concrete terms. They give you actual answers, numbers and hard estimates to your questions.
- Non-programmers often feel overwhelmed by complex problems or processes. You'll get the "eyes glaze over" effect.
- Programmers tend to not feel overwhelmed by complex problems given to them in the real world. Our experience with breaking large systems into smaller ones definitely translates outside of the programming field.
Just from my personal experience I find myself using logic with a high frequency. I find I'm able to assess a situation and determine the likely outcomes without letting my emotions get in the way of my assessment. If Situation-A happens then Result-B or Result-C will occur with all likelihood. I don't stress over it, I simply accept the logical outcomes of any given situation and plan accordingly. I don't blind myself to reason, I guess is a good way to put it.
It often surprises me when I find not everyone thinks in those terms. When my girlfriend describes a problem she is having the solution or outcome is usually instantly recognizable to me. Even if the answer is contrary to what she would like to happen.
Did this come from me having to deal with programming logic for years? Or is this an inate property in people? Does being a programmer simply reinforce a persons logical reasoning?