Or "that time I built Excel for Uber and they ditched it like a week after launch"
You did what software engineers do: you designed something, and it worked. It's not your fault that the suits decided to sell the company to the enemy. What you did was a success. It's something for your working resume.
Wonderful story. An example of one of those projects that must have felt so good when it actually worked!
Sometimes those things end up not being needed long term, but as a software engineer I get such great enjoyment out of the cases where it actually is a game changer to build a small yet sophisticated piece of software that just works super well.
Fantastic story and interesting take aways. I'm reminded of a tool I created for a project manager at a previous work place. It was something that was already solved in the industry, but we didn't have access to the tool. Unfortunately, my PM didn't realize that and promised our client he'd get them the information. What the tool was needed to do was take about 50k documents and identify if they had duplicate text, but different formatting as the data was pulled from both a live server and an archive server that formatted certain things a bit differently. He needed it immediately, but was willing to give me a day.
This was well-beyond my normal undertaking and not really close to anything I would normally do, which was primarily moving data from one system to another and keeping SQL databases running well, making reports from those databases, and updating the databases with a variety of different information, but I came up with a plan to tackle the problem that I thought would work.
I'd simply take the extracted text of the documents, strip all non-alphanumeric characters, make all letters uppercase, and then sort it alphanumerically. Once I had that information I was able to generate hash values, loaded those into our database and was able to find hash matches to determine which documents had the same text, but different formatting.
I was able to deliver that within two days and no one else knew what I'd done, and the PM was about as ungrateful as they come. I did explain it to my manager at a review some months later and he wasn't impressed, or didn't really understand what I'd done to be impressed.
My process was never used again.
TIL about circular references as a linear regression tool in Excel. One of many amazing points in this article, thanks for sharing!
Love this story. I always think to myself that, at the end of the day, we're engineers, not "coders". Engineers solve problems and unfortunately, this means detaching ourselves from the code (which may not even be in use a year from now!).
Great read Matt, I remember our conversation and I must say you did surprize me.
Wow, loved this “campfire style story”, Matt.
I was feeling all the emotions of my stories of thrown away projects when you mentioned Uber China was acquired and your project was thrown away. 😢
This part was golden: “We engineers are not in the business of beautiful trinkets, we’re in the business of outcomes.” I think we often forget this, and get so focused on the code, the TDD, the frameworks that we forgot why, and who we are building for.
We build for businesses, and for humans at the end of the day – not for computers.
Nostalgi, Had written "Streamlit for Excel" - A UI framework that exposes section of the excel sheet as UI (Mobile/Web) and abstract away other cells & calculations.
UI completely reflects style of exposed excel cells ( Row/column merges, content formats, alignmnt, borders, font style etc)
It was intended as a way for business users to quickly create mobile/web UI for their calculations and get analytics on how customers were interact them.
The code is clever!
A very good example of how to keep the logic (in the headless websheet) separated from the UI.
This may inspire many frontend devs whose code is a mess.
At Zynga one of the analysts asked if we could iterate an algorithm in SQL, so I told him to cut and paste it five times and look at the error. He was actually happy with that (just wanted whatever one-off hack would work) but if we'd had this it would have been even better.
Thanks so much for your advice . Sometimes I put too much sentiments to my code and I feel disappointed when it’s thrown away when the project lost its business value.
+1 on stories about EMs
As I read this I feel compelled to point out: did you dodge a bullet? As your spreadsheet engine was originally for Box I would expect them to claim ownership, and I would expect Uber to claim next, but you made it to open source. Certainly a success story in itself!