The Low-Code Revolution Is Here. What Does It Mean for the Future of Software Engineering? was originally published on Springboard.
For its 2021 Super Bowl ad, Squarespace commissioned Grammy-winning country singer Dolly Parton to remake her hit song “9 To 5” as “5 To 9,” an ode to the small business owners who abandon traditional desk jobs to launch their own ventures.
Drag-and-drop website builders like Wix, Squarespace, and Webflow are just one example of a slew of “low-code” or “no-code” platforms designed to empower people who have an excellent idea for a software product, but no knowledge of programming or markup languages. Traditional software development, on the other hand, entails writing code line by line. Programmers need an in-depth understanding of computer environments, programming languages, testing protocols, and deployment processes.
Squarespace isn’t the only company trying to position the “low-code revolution” as a catalyst for entrepreneurship. E-commerce platforms like Weebly, BigCommerce, and Shopify enable small businesses to set up an online store simply by uploading photos and descriptions of products, setting prices, and establishing a payment method. Beyond these bare-bones features, users can add automated workflows that would traditionally require knowledge of domain logic (AKA business logic), the part of a software program that encodes real-world business rules—for example, setting up automated reminder emails for customers who abandon their cart or adding a sales tax function at checkout. Open-source tools like Square and Magento are available for free, and, because they’re open-source, developers can access the source code for full control over the site’s design and functionality.
“Prior to companies like Shopify coming on the market, people would always assume that creating a website costs a lot of money and requires hiring people with programming and web design skills,” said Peter Nsaka, a senior software engineer at Shopify and a mentor for Springboard’s Software Engineering Career Track. “What these platforms have done is reduce that barrier to entry.”
According to TechCrunch, companies in the low-code sector were on pace to raise $500 million in 2020. Meanwhile, Gartner predicts that 65% of application development will be low-code by 2024. Airtable, a no-code cloud-based platform for creating and sharing relational databases, garnered $185 million in venture capital funds in 2020 after adding low-code features. Part spreadsheet, part database, Airtable’s platform allows non-programmers to write SQL queries through a graphical interface. More advanced data wrangling tools like Domo enable users to build ETL data pipelines by creating workflows in a visual environment using drag-and-drop components—almost as simple as building an email automation workflow in a CRM tool—work that is typically done by a high-paid data engineer or data scientist.
However, these tools don’t replace data practitioners; they automate certain functions so that data professionals can work more efficiently.
“The Prophecy SaaS version will enable even small teams and organizations to be incredibly productive,” said Raj Bains, CEO of Prophecy, a drag-and-drop platform for data pipeline development. “For the first time, they won’t have to spend time on coding and putting open source technologies together; they can instead focus on rapidly adding business value.”
Low-code vs. no-code: What’s the difference?
While the terms “low-code” and “no-code” are often used interchangeably, they each represent a different type of software serving a subset of users and business needs.
- No-code development benefits non-technical users who understand business needs and rules but have little to no coding experience. Some platforms serve specific use cases, such as blogging, web design, mobile app development, project management, product configuration, data visualization, and e-commerce, with prebuilt templates, pages, and workflows.
- Low-code development is for developers or those with some programming knowledge to add extra customization on top of the platform’s built-in features. Some coding may be required to integrate one platform with another by creating an API.
When WordPress launched in 2003 as a low-code content management system (CMS), the platform made it possible for the average Joe or Jane to start their own website or blog, thereby democratizing the world of publishing and web design. Today, 40% of all websites are run on WordPress, including sites for major companies such as Microsoft, Disney, Target, and even publishers like CNN and the New Yorker.
Generalized tools for developing web and mobile applications provide a consummate no-code playground for those who just want to build enterprise-grade apps without writing a single line of code. From designing a minimum viable product to shipping a full-fledged application, tools like Bubble and Retool feature a drag-and-drop editor, free and paid templates, and hundreds or even thousands of plug-ins that integrate with other programs, such as a database management tool.
Even tasks like robotic process automation no longer require code. RPA simply refers to deploying software robots that can perform repetitive yet essential tasks, such as logging into applications and systems, filling in forms, and completing routine analyses and reports. Parabola allows users to create a CRM workflow, automate e-commerce tasks, send metrics reports and automate email marketing. Traditionally, setting up RPA workflows requires building data pipelines between databases and enterprise web services on the backend, establishing business process rules, and writing “if, then” programming statements for trigger actions.
No-code solutions made for visual design and word processing are known as WYSIWYG, short for “What You See is What You Get.” WYSIWYG (pronounced “wiz-ee-wig”) is a type of computer editing software that makes it easy for users to create and edit documents, presentations, and other types of digital works. The interface allows users to visually see what their final result will be as they make it. By contrast, traditional editors require users to input markup languages to format text, images, and other components. Developers use markup languages like HTML to embed tags in plaintext that tell the browser how to display the content on a webpage, such as making a subheading bold or presenting a series of items as an ordered list.
In the past, visual design was the sole purview of those with knowledge of advanced software like Photoshop or InDesign. Simplified tools like Canva and Visme include templates with optimized dimensions for social media posts, video graphics, infographics, reports, and so on, unlike traditional editors that require users to start from scratch.
“Visme has made it easy for anyone to visualize statistical data and create great-looking designs, regardless of what they do or specialize in,” said Farzad Rashidi, director of marketing at Visme. “You don’t need to be a tech geek or a data scientist to create an animated visualization about the effects of climate change, for example. Doctors and health workers don’t need to spend a fortune just to create an engaging infographic that helps people understand the symptoms of COVID-19.”
No-code development still requires IT oversight, otherwise, people end up developing apps without supervision, which can result in software rife with security concerns, compliance issues, integration problems, and increased technical debt. No-code platforms also have their limits—namely, the constraints of working with pre-built templates and interfaces that can only be customized to the extent that the developers have permitted. Many no-code platforms enable integrations, APIs, or low-code features to allow people with programming knowledge to benefit from advanced customizability.
Low-code environments still require some programming knowledge but allow developers to work with pre-written code snippets rather than writing code line by line. Professional programmers use these tools to quickly deliver applications and shift their efforts away from commodity programming tasks to more complex work that has a bigger impact. Serenade is an AI-powered tool that allows coders to write code using their voice. Instead of relying on just dictation, the tool is trained to recognize natural language so you can describe manipulations to existing code like “delete class” or “add parameter URL.” The software is trained in common programming constructs, variable names, and other words used to write code.
“We wanted to create a product that was really easy to use, to the point where you could speak naturally, as you would in a conversation, and code would be written for you,” founder Matt Wiethoff wrote in a blog post.
Perfecting the art of abstraction
At the heart of low-code and no-code software design is a key concept of object-oriented programming (OCP) known as abstraction. The main goal of abstraction is to hide unnecessary details from the user. Abstraction enables the user to build more complex logic on top of the provided abstraction without understanding how it works—for example, setting up a series of automated emails by selecting conditions and corresponding actions from a dropdown menu without needing to understand how “if, then” control flow statements work. Internet browsers are a prime example of abstraction: you might not know how information is transmitted from servers to your computer; all you need to know is how to use your web browser to navigate the internet.
Low-code tools are primarily aimed at front-end development, which is easier to abstract than back-end development given that web design is more of a cookie-cutter process than building and integrating relational databases on the back-end. As a back-end developer, Nsaka says he doesn’t have much interaction with low-code platforms other than observability tools that allow developers to find bugs in the source code and monitor web diagnostics.
“Datadog is a tool that back-end developers typically use to create dashboards,” said Nsaka. “The process of creating a dashboard is pretty much drag-and-drop as well, where you can select graphs, bar charts, pie charts and drag them onto the screen. Something that would have taken two weeks if you had to code it on your own you could do in a matter of minutes.”
The rise of citizen development
While feel-good ads from software companies portray no-code platforms as being synonymous with launching mom-and-pop shops, low-code and no-code software platforms are widely used by enterprises as well as startups. In fact, the phenomenon of citizen development is on the rise.
Citizen development is a term used to describe the trend of businesses empowering non-IT personnel to collaborate with IT departments to build business applications. These citizen-made apps are typically used to create business process management tools, such as expense approvals. Gartner also predicts that one of the top three drivers for low-code adoption through 2022 will be businesses that want to develop custom solutions for improving automation in the workplace.
IT departments sanction tools and security and provide direction regarding app design and development, while non-IT employees focus on the actual application-building process. According to a 2017 report, 32% of organizations are now providing tools and training for non-IT employees to cultivate app development skills. Additionally, 20% of executives surveyed say that more than half of their business applications are developed outside of their IT departments.
The demand for business apps is expanding exponentially, often outpacing internal IT’s capacity to deliver them. IT resources are strained from overseeing regular duties of upkeep, infrastructure, and security, on top of fielding a mountain of app development requests. Research shows that 77% of IT leaders and 71% of business leaders agree that IT teams have a massive pipeline of new IT solution requests, which aren’t being built.
Also, there are times when non-IT employees may have a more accurate understanding of the purpose and audience of the app in question than a developer would. According to Salesforce, 63% of IT leaders believe that low-code solutions will reduce the length of the software development cycle.
“Application development is like raising a child: It takes a village, with each member contributing their specialty at the best time and in the appropriate context,” writes Scott Nelson, an IT solutionist.
How will the low-code revolution impact software engineering jobs?
While it’s easy to assume that the low-code revolution and the rise of citizen development pose an existential threat to the software engineering profession, the opposite is true. No-code and low-code platforms are built by qualified software engineers, even though the end product is intended for non-technical users, and demand for these platforms is skyrocketing. Dublin-based market research firm Research and Markets predicts that the global low-code development platform market will generate $187 by 2030, rising from $10.9 billion in 2019.
Enterprise citizen development projects still need to be overseen by IT departments for legal, security, and compliance purposes. While low-code and no-code solutions give non-technical users the tools to build websites, mobile apps, and RPA workflows, software engineering requires domain expertise, problem-solving skills, knowledge of technical constraints, and the ability to reconcile business needs with user expectations.
If anything, the rise of low-code and no-code software will lead to more software development and an increased need for software engineers to build these platforms and oversee the work of citizen developers. From an ideological point of view, they put the power to build things in the hands of the people, while enabling employees without programming skills to contribute their skills and potential.
“I don’t really see the role of a software engineer being diminished by the fact that there are now way too many no-code tools,” said Nsaka. “No-code tools are built for people who have no interest in software engineering, but have a need for its byproducts.”
Learn to code like a pro with Springboard’s software engineering career track program. To find out more about software engineering careers, job guides, and salary information, check out Springboard’s comprehensive guide to becoming a software engineer.
The post The Low-Code Revolution Is Here. What Does It Mean for the Future of Software Engineering? appeared first on Springboard Blog.