Damien Tournoud CTO at Platform.sh, explains why the predetermined “train tracks” of low code will never replace the developer’s need to go offroad with high code.
Some technologies take a few attempts to gain popular appeal. Virtual reality is impressive today, but 25 years ago Nintendo’s Virtual Boy was huge, clunky, and enjoyed little success. Various attempts to make VR a success failed until technology finally caught up with the vision. Low code has a similarly difficult history—it’s a concept that has been around for around 40 years with limited success, but the new wave of low code platforms is proving to be both popular and making a difference.
The promise of low code is that anyone can be a developer. Rather than the daunting prospect of an unfriendly text editor, unyielding syntax and hours spent hunting bugs, low code offers a visual drag and drop interface that’s intuitive and friendly. Will this new wave of popular low code tools usher in a coding revolution?
Where low code can help
There is a shortage of experienced developers, and it’s leaving many businesses with a problem. Businesses can and should invest in fixing the problem, hiring inexperienced developers and offering the training and experience they need. Hiring processes should also be overhauled to make sure that good candidates aren’t being rejected for bad reasons—there are plenty of roles requiring far more experience than is reasonable, including job specs that have required more years of experience in a language than that language has existed.
But this won’t solve the problem, certainly not in the short term. Understaffed development teams have to cope with a whole range of demands from the business, from the simple to the complex—anything from minor changes to creating entirely new products and customer journeys.
This is where low code can help—it’s not just developers who can develop. Everything is abstracted to a level that means creating a new product or application is simple. By slotting preprepared chunks of code together, there’s no risk of creating something buggy or that doesn’t work as expected. If coding is like building a house, doing the same in low code is more like assembling Lego.
But low code is not just about making life easier for an overstretched development team. It means more people can get involved with the process of developing new applications, people who may have a far better idea of what the user wants than the developer. For example, low code is often used to create employee portals by Human Resource departments, without the need to go through a development team. This is the type of task that is easy to slip down the list of priorities, but with low code it can be created exactly as the HR team want it, without taking up valuable developer resources.
High code and skilled developers will never be replaced
Low code is already working for many businesses, and more are starting to take notice of what this technology can do for their businesses. Developers may be worried—could this highly-automated way of creating applications make them obsolete?
Hardly. Low code is the train tracks of development. Using low code means going to predictable places, already mapped. There is no real innovation here, just new ways of remixing chunks of code that have already been written.
High code, on the other hand, is more like an off-road vehicle. Because it doesn’t have to follow pre-determined routes, it’s free to go wherever it wants to. It may take more skill to operate, but the upside is the possibility of exploring unmapped terrain. High code will always have a place, for several reasons.
- Security & visibility—Using low code platforms means using code that can’t be easily inspected. There has to be trust that the creator of the low code platform is following best practice… but there’s really no way to know. You’re essentially working with a black box. Some businesses do not use low code for “mission critical” applications because of this worry—hardly a sign of trust. High code is not inherently secure, but it is visible and developers can examine the code to find vulnerabilities.
- Data—Any business dealing with customer data needs to know where this data is going and who has access to it. The black box of low code is again a problem here. Some low-code platforms allow users, who may have limited understanding of the need to control data, to make decisions about permissions and access controls.
- Auditability—Working with high code means being able to work with well-established systems of versioning and collaboration, such as Git. Every change made can be tracked, issues can be raised and discussed, suggested changes can be created, reviewed, and implemented.
- Power to the people: automating with low code
- The low code conundrum and its impact on business operations
- New Salesforce innovations empower creators to build apps with low code
- Low-code, no-code: What is it? Could it be the answer to bridging the digital skills gap?
There is no “winner” when it comes to low code and high code, just as there is no one programming language that has won out over all the others. It’s all about suitability for the task—low code is perfect for some applications and entirely unsuited to others. No sensible business will choose one over the other, or will attempt to use low code as the only solution to the developer deficit.