Accept this nice Lewitt as my apology.
Just your typical mea culpa on a Wednesday
I’ve done some regrettable things in my life, and most of them have come back around to punish me, in one way or another. That’s how I know, when I spend a few hours each day elbow deep in spreadsheets, that it’s all my fault. I could have avoided this. I could have stayed a programmer forever, never having to memorize Google Drive keyboard shortcuts or have opinions about Pages vs PowerPoint. I did this to myself…by talking shit about spreadsheets.
I ridiculed the spreadsheet jockey. I dismissed their power. I was an asshole about spreadsheets. I just didn’t get it. I asked why people didn’t “learn to program,” and all the while, I was using tools which were clearly less sophisticated than Excel.
When you want to solve a problem with Excel, here’s what you do:
- Open up Excel
That’s it. From there, you can calculate literally anything, and transmit not only the results of those calculations, but the actual environment itself, to anyone in the world, and expect that if they have a computer, they can replicate your results.
There I was, solving problems with a pile of functional but precarious software, glued together by the trends of the day … and I was judging Excel.
Programming should be more like Excel
This week I tried something interesting. I tried to take a very sophisticated spreadsheet that I made to model the impact of some pricing changes for a client, and I wanted to recreate it in a programming language that I have been using for a very long time.
It was really, really hard. I reached out to a friend to ask for advice on how to model this problem, and they offered some great help: reduce your spreadsheet to some essential formulas, and then model those in $PROGRAMMING_LANG. I tried. It was hard. Really, really hard.
So yes, as usual, I was wrong. Spreadsheets are amazing, they solve specific problems in an optimal way, and they are as useful as a currency as we could hope for in information exchange.
Getting older is weird.