Amazon has become the latest tech giant to produce a no-code tool for building apps. This tool, dubbed “Honeycode,” is currently in beta; like other low- and no-code tools, it offers a set of templates so that even employees with virtually no coding experience can get started building simple apps.
Those templates are all business-oriented (“customer tracker,” “event management,” “field service agent,” etc.). From there, users import their data and select interface elements such as lists and buttons. Once those are set, they can move onto building “trigger-driven actions” and functions:
With this latest move, Amazon is competing head-to-head with Google (which offers Google App Maker) and Microsoft (which has PowerApps). For all of these firms, the ultimate goal is clear: A popular app-builder can increase the “stickiness” of the backend service, whether AWS or Azure or Google’s cloud services; if everyone in your organization is using App Maker or Honeycode to build simple apps, you’re much less likely to demand a switch to a competing infrastructure.
Are these tools an existential threat to developers and engineers? That’s a good question.
The Rise of Low- and No-Code
In the minds of many company executives, low-code and no-code tools offer the tantalizing possibility that employees with relatively little (or no) code experience can build useful business apps. As with so many things, however, the reality is a lot more nuanced, because development (as any technologist will tell you) is about far more than just coding; building a beautiful piece of software requires creativity and problem-solving, not to mention a solid grasp on everything from computer-science theory to the principles of effective UI/UX.
In practical terms, teams have used low-code and no-code tools to build very basic single-use apps. For example, if you wanted to create a mobile app that allows users to quickly access a database of resource articles related to a particular job, via their iPhone or Android device, these tools can make that happen. But if you want to create something far more complex, such as an e-commerce app, you’re almost certainly going to need a development team working with traditional tools.
That being said, no- and low-code tools could (and most likely will) evolve. Google’s Game Builder platform, for instance, hints at a future where “citizen coders” armed with little more than some moxie and vague memories of an Intro to CS class can build a pretty complex game or app via drag-and-drop. But that future (if it ever comes) could be quite a long way off.
Then you have code “autocompleters” such as Deep TabNine, IntelliSense (part of Visual Studio), and Kite. These tools leverage machine learning to predict what a human coder will type next, then produce a small code snippet that will (theoretically) fit. Deep TabNine, for instance, relies on neural networks for its “smarts,” while Kite claims its new deep learning model will allow it to rapidly scale up to handle multiple languages.
For these autocompleters, the challenges are twofold. First, the tools require comprehensive databases to create the necessary snippets; depending on the target language, those databases must also be updated frequently to take new frameworks and libraries into account. Second, the development team must build a training model that actually makes the autocompleter effective.
Those are some staggering challenges, and it seems unlikely that autocompleters will quickly evolve to the point where someone with a minimum of programming knowledge can use one to code with the elegance and skill of a master coder. Nonetheless, the tools could make software-building a little easier for teams that lack resources, time, or skillsets.
To loop back to the earlier question: Are these tools a threat to developers and engineers? The answer is likely “no,” for the reasons listed before: Building software is about more than simply churning out lines of code or determining where a button should go on an app home-screen. For ordinary employees, though, no- and low-code tools could actually serve as a tantalizing introduction to the wonders of programming; perhaps that first experience with building an app could lead them to become a full-time programmer.