24 comments

[ 5.1 ms ] story [ 51.9 ms ] thread
I'm super sympathetic to this. Used to cynically point out that Excel was the most popular "notebook like" interface for computers.

That said, there are a few points against this as a complaint. First, is the incredibly important point that many many tools are people rediscovering pivot tables. There was a fun rant a while back about "your startup is just a pivot table." Hilarious read.

After that, visual workflows are clearly easier for people to understand. Just look at the directions you get with any "self assembled" furniture. Some of that, I'm sure, is to avoid having to translate a lot? Hard not to argue that it is still probably the more effective way to communicate things.

My final caveat is that the symbolic nature of program code is one that is largely lost on people. Specifically, people seem to think the software is independent of the execution environment that is necessary to understand in the language they are using.

I feel the real problem with excel is that it’s not reusable.

Otherwise it’s a decent tool, but the fact that you write your code in a cell that is so tied to other cells with non-useful names that it’s impractical to reuse is a reason why it sucks.

Whereas many of these visual worksflow tools at least can export to json and be manipulated programatically in a useful way.

In my experience orgs choose these low code tools because good engineers are expensive and many don't fundamentally understand the process of software development.

I've seen business-side product owners complain "why can't you just make it do XYZ this week, Excel can do that" without realizing the application is being built by like three people and if they want the feature roadmap to be on time -- that they themselves planned months ago -- doing something seemingly trivial might be a non-trivial refactor. Trying to keep them focused on the long term is like dealing with a toddler's attention span.

So then they get impatient and the business goes out and buys Salesforce, because it "does everything for cheap", and then they quickly realize if you want to do some non-trivial thing -- which their custom application of course needs to do -- they're shit out of luck or have to buy Marc Benioff a new island.

Weird, my fellow developers usually don't advocate visual tools like Zapier, but instead roll their own solution (non-visual). Which, to be honest, comes with its own problems.
I believe the writer is comparing local visual workflow programs against local Excel workbooks, that is: personal productivity tools run on a users local machine. This is a very important distinction.

The value prop of these "Low-Code No-Code" platforms has absolutely 0 to do with the actual "user/developer" experience being better/easier/more powerful and everything to do with the orchestration, inheritability, visibility, management, and security capabilities that these platforms provide. If I have 5 artisanal, bespoke Excel workbooks that my "developer" accountant runs locally to complete a part of a critical business process (and they invariably do) then I have 5 ways my business can come to a grinding halt when any number of things happens to that accountant or their computer. I would take 50 less powerful, rickety RPA workflows that I can at least see in a control room over those 5 Excel workbooks any day of the week.

It would be neat if we could divide programming into (a) software development; (b) other labor-saving automation that's less serious.

When a tool crosses from (b) into (a), we'd have to acknowledge that too. (Or ignore it and invite a blizzard of problems, which are now inexplicable because "it was done".)

Every thinking person already in fact does differentiate between (a) and (b) in their own work. So admitting it out loud and just talking about it may not be the apocalypse that many expect. But ymmv.

In a past life, I ran a tools/operations team at a big company for years and later was the product manager for a visual workflow/integration product for a number of years. I've been the IT department trying to manage the crazy things people in the org build, and later worked with hundreds of customers who wanted visual workflow tools for a long list of reasons that have very little to do with what this blog post describes.

I don't think the author understands why these tools exist or why people find them valuable, and there are a number of major issues with their position.

> Excel and visual workflow tools are fundamentally the same: point-and-click interfaces that let people build complex logic without understanding what they’re actually building. Excel uses cells and formulas, visual workflows use boxes and connectors, but the principle is identical. Both promise to make hard things easy.

While I sort of understand the point they're trying to make, I think it's problematic to call these "fundamentally the same" but then compare them on abstract characteristics. By this logic, a car and a bus are fundamentally the same because they both promise to get us from Point A to Point B. This of course misses out on a myriad of reasons cars and busses are quite different in practice.

> Visual workflow tools aren’t succeeding because they’re better, they’re succeeding because we’ve gotten lazy and scared.

These tools are succeeding because:

- They enable teams and individuals to build things they otherwise couldn't without involving central IT or some dev team

