Hacker News new | ask | show | jobs
by atoav 587 days ago
Excel is powerful, but it is also important to consider its limitations.

Things will get real when your orgs problems/needs grow from something that was totally cool to do with spreadsheets to something requiring higher complexity, performance, resilience, testability, coordination, ... — and the point at which you cross over into the latter is not always clearly marked.

It would for example not be advisable to use Excel sheets as a replacement for a distributed database of central importance, unless your org is a lemonade stand with 3 employees.

I would also prefer maintaining a python script with written tests over maintaining an Excel file containing complex business logic, but maybe that is just personal perference.

Don't get me wrong here, Excel is amazing and we should all use it where it shines. But as with all tools we need to be aware of the fact that they heavily color the way we look at problems, as expressed by Maslows famous aphorism: "If the only tool you have is a hammer, you tend to see every problem as a nail."

Good engineers should not be blinded by their tools, but accutly aware of their limitations and know which to use when. Just like with hand tools you could probably also just hammer a nail in using a shovel or "drill" a hole using a screwdriver and Excel is very versatile in those regards: it can get you very far without being the best solution, a bit like a swiss pocket knife.

3 comments

You are totally correct but, pragmatically excel can be used as a prototyping system for nearly every business and if you need to have higher complexity you port it into a Python script. This is not unheard of and I think it's a common pattern. When you have your business analysts already getting something that works its much better than having a set of meetings trying to discuss what the needs are from the business.
Yeah but that is what I meant with the right tools. Anybody would agree that drafting your application on a big whiteboard or a piece of paper might be totally acceptable.

But running your entire org on a single whiteboard or a piece of paper only works up to a certain size and comes with downsides as the org grows. Same thing goes for one big excel file where people have to take turns with editing.

I get what you're saying, and agree with lots of it, but most of the time things built in Excel are not for programmers, usually have no maintenance budgeted, and often are built by non-developers.

To extend your analogy too far, Excel is the 4mm allen key you get with all your Ikea furniture. It's good enough to build all the bog-standard, functional but not particularly nice furniture you need, but sure you'd rather have bespoke custom work. Sometimes you don't have or want the tools, or know how to use them and that's OK.

Which is precisely my opinion as well. My post was a caveat, nothing against Excel at all.
What would be nice though is if you could export logic from excel to examine it and port it.

One can dream

You easily could. Format is available.

What I found is such tools barely work because what makes Excel so sticky is ability for end user to change that logic. X + Y = Z. Well, Click Clack and Z -Y = F

That's just so difficult to handle in a way that isn't "Just use Excel"

Diffs in source control would be sweet