On Excel and developer productivity
Kuzma Petrov-Vodkin, The girl at the desk (1934)
When I was just starting out in my professional life, I did a lot of Excel.
A LOT of Excel.
I graduated with a B.S. in Economics, outside the realm of anything remotely related to programming, and I didn’t realize there was another way to do things. Or rather, I vaguely realized there was something called “programming” out there, but it was so big and ungraspable that it wasn’t on my horizon.
One day in my first couple years in the workforce, I was working late on an Excel sheet for a client deliverable, and it was late, and I was tired, and I had been copying and pasting cells all day. I wrapped up the spreadsheet and my boss said I could go home.
The next day, my spreadsheet was presented at a client meeting (I was muted on the phone, in a different city.) As my boss was presenting it, I could hear him pause and say, “Wait, this doesn’t look right.” I felt my heart drop through my chest. The client also paused, expectantly. I wanted to dig a hole in the ground and die in it.
“Vicki, look into these numbers,” my boss said, and we wrapped up the call. My boss called me directly. I didn’t want to pick up. “What happened here,” he asked.
“I…” I didn’t have a good answer. I had messed up, plain and simple. “Redo these,” he said, and asked a senior associate to check them for me, which mortified me and piled more work on the already-busy senior associate.
I called my mom after work. “I messed up big-time,” I said, bawling. She comforted me, and told me to check my work more carefully next time, not to rush. Everyone I talked to said it was ok, but not to let it happen again, and to just be more careful in my work.
I spent years double-checking and second-guessing myself, crossing my fingers that all the numbers would end up ok. For many years afterwards, until I became a solid developer, I thought not that Excel needed checks, but that I was a careless employee.
I thought back to that meeting a couple weeks ago as I was writing code, and I felt so angry for that young girl, that no one told her it wasn’t her fault - it was the fault of a business world that doesn’t value programming skills over hundreds of hours of manual labor, a world that doesn’t say, “Hey, humans aren’t supposed to do this work - machines are. Let machines handle the number crunching. You’re supposed to make mistakes. It’s our job to keep you as far away from that as possible with version control, tests, CI, multiple environments, and statistical software.”
I thought about it as I read Stripe’s developer coefficient survey, where they determined that developers are force-multipiers, and that not using developers efficiently led to a $300 trillion drop in productivity.
I don’t know if I believe that enormous number, but I believe that knowing that I wasn’t supposed to have the burden of moving all the cells accurately all the time would have led to a much different first two years of my career.