- They provide structure and promise to solve a host of operational/management issues associated with keeping an automation running in perpetuity

- They can often be charged to an expense card vs. requiring headcount, existing resource allocation, new budget, etc.

Is the result also a monstrosity? Possibly. But It's a monstrosity that is making something happen that otherwise wouldn't be happening.

And it's possible that the monstrosity will eventually need to be adopted/fixed by a real dev team, but again, that's a team that would never have gotten involved to begin with if someone hadn't built something that now needs to be "fixed". The team doing the fixing sees this as a problem, but the team who built the monstrosity got something built and into production and see it as a win.

It's entirely possible that a "proper" solution built by a dev team would have been superior. But that ultimately doesn't matter if the only way a thing sees the light of day is through the Excel/Visual Workflow Tool pipeline.

These products are not targeted at people who have the ability to build things from scratch the "right" way. And the reasons people/companies buy them usually fall into a few categories: resource constraints, politics, and managers/directors wanting to gain autonomy to build things for their teams without fighting for budget/prioritization with central dev/IT.

Excel is one of the most successful pieces of software of all time, so it's an odd choice for a punching bag. Plus, the tone of this article is (unintentionally, I'm sure) off-putting, particularly:

> You know what happens with Excel. Karen from accounting builds a “simple” spreadsheet to track expenses. Six months later, it’s a 47-sheet monster with circular references and VLOOKUP formulas that would make a mathematician weep. The company depends on it, nobody understands it...

It sounds like Karen did a valuable service to the company. She combined a technical skill set with her domain knowledge to create a system that was so successful that the company now depends on it. Cleaning up the technical debt seems like a task that's well worth the cost.

> ...And when it breaks (not if, when), guess who gets called to fix it?

I'm not sure, honestly. It depends on whether you want the fix being done by a resource you consider to be a cost center or a value center. The former will do the cleanup job for bottom dollar. The latter would team up with Karen to amplify the project's impact while cleaning it up.

For these reasons I think your analogy is not effective. I don't disagree with your thesis, though; I prefer code in almost all cases. But that's just me. I know for certain, though, that if I had stock options in that company in this hypothetical scenario I'd rather keep Karen around than whoever fixes the VLOOKUP syntax. And if visual tools are what empowers Karen... well, there you go.

> Excel is one of the most successful pieces of software of all time, so it's an odd choice for a punching bag.

So is Photoshop and Google Maps - the point of the article isn't bashing on Excel, it's about choosing the wrong tool for a job.

Thank you so much for this thoughtful comment. I want to start by sincerely apologizing if the analogy came off as dismissive or disrespectful. I didn't mean to diminish from excel at all, in fact, you've highlighted exactly why Excel is so powerful and why my analogy works, just not in the way I originally framed it. Let me clarify what I was trying to get at: Excel's success comes from empowering domain experts like Karen to solve real problems without needing a computer science degree. That's genuinely amazing and valuable. The "problem" isn't Excel itself or Karen's contribution, it's when the tool becomes the permanent solution rather than a stepping stone. My point about visual workflow tools was similar: they're incredibly powerful for rapid prototyping and getting things done quickly. But when professional developers (whose core skill is writing maintainable, scalable code) use them as their primary solution, we might be missing opportunities for more robust, long-term approaches. You're spot on about the value vs. cost center perspective. In Karen's case, the smart move is absolutely to work WITH her domain expertise while adding technical structure. Similarly, visual workflow tools can be fantastic for proof-of-concept or when you need something working yesterday. I think my tone came across as dismissive when I meant to be more reflective about when we choose the right tool for the job. Thanks for pushing back on this, it's made me think more carefully about how I frame these discussions. Both Excel and visual workflow tools have earned their success for good reasons.
If anything we need more Excels. Excel is coding for people who don't even know they're coding.

Karen from accounting made an entire app even though she's not a "software developer" by trade and people think that's a bad thing?

Totally agree. Excel is incredibly powerful, and people like Karen are doing real development, whether they realize it or not. My point wasn’t that Excel (or visual tools) are bad, it’s that when systems grow in complexity, they eventually need the same discipline, clarity, and maintainability that code provides. And that’s where things can get messy if we’re not careful.
I also agree with your sentiment. Excel is coding for people who are not programmers.

