Back to Homepage

Credit: unknown


Andrew Begel

Developers are wrong (Devanbu et al. 2016). A lot. Like all of humanity, they base their beliefs on personal experience rather than evidence, even when that evidence is inconsistent with their beliefs. This makes many developers particularly bad at being open-minded: they have strong beliefs and often won't let new information change these beliefs.

These beliefs can be about anything: which programming language is right for a task, whether a platform is well-designed, whether a product idea has merits, what's causing a bug, or even whether a teammate is effective. The more a developer can actively seek information that improves upon their understanding, and actively reshape their understanding based on this new evidence, the better the developer.

In my experience, there are three critical components to being open-minded

The first one of these is easy in a learning setting, since you're all in school for the explicit purpose of changing your beliefs. This isn't so easy in a workplace, however, unless that workplace frames itself as a learning setting.

The second two aren't so easy though: to identify your assumptions, someone usually needs to point them out to you, and to convince yourself that they're wrong, you need to purposefully search for reasons why you're wrong and then listen to them. Because of cognitive biases like confirmation bias (Plous 1993), we're hard-wired to look for evidence that confirms our beliefs, not the opposite.

Enumerating beliefs (5 min)

To practice being open-minded, let's start with two questions and see what beliefs you have about them:

Why are there so few women in software engineering?

Why are there so many men in software engineering?

Partner with someone of a similar gender and answer the question about a different gender. Discuss your beliefs with your partner for a few minutes.

Identify the assumptions (10 min)

For each question, let's share your beliefs. What assumptions did each group make about the causes?

Seek evidence (20 min)

Visit Google Scholar and search for "women computer science". Pick an article and skim it. What did you discover?

Debrief (5 min)

Notice that part of being open-minded is engaging in scientific thinking. Scientists escape confirmation bias by stating their beliefs and then test them with evidence. Great software developers do the same thing.

Further reading

Prem Devanbu, Thomas Zimmermann, and Christian Bird. 2016. Belief & evidence in empirical software engineering. In Proceedings of the 38th International Conference on Software Engineering (ICSE '16). ACM, New York, NY, USA, 108-119.

Paul Luo Li, Andrew J. Ko, and Jiamin Zhu. 2015. What makes a great software engineer?. In Proceedings of the 37th International Conference on Software Engineering - Volume 1 (ICSE '15), Vol. 1. IEEE Press, Piscataway, NJ, USA, 700-710.

Plous, S. (1993). The psychology of judgment and decision making. Mcgraw-Hill Book Company.