Low Code: Are Developers Still Needed?
Have low-code solutions subverted the need for developers? Are experienced software developers going the way of the dodo? Read on to find out.
Construction illustration vector created by storyset - www.freepik.com
Traditionally, organizations have subscribed to and bought large complex software to solve big business problems. This isn’t changing. Advancements in artificial intelligence and machine learning have made robust data science and business analytics software possible. However, organizations are still forced to work within the confines of the vendor’s prescribed methodologies. There’s often very little wiggle room.
The alternative is commissioning expensive customized software. This usually involves contracting a software development firm or hiring experienced software developers to build the required business applications. Unfortunately, this isn’t always financially feasible, particularly for small and medium enterprises that contribute up to 44% to the US GDP.
No-code and low-code solutions have made previously inaccessible customized software development tools available and more affordable to SMEs and individuals with virtually no coding experience. However, have they subverted the need for developers? Are experienced software developers going the way of the dodo? This guide will examine these questions and prove why software developers are still necessary.
What is Low Code?
Low-code and no-code solutions describe visually oriented software development platforms that enable users to design and build applications. It often requires very little or no coding. Thus, they can be very useful for professionals with very little coding experience such as business analysts, office administrators, small business owners, etc.
Recently, we’ve seen a trend where start-up companies have strategically chosen low-code software development approaches to reduce development overhead and accelerate the pace of innovation. Low code and no-code platforms will automatically generate all the required code in the background while supplying users with a graphical interface to help them design their applications.
Some low-code elements can be found in complex integrated development environments. For instance, GUI builders. Even with the existence of low and no-code platforms software developers were still required to write the more complicated elements of the application.
But as low-code and no-code solutions advance, this may become less necessary in the future. We’ve already seen no-code and low-code solutions for machine learning and AI. So, should software developers be worried about their job security? The short answer is no.
Reasons Why Developers Are Still Necessary
No-code and low-code will not outright deprecate the need for developers. However, it will require software developers to retool and rethink their positions within tech. This process will involve incorporating off-the-shelf solutions to support the non-unique aspects of application development.
Instead of building fresh new complex solutions to support a business requirement or idea for an application, the future developer’s focus will be on trying to connect tools, solutions, and endpoints. Of course, there will always be new code that is part of your intellectual property but we must revise the steps required to get there.
Most low-code and no-code platforms still require the inclusion of external APIs and libraries to help extend the functionality of applications. For instance, if you need your application to retrieve the current local time, you may opt to use a web service such as WorldTimeAPI.
If you’re trying to build an in-house application with a feature for monitoring websites, you’ll need access to an API that can facilitate this function. While many low-code tools supply suggestions or easy API integration, there are limitations. APIs often need to be configured which requires experience and expertise.
Furthermore, your low-code platform simply may not have the most optimal solution for your requirements. Thus, if developers can’t find an external solution that aligns with the use case requirements of the application, developers must sometimes write an API or plug-in of their own.
In any event, the developer will be required to connect all these disparate pieces and make them work. This skill is crucial for complex business environments that have multiple moving pieces.
Configuration and maintenance
Even machine learning and data processing engines that have been built using low/no-code require configuration and substantial amounts of data. This will require experts to find and manage the correct data feeds and sources.
Even building simple applications with some forms of persistence will require the use of computer data storage. Essentially, you’ll need to dictate how the application will store its states. Which could mean configuring the application to store its data on a file or a database (or a combination of the two). This gets trickier if you’re storing the application's persistence and general data online or on cloud storage.
Additionally, you may decide to alter your data source in the future as your application requirements change or as your business grows. If you’ve previously built a database, you may want to plug your new low-code created application into it. In most cases, all these conditions will require someone technically adept.
Teamwork makes the dream work
Software development methodologies such as DevOps and CI/CD attempt to promote faster software deployments and updates. However, they wouldn’t be as effective without the collaboration of various IT and software development assets ensuring that the software is launched and distributed as smoothly as possible.
We briefly discussed how connecting tools and workflows will be the developer’s main focus in the future. This will still require a collaborative effort between all the software creators. You still need different experts to build business software as optimally as possible. Large relational databases require experienced administrators to maintain.
Front-ends and web pages require GUI and UX designers. You’ll need backend developers to build and connect the backend logic. Low-code development platforms purport to provide you with all-in-one solutions that incorporate all these elements. Unfortunately, they often result in some very janky results that cannot compare to software built by an experienced software firm. This may change in the future, but for now, low-code platforms are best for automation and nitty-gritty solutions.
Monitoring and managing scale
This plays into our last point. Business requirements evolve and change over time and of course, so will your business software requirements. Trying to get your non-IT staff to somehow make the required software changes isn’t very efficient. It distracts them from their primary responsibilities and adds unnecessary strain to their workloads.
Expanding and franchising should be the dream of every small to medium enterprise. This will require employing the right tools and staff. Using a no-code or low-code approach may be great while you’re at the building stages or connecting the dots. However, if you plan to scale your business as efficiently as possible, you’ll require some tailor-made options that can only be delivered to you by experienced software developers who know what they’re doing.
Furthermore, these software developers will be able to manage your business applications for you by adding necessary updates. You can still keep some of your low code components. However, if you hope to progress, you’ll need beefier options.
Cybersecurity is the biggest concern when it comes to using low/no-code platforms. Firstly, many low-code development environments do not give you access to the generated code. This leaves you with very little visibility.
Thus, you can’t know what vulnerabilities are present in your applications or the low code platform itself. In most instances, you don’t know how securely it’s accessing important assets and there aren’t a lot of ways you can change this.
Then there’s the question of creating secure applications using low code. Low code platforms can be quite inflexible. In many cases, you must use the encryption the low code solution provides you with. If bad actors can crack the type of encryption your low code platform uses to create the security elements for apps, this puts every individual and company at risk.
Your best option is to request a software bill of materials that will allow you to see the “ingredients” that have gone into creating the low-code platforms. You can also select vendors who have a reputation for providing secure software.
However, in this regard, using security conscience software developers provides you with more control. They can implement the latest cyber security standards and practices as they build your software. Most organizations require dynamic made-to-measure solutions for security. Fully customized software development ensures more control and more robust testing. You have full visibility into all the components present in your software.
Despite the popularization of DIY and citizen developers is yet to fully pose a threat to the professional software developer’s job security. Of course, as low-code tools become more sophisticated, this may change in the future. However, even then they will not eliminate the need for software developers. They will only force the job requirements to change and evolve as all innovation does. However, at least for now, low code tools can be supplementary to the customized software development experience but they aren’t ready to completely supersede it.
Nahla Davies is a software developer and tech writer. Before devoting her work full time to technical writing, she managed — among other intriguing things — to serve as a lead programmer at an Inc. 5,000 experiential branding organization whose clients include Samsung, Time Warner, Netflix, and Sony.