Most software engineers come up through the ranks as coders and believe that the valuable lessons they’ve learned from their years in the trenches are an infallible guide to the future. While experience is certainly useful, the emerging field of cognitive psychology has another story to tell: the real reasons for our decisions aren’t entirely the subject of our conscious choice—or even awareness.
Ian Varley covers the emerging field of cognitive biases—bugs in our mental operating system—and takes a cold, hard look at how these mental blind spots defeat our attempts to build quality software in every domain. (If you’ve read books like Thinking Fast and Slow and You Are Not So Smart, you’ll be familiar with the basic idea.)
While awareness of cognitive biases is a good life skill in general, it’s particularly critical if you’re in a software architect role, because your opinions set the conditions for massive amounts of work by other engineers. As such, it’s worth the time to thoroughly debug your own process for learning and making important decisions. Ian explains why the sunk cost fallacy means you’re not throwing things out fast enough; how confirmation bias can sneak into even the most data-driven decisions; how hindsight bias is obscuring the real lessons you might have learned from that failed project; how priming and fixation is shooting down your most promising inputs; and how arguing over architectural decisions is unlikely to help anybody. (See also: “Nobody ever changed their mind between Vim and Emacs.”)
Most importantly, Ian shares concrete techniques you can use to check your own decision making for these unwelcome guests. We might not be capable of being perfectly rational beings, but we can be a lot less dumb.
Ian Varley is a principal architect and a founding member of the architecture strategy team at Salesforce. Ian holds a master’s degree in software engineering from the University of Texas at Austin.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com