Technology: The future of coding

This article first appeared in Enterprise, The Edge Malaysia Weekly, on March 9, 2020 - March 15, 2020.
-A +A

Tim Hendricks, a Dutch national, was headed to Japan to explore new markets for a technology consultancy when he accepted an ad hoc, three-week work assignment in Malaysia. An avid traveller and veteran of the expatriate lifestyle, he decided he would take on the work and be on his way to Japan in three short weeks. Little did he know he would end up meeting the love of his life and eventually settle down in Malaysia.

“I tend to go to expatriate meet-ups with this network I belong to whenever I am in a new country. I think it is important for me to meet local people and take in as much culture as possible. It was at the Malaysian chapter of this network that I first met Ellice Ng,” he tells Enterprise.

After a whirlwind romance, the couple tied the knot in 2018. Then, they took another big plunge — going into business together. Today, Hendricks and his wife, co-managing partner Ellice Hendricks-Ng, run Orangeleaf Consulting.

The company specialises in overhauling legacy computing systems, replacing outdated hardware and software with personalised software and tools developed on what is known as a low-code platform (LCP). There are a number of low-code platform providers in the market and Orangeleaf has partnered Mendix, an LCP operator headquartered in Boston, Massachusetts.

An LCP is essentially a digital canvas on which users can build unique enterprise-based applications (of varying complexity and scale), using a vast array of essentially boilerplate visual cues and objects. Historically, programming and coding for software development entailed writing potentially millions of lines of code to develop a piece of software, whether for mobile or desktop use. Unsurprisingly, this is a cumbersome and highly specialised process.  

For his part, Hendricks manages the Mendix LCP and builds the initial software and tools that will eventually phase out a client’s existing legacy computing system. He also conducts exhaustive training sessions with clients and is sure to include both IT and non-IT personnel in the training sessions. Hendricks-Ng runs the office and handles marketing and business development.

The idea is to eventually hand off the tools and software to the client to run and manage themselves, albeit with ongoing technical support from Orangeleaf as needed. The training is necessary because of the inherent beauty of LCPs — they are approachable enough that they can be used by non-IT personnel without a background in programming.

Hendricks explains, “This technology enables businesses to create their own tools and software much faster than before, and with far less need for large amounts of coding. Given the speed of innovation today, even big corporations with thousands of staff struggle to meet their IT needs and programming demands. And as one may imagine, that problem is even more acute for the small business community.”

According to Hendricks-Ng, many of their clients are concerned with interoperability within their legacy systems. In the vast majority of cases, an overhaul on the scale that Hendricks is referring to occurs in phases over an extended period of time. As one section of legacy systems is removed in favour of LCP-derived tools, those tools must be able to work seamlessly with the remaining legacy systems.

“For us, it is about balancing the need to ensure a seamless transition between both systems and bridging the gap between previously walled-off IT departments and the company’s business units,” says Hendricks-Ng.

 

How LCPs work

Ordinarily, a professionally certified programmer would have to write tens of thousands of lines of code to accurately define the many options available to staff when they log into and interact with their company’s annual leave application webpage.

With the advent of LCPs, however, a user with little to no programming knowledge could map out the appropriate options and the subsequent web pages that those options would open. They would do so in a “drag and drop” fashion, iterating on a blank screen, aided by a vast database of objects with unique functions and objectives (imagine a particularly substantial mind-mapping project to get an idea of how this process would look like on-screen).

According to Hendricks, arguably the biggest leap forward is in the fact that LCPs enable users to focus on being creative with the development process. “Traditional software development consists of 70% redundant and mundane tasks while 30% tends to revolve around the truly innovative and interesting things such as building out unique banking app functions or AI-enabled voice recognition functionalities.”

In this regard, LCPs represent the latest generation of coding technology, he says. “Programming as we understand it, started out many decades ago with binary code. This refers to the process of developing programmes by writing lines of code consisting of just zeros and ones.”

A particular combination of zeros and ones — known as bits — could then be used to define a simple function. By stringing an untold number of bits together, it was possible for early computer programmers to develop perhaps a very rudimentary calculator, accurate for a finite set of calculations. This was the first generation of programming, according to Hendricks.

“As you can imagine, one needed an inordinate amount of time just to get very small programming tasks completed on the computer. It would take weeks to get very simple calculations done. So, years later, the early programming community went on to develop the so-called second generation of languages,” he says.

“Make no mistake, this second generation of languages was still very clunky and difficult to use, but it was so much more user-friendly than binary. And then in the 1980s and 1990s came the third generation of programming languages, which is where we are right now in Malaysia and throughout a lot of the world. Languages such as Java and C++ are some of the more famous examples of third-generation programming languages.”

Programming language has had to evolve over the decades because it was simply too inefficient and cumbersome for humans to communicate in the base programming language that computers can understand (which continues to be binary). As the demand for more complex functions grew, early programmers had to develop programming languages that were more user-friendly and substantially more efficient to communicate with computers.

For perspective, imagine having to make a perfect reproduction of Shakespeare’s poetry using prehistoric cave paintings. It would be quite impossible without relying on the far more advanced linguistic tools that we now take for granted. The same can be said of the evolution from binary to the current crop of modern programming languages, capable of communicating far more advanced functions to machines.

“But we have been relying on third-generation languages for a very long time. There has been an increasing push to move into a new generation of programming, the sort that would be more accessible to those of us without a deep technical background,” says Hendricks.

This is a major, multibillion-dollar gap that LCPs are going to plug over the next few years. The numbers certainly bear this out.

According to a November 2019 article by Forrester Research, LCPs are a key innovation trend to watch out for. In 2019, just 37% of developers in Forrester’s worldwide survey were using or planning to use low-code products. The company predicts that by mid-2020, this number will rise to more than half the developers.