A few weeks ago i had a small chat with some colleagues about the power of low-coding (this was once called visual programming languages) and the workflowification of - well… everything?! i was confronted by two completely opposite standpoints: For one there is “the more we can abstract, the easier it is for everyone to achieve what they want”, which i get. Most (and by most i mean almost everyone among us) programmers are annoyed by tedious tasks like ‘let’s consume this rest api and store the values in a random-sql database’. I get that point. I get that we want our consultants to be able to do these tasks themselves. What i figured and experienced up unitl this point is the following: Non-programmers are very likely to not know the limits of the systems they sell.. It’s all fun and games until the first customisation that was not considered normal by the project lead of the workflow-management-system-creator needs to be done. Saying this I by no means want to attack anyone who’s creating such a workflow-centered language or process or system. Anyone who’s built a (software-)system knows that there is a threshold to features that are useful for the general public and there is a point where new features barely even offer diminishing returns.
Once a user (this is the consultant selling their knowledge here) hits this point there is no turning back, because a) the feature is already sold to a customer at this point and it is sold without b) taking further development needs into account. Some companies have development teams for these cases, less have enough developers that are able to at least provide a quick fix. And even less people are ready to acknowledge that they made a mistake.
I’ve got to admit that if we are talking about a homogeneous systems the implications are rather slim. As soon as there’s a third party system involved i feel that many bricks are crumbling.
Now we’ve got the other side to consider and here i make a very bold and very subjective claim: Why are we trying to make things as easy as possible instead of cherishing that there are people that are interested and skilled in the kind of complex tasks? Why is it that i feel like these people (most of them are consultants but i don’t want to single them out) consider us developers are obsolete until they really do need us? This is a very emotional topic for me. Because i think most of us don’t even appreciate the ones that are interested in the technical deep-dives. It’s all python until we care about types, it’s all C# until we care about speed. We are not valued for the things we know, we are measured by the things we sell. And we sell most of the things that are easy to do. And then we’re told that we can automate these things with workflows. And so we deprecate ourselves, for others' benefit. We even sell pre-trained tensorflow-models that are everything but made for a specific use-case, build several layers of workarounds upon them and call it good enough, instead of taking the time to figure out how to offer a good and working and efficient solution. And this is something I experienced myself.
I hate the fact the it’s good enough to know where to put a call to a function instead of knowing why this call is being made.
I’m not saying that I’m the prime example for someone who’s a diver, I just don’t want to feel like my time in companies is bought on mistakes. One might argue that I’m fighting modern development. And I do know that this view is very limited to SME with a consulting focus. But this is where ‘old businesses’ lie, isn’t it? This is all too german, where technical progress is ‘we are now using e-mail for communication’. We are appreciated for the words we don’t say, for the things we keep to ourselves.