Why do Serverless platforms and No-code tools become popular?
When you read the title of this post, you may ask why we are talking about two hot buzzwords that sound far away from each other in the same article. Is this post trying to catch the eyeballs with buzz words? The answer is no, and we are still discussing engineers’ career and skill-sets in the cloud era.
We believe the growing popularity of these two concepts share some common philosophy in building software on cloud (SaaS platform). As this newsletter is written for engineers to adopt the cloud era’s technology stacks, we believe talking them together will make us see some pattern in a more crystal clear way.
Note: btw, No-Code platform does seem to be a hot buzzword in startup and startup investment community; and Serverless paradigm does seem to be a rising hot concept in engineering community (we shared an academic group’s reasoning analysis behind it in our last post)?
Why does No-Code / Low-Code become popular? — building (programming) a business with its semantics but not syntax
One of entrepreneurs whose article I read constantly, Joe Procopio, talked about how business builders (a.k.a entrepreneurs) sees No-Code platforms. From his point view, he view no-code platforms as tools to enable business persons to “program” the business logics without focusing on syntax but focus on semantics, in his article “No Code Platforms Are Creating a New (Maybe Better) Class of Developers”.
…And with all that mental energy being tapped for creativity in the logic instead of wasted on the memorization of syntax, no-code might end up producing a more productive software developer.
To business persons, HTML is undifferentiated heavy-lifting for building their marketing website, and drag-and-drop site builders like Wix/Squarspace/… give them means to build the value differentiating their product (i.e., a marketing site) without concerning details of HTML, hosting plan, high-availability ...
New No-Code tools like Bubble enable entrepreneurs to build an (extremely early day version of) Airbnb with no code writing — read this tutorial if you want to build your own Airbnb. After following the tutorial, you can purchase a domain from GoDaddy (just for fun, while I am writing this post, I checked that hawaii-airbnb.com is still available and you can purchase it with $11.99).
The above version of Airbnb likely gives extremely limited functionality, probably does not even scale well, and for sure deserves a rewrite when the product have a lot of customers. But, given the fact that most products fail as we discussed in a previous post, and given that product managers need feedback data as early as possible, the building (at least the initial version) product with a No-Code platform is an obvious choice for use cases that are suitable.
Note: Sometimes using No-Code platform to build a product feels extremely limiting (and frustrating when you want to do something crucial but not available). If you feel so, please read the last section of this post. 👇
Why does Serverless paradigm become popular in the development community? — programming a product with its functionality but not with its infrastructure
In this post, we want to discuss the mind-set driving engineers to adopt the serverless paradigms, and its similarity to the mind-set driving business folks to adopt the No-Code platform.
Engineers’ primary job, when asked to ship a product, is to build functionality/features — that’s the core goal of the engineer’s business; but in traditional program paradigm, we have to worry about non-essential (but absolutely necessary) issues such as OS version, networking connectivity, firewall rules setup … — either we got blocked by another team who owns these functionalities (and we feel powerless); or if we are in total control, we feel scared by those daunting concepts (networking, route table, load balancing, failover…), just like Joe spoke loudly in his No-Code article
I now look at software code like a foreign language I picked up over a summer. I can hear it and I understand some of it, but I’m afraid to speak it lest I sound like an idiot.
When a typical software engineer talking about networking, security group and etc., I bet most of us will have very similar feeling.
Building a product in the serverless paradigm makes us focus on the logics we are trying to build, rather than the supporting functionality to make our code work. This is one reason we put No-Code and Serverless in the same post.
But there is one more reason…
Why does Google combine No-Code platform and Serverless Platform?
Recently, I found this news of Google’s organizational change: essentially, they combined the No-code tools, serverless platform under the same new development platform. Since we don’t work for Google, we can’t say exactly why they made the decision internally. But the decision seems to make sense for us as practitioners externally.
As rosy as the No-Code platforms paint themselves as the future of everyone being able to program, at the end of day, it’s still a process of “programming”, i.e.,
logical thinking, problem solving skills, and pattern recognition
which is essentially an engineer’s primary job.
Having used a couple of No-Code platforms for fun myself, I feel it’s still most likely used by engineers (or at least someone who had engineering training like Joe). Therefore, it’s all about making engineers to deliver products with much more efficient tools — that’s why I feel Google’s org change decision makes sense to me, and that’s the other reason we write these two buzzwords in the same article.
If Google sees the needs of providing the tools in the same category, do we as engineers take a moment to consider our skill-set evolution?
One last thing
If you think this post may interest some friends, please share with them, and we are looking for discussions/suggestions from different perspectives.