Lo-code No-code

 

Loco Moco™ - Cafe 100 - Hilo, HI

 Loco Moco

What is no-code and why?

A fair amount of the work we do as Software Engineers is repetitive, low value-add work.  Relatively speaking, our time is expensive.  The tendency in technology is to gain efficiencies by moving to higher levels of abstraction.  We've moved from circuits to operating systems to higher level languages.  Computing has come a long way.  However, progress is slow compared to the pace of competition most of our employers operate in.

The business tends to view engineering as a (expensive) cost center.  The war on costs is ever present.  Engineering costs are no exception.  With every small victory the front line is simply shifted.  In the late 90s we saw the rise of outsourcing which gave birth to the H1B.  Recently there's effort to shift the labor supply curve with coder boot camps and even social trends such as women in STEM.  Each is a topic on its own and by no means invalidated by the cost argument.  However they all are motivated, at least in part by the drive of business to lower costs.

No-code is a single tactic among these. It involves creating tools and frameworks that largely automate the low value-add type work engineers do.  This includes building scaffolding code, allowing business users to drag and drop design UIs, etc.

Software Engineering > Programming

Software Engineering at Google is described as, "...programming integrated over time."  While programming itself generates the functionality that eventually adds business value, there's a great deal more complexity and effort that is required of the software engineering practice due to this time dimension.  No-code strives to automate programming portion of a software engineer's job.  The remaining, arguably more substantial portion remains.

According to Kalzameus, "If you call yourself a programmer, someone is already working on a way to get you fired."  No code hasn't changed this.  The threat to programming may well be programming's fraternal twin.  They've been paired since birth.

Why now?

Management invests to grow the business and reduce costs.  Investing in software resembles investing in machinery and equipment.  There's an initial outlay followed by a gradual return and depreciation.  Except software is not machinery & equipment.  It's not even an asset.  It's generally agreed that software is a liability.

Towards the end of each tech bull market I've seen no-code (and AI) hype, no doubt to try to address the pressing need to reduce costs as the economy contracts.  In dotcom, Cold Fusion and Rational Rose code generation were two variants that I experienced first hand.  Often these types of tools work well until you have a use case that falls outside of their expected behavior.  At that point the tool becomes far more complex and expensive than vanilla code.

The efficacy of these tools is a topic worthy of its own article.  Effective or not, if they are widely adopted they won't replace us but rather change the nature of our work as software engineers.  We'll be moving data around using different frameworks. We'll probably spend more time refactoring generated code and monkey-patching missing functionality to fit our needs.

Personally, I expect the use of tools like ChatGPT to prove highly beneficial to enhancing the efficiency of engineers.  Tools that empower subject matter experts tend to be more effective than tools that attempt to supplant that expertise altogether.

If we're lucky it works well.   According to this article, "If anything, no- and low-code tools could free up technologists’ bandwidth to focus on company strategy and more complex challenges.

Comments

Popular posts from this blog

Engineering Truisms

The Telescoping Constructor (Anti-Pattern)

A Strategic Approach to Precision Process Automation