In 2020, Microsoft Excel introduced a new function: LAMBDA. Software updates are frequent, and often go unnoticed. But sometimes, a software update brings something somewhat surprising: a shift in the identity of the user. The Lambda update shifts the identities of spreadsheet users and communities, and reinvigorates longstanding debates about whether spreadsheet use ought to be considered similar to programming or software engineering.
The human relationship with tools is complex and value-laden, and software is no exception. By becoming objects of personal investment, professional value, and community concerns, software shapes our identity and how we see ourselves in the world. In this article, I share what we know about software and identity, and some results from our work on how Lambda is causing a shift in the identities of spreadsheet users and communities.
Who are you?
Who are you? What aspects of yourself are core to you? Could you describe yourself in a single sentence? Take a moment to reflect on your own identity, and then read on.
Perhaps you defined your identity by your profession (e.g., “I’m an accountant”). Perhaps you used adjectives to describe yourself (“I’m ambitious”). Perhaps you defined yourself by your relationship to others (“I’m a father”), or your hobbies and interests (“I love classical music”), or your religious or national identity.
Did you think of software? Probably not. Very few people would explicitly identify themselves as a spreadsheet user, or a Photoshop user. Yet for many people, the software they use plays just as important a role in determining their identity as their hobbies or relationships. This is one of many ways in which technology shapes society.
How can something as mundane as software be so central to people’s identities? There are (at least) three reasons: 1) Software allows people to learn and express complex skills, often acquired over many years. 2) Software proficiency signifies and defines professional value. 3) Software creates a nucleus of shared concerns around which a community can develop, socialise, and form patterns of mutual support.
How software creates identity
First, software creates identity through skill. Complex software, such as Microsoft Excel, Adobe Photoshop, or Logic Pro, can take many months (or even years) of practice and learning to master. People are willing to invest this time because the software is a key tool in the activity they are interested in (such as data analysis, image manipulation, or music production). Spending so much time learning software, and the skills you develop and consequently the freedom of expression you feel, cause it to become part of your identity. Consider a hobby you have become an expert in, such as playing a musical instrument or learning a second language. Perhaps you have spent years getting to your current level of expertise, and have many memories of your learning journey. Now, your ability to express yourself through the instrument, or through the language, empowers you, and gives you a sense of agency, and an ability to act in the world in a way that you couldn’t before. This is why such hobbies often form core parts of people’s identities, and the same effects are at play with some kinds of software.
Second, software creates identity through professional value. In many trades, certain software applications are so core to the industry that knowing how to use them is not only a prerequisite for the job, but also a signal of your professional value. For accountants, it is Microsoft Excel. For graphic artists and designers, it might be the Adobe suite and Figma. For architects, it might be AutoCAD. Professional accreditation by trade organisations, chartered societies and guilds often involves a software proficiency test. Years of experience with specific applications are often mentioned on job descriptions, highlighted by job applicants on CVs, and scanned as keywords by recruiters. Research has shown that for many knowledge workers, “their economic value is intertwined with … skills related to specific applications”.
Third, software creates identity through community. Users of software congregate to discuss their software, share skills and ideas, and help each other fix issues. They use broad online communities such as Reddit and YouTube, and domain specific forums such as Stack Overflow for programmers, or DeviantArt for artists. Interacting on these forums creates a sense of community and elevates the (usually) solitary practice of using software into a narrative of knowledge sharing, mutual learning and support, and collaboration. Community events can bring people together to celebrate the pure joy and spectacle of software proficiency. For spreadsheets there are multiple wonderful examples: the ModelOff competitions in London where hundreds of accountants and other professionals compete to solve spreadsheet puzzles in a tournament, or the Formula Modelling World Championships, which are similar tournaments, played online and streamed to millions of viewers by ESPN.
How Lambda shifted the identity of spreadsheet users
This brings us to the question we posed at the start of this article: could a software update change your identity? We have seen three ways in which software creates identity, but does that apply to specific software updates? In some cases, it can, and this is precisely what happened when Excel introduced the Lambda function.
Before we proceed, let me give you a brief intuition about what the Lambda function does.
Excel allows you to store data, and then calculate with it using formulas. Formulas are built up using functions such as SUM (which adds numbers) and AVERAGE. There are over 540 built-in functions, which include common operations from domains such as statistics (e.g. functions for calculating correlation), engineering, maths (e.g. trigonometry functions), finance (e.g., functions for calculating compound interest), text manipulation, and date/time operations.
Microsoft adds to this core function library over time. While comprehensive, it’s not universal, and many calculations aren’t represented in this library. If you needed a custom calculation, the solution was to build up your custom calculation as a formula composed of many built-in functions, and then copy and paste this wherever you needed to use it. This worked, but it made formulas hard to read, introduced errors, and made it challenging to modify a calculation because you would have to manually update it everywhere you had pasted it (a maneuver formally known as the “uniform edit”).
The Lambda function changes this by letting you add your own functions to the library. Instead of copying and pasting your calculation, you can give your custom calculation a name and reuse it in the same way you would use a built-in function. You can edit it in a single place, and these edits will automatically apply everywhere you have used the function. This video shows how a Lambda is made and used in Excel. Previous research shows that a feature such as Lambda, which allows users to create what researchers call “computational abstractions”, can significantly change how people use software.
We were curious to see how Lambda would affect Excel users. So we ran a study. Lambda entered a public beta in December 2020, allowing people to experience it and share their experiences online. We gathered and analysed nearly 2,700 comments from threads about Excel Lambda on Reddit, Hacker News, YouTube, and Microsoft Tech Communities, representing the views and experiences of hundreds of users.
We found many interesting implications for spreadsheets, and barriers to learning and using Lambda. However, perhaps the most interesting findings were about how Lambdas were shifting the identities of spreadsheet users. The next two sections (in italics) are quoted directly from our paper, with minor style edits.
The computational nature of Lambda raised discussions regarding the identity of spreadsheet users as programmers, spreadsheets as code, and the expertise required to harness Lambda. One perspective distinguished spreadsheet authoring and programming, similarly viewing Lambda as a separate to coding.
That’s true if you know VB. Most Excel users don’t and this is a simple method to build complex functions without having to code. [YT421]
Many people that use Excel are office workers and don’t have enough background in programming or the time to learn it. You can pick up the LAMBDA function in a few minutes though if you are already familiar with many other Excel functions. [YT421]
Prior work suggests that this perspective can be motivated by wanting to distance oneself from a “programmer”. This tension of identity was also reflected in the discussion.
Whilst […] Lambda functions are simple extensions of the traditional spreadsheet methods […] the process of solution development shifts from the ad-hoc to being a programming exercise […] traditional methods allow users to interact with their numbers whilst remaining in denial that they are actually programming [M5]
The expertise required to use Lambda was another common theme. Central to the discussion was the notion of expertise across an organization, particularly the practice of those with expertise building and sharing solutions with those who do not. Some viewed Lambda as another advanced feature reserved for those with expertise.
Most organizations […] only have a couple people who can actually make and edit the advanced sheets […] and lots of people who use those sheets with a very, very rudimentary knowledge of Excel to generally get their jobs done. I don’t really see the addition of new advanced functionality changing that […] [HN38]
Several users expressed reluctance or concerns because collaborators might not be familiar with Lambda functions; thus, Lambda functions might hinder comprehension.
[…] though how might non-technical folks feel about a coworker sending them a spreadsheet with function-values? [HN4]
In contrast, others indicated that LAMBDA can improve sharing by providing a way to implement advanced functionality without resorting to traditional programming such as VBA, reaffirming that some users perceive a distinction between spreadsheets and code.
There’s always been this midpoint of complexity when making spreadsheets that coworkers will use. Including macros scares them away but using long, un-named formulas does not even though it is much less clear what it’s doing […] a macro was not needed, only a label and some arguments to lower the cognitive load. [HN95]
Consistent with prior observations, we observed derision and gatekeeping behaviour regarding the identity and expertise of spreadsheet users as programmers.
What has instead happened, I shit you not, is we have “Excel influencers” teaching people recursion “without code!” (aka without VBScript). I cried and I laughed when I first saw, it was a watershed moment in CS education. [HN48]
[…] no mention of debugging. In the hands of Excel cowboys, this can become another foot gun. [HN124]
[…] The irony is that this feature will almost certainly be met with derision & scorn from the CS crowd and clueless shrugs from excel users. [HN182]
However, we also observed the championing and support for the perspective that spreadsheet users are part of a programming community.
Of course this also means that Excel becomes even more of a slippery slope towards programming generally, which can only be a good thing. [HN161]
[…] this could actually be a really natural bridge into programming for a lot of people whose advanced Excel skills already have them on the cusp. [HN119]
Debate about the identity of spreadsheet users as programmers is by no means new, but the introduction of a first-class computational abstraction is a fresh opportunity for users and researchers alike to revisit this discussion.
Are spreadsheet users programmers?
The question of whether spreadsheet users are programmers is not inconsequential terminological hair-splitting; it has implications for the role spreadsheets play in society.
Programmer is a marked identity (Brekhus, 1998) with cultural associations against which end-users judge themselves. The conceptualisation of spreadsheet use as a programming activity therefore directly suggests to users whether spreadsheets are for people ‘like them’ or for ‘others’. People’s skills are shaped and captured by software, resulting in an intimate binding of one’s professional value to the software one uses.
It has been previously observed that spreadsheet users do not view themselves as programmers (Hermans et al., 2016). Our findings provide additional nuance: some spreadsheet users view themselves as programmers, but others do not. Some are unaware that a distinction can be made, or if a distinction is to be made, what the appropriate grounds are. Users who concede that spreadsheet formula authoring can be viewed as programming may nonetheless not self-identify as programmers.
boyd and Ellison (2007) describe the community process of impression management, where the expression of self through social media becomes a mechanism for forming and signalling identity. Though highly individualised, the identity of “programmer” is at the same time a community identity, subject to community negotiation. In this respect it is similar to sociological theories of group formation (Litwak and Szelenyi, 1969). Kinship, friendship, and neighbourly groups serve as means of allocating resources, but also as a psychological device for uniting the sense of self with a sense of belonging. Thus, the use and discussion of lambda can serve both as a peer-signalling mechanism as well as to enact one’s own identity as a programmer.
Lambda creates new bridges (and gulfs) between programmers and ‘others’. Many commenters implied that using Lambda is closer to traditional notions of programming than authoring spreadsheet formulas, but it is unclear what underpins this perception. Does managing complexity via Lambda resemble software engineering practices, associated with programming and dissociated from spreadsheets? As Wing (2009) notes, decomposition and abstraction are key to computational thinking.
Some commenters predicted that Lambda is going to change the way spreadsheets are built. However, absent better tooling and higher levels of user expertise, it is doubtful whether a Lambda-centric spreadsheet development approach induces better design, testing, or documentation. While some users anticipated a “structural revolution”, such optimism ought to be tempered by the fact that formula writers constitute a minority of spreadsheet users, and corpus studies show that as few as 7% of spreadsheets contain a single formula (Hermans and Murphy-Hill, 2015; Barik et al., 2015).
Software creates our identity, because we invest our time into it, it determines our professional value, and we form communities of support and collaboration around it. Thus when software undergoes a major update, it may induce a shift in identity. This is precisely what happened when Excel released the Lambda function, which allows users for the first time to create their own custom functions using Excel formulas. Through a study of nearly 2,700 online comments, we found how Lambda caused people to debate whether spreadsheet users were programmers, and whether spreadsheets are code. The question I will leave you with is this: how has software shaped your identity?
And now, a summary poem:
How software’s steely hands have come
To forge us in this cyber universe!
Our form distilled, now virtual in sum,
No two faces quite akin or diverse.
‘Twas not so very long ago,
When just we our heritage would define;
But now ‘tis programs that bestow
Identity so sharply twined.
Today we find in electric age
Our dimensions scrolling down a page
Software installs the soul a part
Which shapes thoughts, the inner heart
Who we are and what we’ve made
Born anew at each upgrade.
Paper minds bleed and rage,
But software freshens every cage
We run this spryer cyber-stage,
Digital tools will us arrange.
Stand and see a truth untold,
Shed Luddite raiments, and be bold —
Our sense of self enlarged tenfold —
Ready for electrifying change.
This article is based on the following paper:
A. Sarkar, S. S. Ragavan, J. Williams and A. D. Gordon, “End-user encounters with lambda abstraction in spreadsheets: Apollo’s bow or Achilles’ heel?,” 2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 2022, pp. 1-11, doi: 10.1109/VL/HCC53370.2022.9833131.
More details: Read paper online • Download PDF • BibTeX • IEEE Xplore • DOI: 10.1109/VL/HCC53370.2022.9833131
Joharizadeh, Nima, Advait Sarkar, Andrew D. Gordon, and Jack Williams. “Gridlets: Reusing spreadsheet grids.” In Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems, pp. 1-7. 2020.
Nouwens, Midas, and Clemens Nylandsted Klokmose. “The application and its consequences for non-standard knowledge work.” In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, pp. 1-12. 2018.
F. Hermans, B. Jansen, S. Roy, E. Aivaloglou, A. Swidan, and D. Hoepelman, “Spreadsheets are code: An overview of software engineering approaches applied to spreadsheets,” in 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering (SANER), 2016, vol. 5, pp. 56–65.
W. Brekhus, “A sociology of the unmarked: Redirecting our focus,” Sociological Theory, vol. 16, no. 1, pp. 34–51, 1998.
danah m. boyd and N. B. Ellison, “Social network sites: Definition, history, and scholarship,” Journal of computer-mediated Communication, vol. 13, no. 1, pp. 210–230, 2007.
E. Litwak and I. Szelenyi, “Primary group structures and their functions: Kin, neighbors, and friends,” American Sociological Review, pp. 465–481, 1969.
J. M. Wing, “Computational thinking,” Communications of the ACM, vol. 49, no. 3, pp. 33–35, 2006.
F. Hermans and E. Murphy-Hill, “Enron’s spreadsheets and related emails: A dataset and analysis,” in 2015 IEEE/ACM 37th IEEE international conference on software engineering, 2015, vol. 2, pp. 7–16.
T. Barik, K. Lubick, J. Smith, J. Slankas, and E. Murphy-Hill, “FUSE: A reproducible, extendable, internet-scale corpus of spreadsheets,” in 2015 IEEE/ACM 12th working conference on mining software repositories, 2015, pp. 486–489.
I am affiliated with with Microsoft, which has interests in spreadsheet technology. All views in this post and website are mine alone and are written in an independent capacity. This post and website do not reflect the views of any individuals at Microsoft. This post and website do not reflect the views of Microsoft Corporation or Microsoft Research Ltd.