But I think the author conflates 1) engineering practices

2) Programming

3) Expressing domain knowledge using tables, charts and numbers

Most excel users do 3) They are certainly not programmers, and the do not follow engineering practices we associated with programming: modularity, hiearchical or functional re-usability, testability, etc

Excel creators do not reproduce bug reports, do not measure their success by the number of bugs they fixed, they do not do SDLC...

These are not particularly fault of excel. But as soon as there is a recognition that 'oh that excel workbook needs to be managed by programmers' -- then after a few month programmers realize that Excel and VBA macros are subpar programming environment, and will just argue that the way that the author does -- that it does not make sense to maintain a complex, business critical code within Excel.

So they will re-write it in Python or something else.

---

I think Ex cell's success in the business world is precisely because it allows non-programmers to bypass the whole SDLC and express their domain knowledge in a computational system.

As programmers, we want to replace Excel with something that

a) allows business users to do what they want to do, without SDLC

b) when their work reaches a certain level of complexity, we want the tool to allow us to gradually transition the work the domain users have done into an engineered piece of software with minimal effort, free of cost, easy to debug.

I do not think such as system exists yet, but that would be a killer app

(comment deleted)
A notable exception is MS Access. It was a huge productivity win. It did not work well with version control but otherwise, it let developers rapidly develop and maintain moderate sized solutions to common business problems. It was also extensible with plain text code when needed.
One place where Visual development tools almost always win is in problem domains that are intrinsically visual (think CAD, form designers, etc)
Excel is probably the only software I consider “perfect” and that is saying a lot imo.
This is a bit like getting mad that Adam Sandler made another movie. It costs you nothing that stuff other people like exists. Don't waste energy on it.
I agree that devs (and everyone else) are fundamentally lazy. I don't agree with the scared. People would rather spend time on things that bring them joy, and that thing which made them excited to work with Company X might be no more, or a whole other thing altogether, 6 months later. But they still need that paycheck, so they do what they can to offset the increasing pain and displeasure so they can continue.

The characterization of visual workflow tools is also an incidental affair: there are commercial tools, and there are open source tools. Just depends on the kind of support one wants, and many devs would love some decent support when some component breaks or something's missing, hence the more likely adoption of a commercial solution.

And in the end it's also just the next evolution of software development tools that's being sought. We moved from flipping switches, to boxes of punch cards, to Assembly, to C-like, to Python-like. We're looking for the next form, and 2-D node-like programming does seem an improvement over 1-D text, as text was an improvement over reams of punched paper. And there will always be those who continue to enjoy doing Assembly, even though the majority moved on to higher level languages, which will also be the case for the current and next level tools.

This article is missing something important: businesses are adopting these services in order to lower the required skill level of their headcount roles. If they can outsource the work to a worse product that is barely fit for purposes while reducing the pay and tier of the headcount associated with maintaining it, then that’s a total win so long as flexibility and resilience are lower priority than increasing profits by replacing a high-skilled programmer with a low-skilled worker.
In every project I’ve seen where someone has evangelized a visual workflow designer (bar none), the overriding argument has been that “power users”, can “manage” the business workflows.

In every project the business users have no interest in “managing” business workflows, so the developers that built the tool end up having to use the tool for them, implementing their business use cases.

Developers are much more comfortable with code. You cannot easily unit test visual workflow designers. You cannot easily version or put visual workflow designs into source control.

Whenever I see one of these projects I run screaming in the opposite direction.

Locode in general is an anti pattern. I’m specifically looking at Microsoft Dynamics and Power Apps, aka. Microsoft Access Online

I would like to be able to upvote this post 100 times.

Absolutely agree! I’ve seen the same thing happen. The idea that “power users” will manage workflows sounds great on paper, but in reality, it always falls back on developers. And once things get even slightly complex, I end up writing custom scripts anyway because the visual tools just can’t handle it cleanly.

At that point, you’re stuck using a tool that’s harder to debug, test, or version and still coding on the side. Totally with you on this being an anti-pattern in most serious use cases.

You can brute force via visual workflow tools and it will look impressive to your coworkers because of all the noodles. It's performative like all the shit people did in excel in the 90s.
With AI, this is about to get a whole lot worse.