Updated: 6 days ago
Years ago, I was the content manager of a company blog. The blog was built in Jekyll and hosted on GitHub Pages via a Jenkins CI pipeline. The entire content publishing workflow took place on GitHub, which meant all blog changes—copy changes, new blogs, edits—mirrored a development workflow.
But there was a problem: the blog was huge, with over 2,000 pages, and included content like GIFs and images. There was no such thing as an incremental build; with each deployment, build times were anywhere from five to twenty minutes long. We could not schedule posts. GIFs or images that didn't meet exact specifications made tests fail and we couldn't always get the design resources we needed to resize images at a moment's notice. Instead of spending most of my time editing blog posts and working on blog strategy, I spent the majority of my time trying to figure out why a test failed or in Slack DMing the site engineering team for assistance.
The end result: blog publishing was a heavy process that left both my team and the site engineering team feeling like they couldn't address other high priority work. How could we have solved the problem?
In this instance the solution could be a content management system (CMS), allowing one department to make quick, content changes at a moment's notice and freeing up engineering resources to do other work on our platform infrastructure. While implementing a CMS requires significant engineering work upfront, it would have benefitted both teams in the long run. And a CMS wouldn't have made the site engineering team irrelevant; it would have shifted their focus to other things.
In this post, I offer five ways that no/low-code tools benefit coders and non-coders alike.
1. No/low-code tools teach non-coders how to break things down. One of the benefits of learning to code is learning how to break down a solution into smaller steps. When someone uses a no/low-code tool, they learn to frame their problem clearly in order to figure out the steps they need to take to get to their ideal state. In a previous role, my team created a large, complex database in Airtable. When designing the database, we had to think about data the way a database designer would: what data would we collect, how would it be used, how would we model objects, what were their attributes, and how did objects relate to one another. We weren't using the vocabulary a database administrator would but the problems were the same.
2. No/low-code tools democratize development. When PCs were developed and graphical user interfaces were introduced in computer software, some programmers feared user-friendly GUIs would endanger software development. But this wasn't the case; it helped the development landscape evolve. Similarly, no/low-code tools enable non-coders to create sophisticated solutions that are relatively complex in nature—ask anyone who has automated their entire client onboarding experience using Zapier integrations. Some of these non-coders may eventually decide to learn to code in order to have even more control over their experience. And no/low-code tools put them on that path.
3. No/low-code tools gives non-coders ownership over their solutions. Anyone using a no/low-code solution understands their own problems, needs, use case, and preferences. No/low-code tools allow non-coders to choose the right tool for their job. It gives them the agency to go with what they want instead of a solution that was decided for them.
4. No/low-code tools remove bottlenecks and unnecessary overhead. Imagine a world where other departments weren't inundating you with requests to build dashboards, custom reports, or make small changes to the website. What would you do then? While no/low-code tools aren't a solution for every use case, they eliminate the need for engineering resources at every step. With the right constraints, non-coders in different departments can use no/low-code tools to quickly create a solution that may take the engineering team weeks to address due to competing priorities. Engineering teams can move away from being inundated with change requests for things that other departments could address themselves with the right tooling in place.
5. No/low-code tools helps people not reinvent the wheel every time. No/low-code tools aren't only for non-coders. No matter what kind of developer you are, there are some things you'd rather not do. Developers use no/low-code tools for managing their businesses, personal sites, and automation for personal projects.
Software development is not at risk of becoming irrelevant because of no/low-code tools; these tools bring unique challenges (like security) that require developer involvement to answer. The introduction of the GUI did not kill software development; it heralded a change to the field and to user interaction. Similarly, no/low-code tools make building things for an interconnected world more accessible to people who don't code. They allow all users to handle complexity using a different approach. No/low-code tools won't upend development; these tools are made by developers after all. But it will give developers the option to find new problems to solve, and may even inspire non-coders to give software development a try.
To receive more posts like this, sign up for my Developer Content Digest newsletter.