One important trait to have in life is acceptance. A problem is only solvable when we accept them while denying, ignore it or pretending it does not exist will only make it persist and expand.
Acceptance does not mean giving up to situation, it means taking up problem and fact as it is without mentally labelling it with judgements or connect it with our sense of self-worth. We accept the situation but we are taking control of our own goal and how to put what currently happen in the context of our choices (remember the classical half-full/half-empty glass :) ).
The situation, any situation, can only be accepted, doing anything more than that is a big waste of time. We should give it 0% mental energy and allocate more instead to defining next action. We need to differentiate between the natural emotional alarm i.e: disappointment, anger, upset, with the self-triggered creative dramatizing. The alarm is good, the wrong use of creative energy is bad.
Sometime ago, I happen to accidentally watch a children show (Blue's Clues if you're wondering) that currently has a theme about dealing with confusing situation. The show kinda meant to install a different mind-workflow on the children when they typically face new/confusing/upsetting situation. In the scene where the confusion happen the show-guy would interrupt and say this instruction which he repeated many times at the show :
- Calm down
- Take a deep breath
- Take a fresh perspective of the problem, see bigger picture
- Refrefsh/update goal/plan, fefine action, subaction then act
- Continue with 50 % capacity of your mind since the other 50 % busy maintaining the illusion that the problem did not/should not exist or worrying in the background of what catastrophic consequences that would happen anytime
Acceptance is like altering architecture (in this case it means : how stuff relate in our mind) to fit better with our understanding with reality which the current architecture is no longer reflect it. Denial is like hacking the systeamt away to support new function/feature without caring if it will add duplication, performance, inconsistencies and reduce intuitiveness of the code.
For programmer :
Accepting that the code fail and crash sooner is better then wasting time first trying to blame the compiler, the language design, the documentation, other people's code. Say
"It does not work, how to fix this and how to avoid this in the future?"
"Aaarrrrgghh, It should work!!, we need to find something/someone to blame!"
Trust me, this will save a lot of time :).