Chapter 41. How to Be Discerning Without Being Invalidating
First, some context:
I’m at my company’s 2017 Christmas party. It’s a relatively classy affair. We’re on a boat cruising along the Thames while people mingle and talk, enjoying the faux casino that’s been set up on board.
I’m at the bar chatting with Samantha, our head of people, and the conversation turns toward hiring. Sam asks if I’d had the opportunity to speak much with one of our newer hires. I tell her I haven’t.
She tells me I should; we’d get on very well, she feels, particularly because of my personality — I’m “very cynical.” I’m pretty sure it was meant as a compliment, akin to being realistic or discerning; however, it sticks with me and I can’t help but return to the thought over the next few weeks.
I’d like to think I’m realistic (or pessimistic?), not cynical.
In some ways, realism is a fundamental quality of good software engineers. A keen eye for detail and a methodical, logical approach to problems. Being able to connect to the reality of a situation and planning accordingly.
Although a more optimistic or hopeful person might see a feature or requirement and think of all the problems that it will solve, the eagle-eyed engineer will look at it and think of all the scenarios in which it will fail.
Both are essential, of course. You need hopeful optimism to build ...