Software Development
IT experts’ panel part 1: Mendix
07 Dec. 2022
We are starting our IT experts’ interview panel. We want to use it to bring you closer to known and lesser known nooks and crannies of IT. Today, we want to tell you about or rather present to you a lesser known subject, specifically the low code concept.
In order to do this the best way possible, I invited our employee, a person with over 14 years of professional IT experience and a certified Mendix expert, Bartosz Hetmański
AL: Bartek, thank you for accepting the invitation. At the start, please tell us something about yourself, how did your adventure with Mendix start?
BH: I started my professional IT journey in 2007, just after graduation. At first, I was a C++ developer and I was developing apps for embedded systems. Then, I shifted to the sales operation support. That was in 2008, when I started working with SF. I didn’t know what low code or no code was. It was only then that I found out about this classification and SF was practically the first low code tool I worked with. I worked with SF for a couple of years. Literally a couple, as it was exactly two. Then, I changed jobs and worked with Java. It was a small episode. Then, I went working for CS. The role involved developing tools based on a platform intended to detect financial fraud. You could say that it was somewhat a low code occupation. Then, at the end of 2017, I heard about Mendix and started to work with Mendix apps. That’s how my journey with low code started for real.
AL: Let’s maybe start from the beginning. What is low code?
BH: We must remember that there are low code and no code platforms. In no code platforms, there is no coding at all, you work with what you have available in the platform. You combine blocks and create an app from ready-to-use elements. Low code is 80% of no code and 20% of customisations, roughly. Customisations can be written in various programming languages. Whether it is Java, Javascript, also leveraging libraries like React, or even C++, there is no difference to the approach. This is the way of extending low code platforms.
AL: Mendix is such a platform?
BH: Yes, it is one of the low code platforms. It is a platform as a service, aka PaaS. It is a tool that you can use to create almost any app. I very much like that tool and I specialise in it.
AL: According to reports, Mendix is deemed as one of the most popular platforms. Do you agree?
BH: Entirely! You could say that Mendix is definitely the best low code platform I worked with. Why? For various reasons, e.g. because it has two development approaches. One of them is so called Citizen Development. For example, if you, Alicja, would like to start to learn Mendix, yet you don’t have a technical base or an IT background, but still you want to create an app, you can become a Citizen Developer and start making simple apps yourself. Just like that. It is an approach in which you are the end user and you can create such simple apps on your own. I, on the other hand, am more interested in the second development approach, i.e. bottom-up approach, which is more intented for IT specialists, and this is how I can make apps in Mendix as a developer. You can imagine that working with Mendix is like creating apps from Lego bricks. You have ready-to-use elements that you combine and they more or less match each other. You must have played with Lego blocks when you were a kid so you know which ones match and work well together. If used in a proper manner, they can provide a very interesting outcome. This is how Mendix works. This is how you create an app in rapid development, in low code. We have ready-to-use elements that already offer some specific functionality out-of-the-box. These elements are already well tested so we don’t have to focus on unit testing. We can take a more generic approach, a higher level of abstraction and start data modelling without knowing SQL or start business logic creation without knowing Java or any other programming language. We already have all of these elements available at the fingertips. Mendix is also using a three-tier architecture. We have data at the start, then we have the business logic layer and at the end we have the UI layer which the user interacts with. Such a modular approach is very important for people who are IT specialists. It is crucial that you can separate those layers.
AL: Please tell me what is rapid development?
BH: We have rapid development (the low-code way) and classical development. Most often, rapid development does not require writing code. It leverages dragging and dropping objects and connecting the dots together.
AL: You mean building from blocks?
BH: Yes, rapid development, i.e. you need to have it immediately, now. Whereas classical development mainly features hand codeing. A rapid developer must think about the whole thing, the entire application. Not about particular lines of code responsible for the given functionality but about the whole app.
AL: What are the advantages of Mendix?
BH: Aside from the fact that it has an interesting and simple developer interface, it has many features. The list of features is constantly growing. It has e.g. an AI mechanism that suggests you what to do at a given time. Another example, the one-click deployment feature. If you have your changes you want to include in your app ready and developed, you simply click one button and the software does that for you, it sends a command to the source code server, makes a build from the code revision and deploys it to the server. You have a complete automation in a single step. If I make a change in the app for you, I am able to open the interface and make the necessary changes, then click deploy and the entire thing is sent to the server and you can instantly see the changes. This is a huge advantage of Mendix. People can obviously say: okay but I want to have complete control, I want to know where the code is stored, how the builds are made or is it possible to deploy the app on a different cloud than the Mendix cloud? All of this is possible and it is easy to do and configure. We can link a Git repository, we can write automation scripts to make a build for us, e.g. using YAML. We can deploy apps created in Mendix not only on the Mendix Cloud, we can make on-prem deployments, i.e. if we have our own local servers, we can deploy it onto them or on a private cloud of your choice. Generally speaking, it is a very flexible platform. Another thing is Mendix Developer Portal, which features a Jira-like approach to requirements management that supports Agile development approach. It is also a change tracking tool. It is also there where you can monitor the platform. What else… scalability. Mendix is easy to scale. It is testable as you can write unit tests, it has modules intended specifically for this purpose. It is interesting that Mendix offers all of its functionality to everyone for free. With a free tier servers you can deploy and run your apps with no cost at all leveraging the full potential of Mendix platform. Additionally, with paid plans there are even more features made available to you.
AL.: What about the app’s appearance?
BH: We can determine explicitly the app’s style in Mendix. The styles are based on CSS and Saas and offer plenty of room to make your app stand out also in terms of the UI.
AL.: So, it can look good?
BH: Yes, definitely.
AL.: Does Mendix only include web apps?
BH: There are several types of apps, not only web or web responsive apps but also mobile, hybrid and native mobile apps. You can easily integrate apps. For example, big corporations create a number of apps in Mendix and they have a so-called Data Hub at their disposal, i.e. they can exchange information between various apps without extra development effort, it is just there waiting to be used. It is also super easy to integrate Mendix apps with other apps. In terms of DBs, Mendix supports many database management systems. As PostgreSQL is used for Mendix Cloud servers, your app will also work just fine with Oracle, MS SQL, MySQL or DB2.
AL.: Do you think that Mendix, low code, is the future of app creation and IT?
BH: Let me start with what the reports say or what people say. It is certainly the future to some extent because the number of code lines that must be written grows all the time and that takes time, we just don’t have the processing capacity with the current app growth speed to fulfil it all with classical development. Obviously, the share of low code apps in the entire universe of software available is increasing year on year and will continue to increase. It is difficult to say that it is the future. I would say that it is the present. It is already here, those applications are already created. I created dozens of Mendix apps for many customers during my career.
AL.: Then why so few people, even in IT, know what Mendix is?
BH: I think that the main problem is that low code platforms have not yet been included in the academic program. When they do eventually get included, I think we will see a surge towards low code. Universities teach development of the apps from the very beginning. In low code, we already have components, we do not have to write the code from scratch.
AL: How to become a Mendix developer?
BH: My heart tells me that you indeed need to have a technical background or at least know some software development basics. Maybe not necessarily an education, but a knack and basics, because even if citizen development is possible with Mendix and people do it, then unfortunately in some cases you have to recreate whatever was created by a citizen developer. There are various reasons for this. It is certainly a starting point to create other apps and many companies allow users to make apps using their own prepared app templates. Then, the IT team takes those apps and optimise them, e.g. integrate with corporate systems, etc. As I said before, there are two ways of going about it. You have the top-down approach as a citizen developer and a bottom-up approach as a professional developer. What must be done? You surely have to be willing to learn new approach to apps development. You have to create your own Mendix account – developer account, download Mendix Studio Pro , this is the name of the Mendix IDE, and take training courses that are available on the platform. In the Mendix Academy they have courses starting from the entry level up to the expert level. And I suggest you start from the beginning. If a person is motivated and indeed starts to take the courses, then I think that after 2 weeks he or she will be able to pass the first certification phase to obtain the Rapid Developer certificate. It is a baseline that you need to have to start creating professional apps.
I will tell you an interesting fact, a hint. The test is often made available for free. You just have to wait for such a “special” time. For example during the Mendix World, an event held once a year. If you register for and take part in it, at the end you might receive a code that enables you to take a certification exam.
AL: This is really encouraging. Before we finish our conversation, is there anything you’d like to add about Mendix? Anything that can encourage people who seek their place in IT?
BH: Maybe the fact that Mendix accelerates app creation approx. 7 times. Mendix brags that it is 10, but from my experience I can tell you that it is 7 times faster.