Lo-code No-code
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
Post a Comment