Are Software Engineers Different?
As part of some research I was doing recently, I had to understand whether software engineers as a group were different from other occupations such as accountants, doctors or salespeople. The immediate reaction is a resounding “yes!” — but as an engineer, I wanted some evidence backed by solid research to support this gut feeling.
To do so I turned to the ubiquitous Google Scholar and start doing some digging. I quickly found a large number of studies focused on this area, many with conflicting results. The consensus seemed to be that there was indeed a set of traits and mindsets generally found amongst IT workers in general and software engineers especially. Nonetheless I would take everything that follows with a grain of salt — as in most psychology studies, the results found are broad generalizations and specific counter-examples can easily be found! References to all the studies cited in this post can be found at the end.
Software Engineer Traits and Characteristics
The research shows that software engineers are a recognizably distinct occupational group sharing broadly similar needs and personality characteristics (Guzman & Stanton; 2004, Guzman, Sharif, Kwiatkowska & Li, 2006; Guzman & Stanton, 2009; Orlikowski & Baroudi, 1998; Darcy & Ma, 2005; Ramanchandran & Rao, 2006).
The following key points, reproduced from Guzman and Stanton (2009, p. 163) offers a succinct overview of the main characteristics of software engineering culture:
Esoteric knowledge and expertise
High value of IT expertise and technical knowledge. Members believe that they possess, claim and are proud of restricted IT expertise and skills. They have control over information technologies in organizational settings (e.g. servers). This one may seem obvious — we are highly technical people after all! — but the implications might be less so. This control over the technical environment encourages a certain style of communication and thinking shaped by a reliance on provable facts and algorithmic reasoning. Software engineers are often uncomfortable with ambiguity and lack of clarity. This is definitely an asset when dealing with unforgiving digital systems but it can also lead to lack of emphasis on the “softer” skills such as communication, empathy and the general messiness of everyday human interaction.
Extreme and unusual demands
Need for constant self re-education; long hours; field forever changing; members develop tasks that produce “emotional high”, developing a sense of power and deep satisfaction. Many software engineers talk about “passion” and “craftsmanship”, often seeming to think software engineering should be a vocation more than a 9-to-5 job. This is often seen when hiring managers insist on only looking at candidates who “code in their spare time” or “often go to tech meetups or groups”. I would say it’s clear that the field tends to attract individuals who have this sense of commitment to their work — the flip side unfortunately is an assumption on the part of many organizations that this is the norm, leading to an expectation of engineers having to continuously develop and educate themselves on their own without employers providing training. From my limited experience, this is much less common in other occupations.
Consciousness of kind
Boundaries of the community are defined in terms of their occupational role. They know what makes either members or non-members (i.e. users) of the community. This one is interesting and I’d like to focus on a specific issue. It’s a problem which is not always called out but I believe has a major impact: the attitude of the community towards new entrants. Terms like “newbie” or “RTFM” shine a light onto the often dismissive attitude old hands have towards people new to the field. A cursory glance at Stack Overflow will often show multiple instances of this phenomenon, leading to quite an insular community and the sense that it discourages newcomers, hinders diversity (not everyone started coding from when they were a child and have always had a passion for it) and entrenches the status and skills of existing technologists. A further discussion could be had about privilege and how early access to computers raises barriers for people not having had the good fortune to be born into families able to afford such expensive assets — but this can be the topic of another post!
IT pervasiveness
IT people predominate in non-work social community. Members extend their work relationships and activities into their non-work lives Not sure this is unique to software engineering but, taking myself as an example of one, a majority of my friends work in IT. This might be due to the next point, relating to the abundance of cultural forms, which means that our interests are often only shared by other people in the field. It also links back to the communication style discussed previously, meaning we often find it easier to relate to and communicate with people who think and talk with the same emphasis on facts and logic.
Abundance of cultural forms (language, shared stories)
Stigmatized as nerds/geeks; shared stories about user mistakes and challenges of IT work; shared jargon; informal clothing. This one needs no further explaining for the IT crowd! The laid back attitude to work attire, the common distaste of corporate trappings and process, the numerous jokes about clueless non-IT users. All of these are well-known to people in the community. Accompanying this, though I feel this is changing quickly with the influx of new entrants to the field, is the common expectation that some interests will be shared. Gaming, science-fiction, role-playing, technology in general, an unquenchable curiosity and a rejection of authority are common and almost stereotypical traits of the technology community.
Favorable self-image, pride
Status benefits of the IT occupation; helping others develops pride and social value Historically there has been quite an evolution in the way software engineers are seen. Shows such as the “IT Crowd” and “The Big Bang Theory” showing socially dysfunctional but bright nerds have made way for offerings such as “Silicon Valley” and “Mr. Robot”. These new shows depict technologists as innovators and disruptors rather than targets of comedy. The rise of the tech startups and the tech entrepreneurs means software engineers have come out of the “basement” and are now celebrated and looked up to by the world at large.
The above trend has been accompanied by a more general sense in the last 20 years of how “software is eating the world” and how central technologists are to this revolution. It feels like being a software engineer has now become something to be proud of and respected whereas in the past the first thing that came to mind was the image of the boring, grumpy and socially awkward IT grunt laboring in the shadows to support in a purely auxiliary role the important drivers of the business such as sales or marketing.
A final point concerns personality. Capretz (2003) provided evidence for the distinctiveness of software engineers when he showed that in software engineering certain traits are considerably more represented than in the general population. The common thread running through the results of studies reviewed by Capretz is the prevalence of introverts. His work suggests that “the greatest difference between software engineers and the general population is the percentage that takes action based on what they think rather than on what somebody else feels”.
Conclusion
I hope this post has proved thought-provoking — it was definitely an interesting article to research. I would strongly encourage anyone who is interested to do their own digging. There’s a wealth of academic studies out there on the subject, always a good antidote to the lack of rigor we often see when talking about software engineering in general!
References
- Capretz, L. F. (2003). Personality types in software engineering. International Journal of Human-Computer Studies, 58, 207–214.
- Darcy, D. P., & Ma, M. (2005). Exploring individual characteristics and programming performance: Implications for programmer selection. In System Sciences, 2005. HICSS’05. Proceedings of the 38th Annual Hawaii International Conference. 314a. IEEE. doi: 10.1109/HICSS.2005.261
- Guzman, I., Sharif, R., Kwiatkowska, A., & Li, Q. (2006). Occupational culture and commitment in the IT profession: A multi-country perspective. AMCIS 2006 Proceedings, 22.
- Guzman, I., & Stanton, J. M. (2004). Culture clash! The adverse effects of IT occupational subculture on formative work experiences of IT students. AMCIS 2004 Proceedings, 457.
- Guzman, I., & Stanton, J. M. (2009). IT occupational culture: the cultural fit and commitment of new information technologists. Information Technology & People, 22(2), 157–187.
- Orlikowski, W. J., & Baroudi, J. J. (1988). The information systems profession: Myth or reality?. Office Technology and People, 4(1), 13–30.
- Ramachandran, S., & Rao, S. V. (2006). An effort towards identifying occupational culture among information systems professionals. In Proceedings of the 2006 ACM SIGMIS CPR conference on computer personnel research: Forty four years of computer personnel research: achievements, challenges & the future (pp. 198–204). New York, NY: ACM.