Back To Blogs
Jamie Magee 24th Nov 2022

Low-code journey of a graduate developer

Fundamentally, what I enjoy is the process of developing software and the satisfaction of delivering high-quality products. When I was considering how this may map out my future career path, I knew that I wanted to work with technologies that would enable me to solve business problems, but also realised that I didn’t want to follow the traditional coding development route. My degree in Software Engineering gave me a sound understanding of the software development lifecycle and very early on in my learning it became evident that the planning, analysis and design was, for me personally, more fulfilling than the traditional back-end development. I have always enjoyed front-end development using HTML, CSS and JavaScript to style webpages and create attractive UI’s and I knew this was the part of lifecycle I was passionate about. But how did this translate to a career in software development?

Low-code, high reward

I discovered low-code.  I realised that I could follow my goal of becoming a software developer while using a platform that allowed me to enjoy every aspect of software development. Low-code can replace the drawn-out, back-end development processes by allowing developers to build functionality through intuitive modelling and built-in drag and drop features – significantly reducing development time. For me, this meant that I could avoid the weeks or months of continuous back-end development and focus on rapidly delivering business-ready applications. Different to that of a traditional programming approach, low-code lends itself to the Agile methodology. Particularly popular, and a simple Agile framework that I have got to experience when delivering applications, is Scrum; a structure that allows low-code development teams to quickly prove value. Applications are delivered across a number of Sprints, small increments which typically last between one to four weeks which focus on completing a number of predetermined tasks. The goal for each Sprint is to deliver the MVP (Minimum Viable Product) – a solution with enough features and usability to allow for feedback and continuous improvement. The Sprint approach means that results are seen quicker and applications can be responsive and flexible to changing business requirements. This often means that my work will differ from day-to-day and is much more rewarding as changes can be implemented quickly with instant feedback.  This approach incorporates the elements of planning, testing, integration, and other forms of continuous development I enjoy but provides much more visibility and opportunity for collaboration compared to traditional development techniques. Many low-code platforms include qualities that enhance the Agile methodology and include a central hub for project and story management, communication, and user feedback features. These elements flow directly into the development environment which allows for frequent testing and provides end users and stakeholders the opportunity to provide feedback on the work in progress.

With so many positives and an approach to software development that suited my ambitions, I was thrilled that low-code development could replace the parts of traditional programming and development that I enjoyed less, but I admit that I was also sceptical as to whether this would mean I may lose out on other aspects such as styling, the parts of back-end development that I did enjoy or perhaps could low-code even limit my opportunities as a software developer? Thankfully, I soon realised this was not the case. Although low-code development removes the need for writing thousands of lines of code and syntax and can act as a powerful tool to allow citizen developers to start creating small scale applications, low-code does not mean easy. It also enables experienced developers, with skills in back-end development, the opportunity to extend applications with custom code, such as Java, if needed. Developers can also use their experience of using HTML, CSS and JavaScript to improve the presentation and page styling of applications to produce sleek and modern user interfaces. Sold on a career in low-code development yet? In the rest of this post, I will go into more detail about low-code, the required skills and the learning path as well as outlining some of the popular low-code platforms.

The low-code market

In recent years, the use of low-code development platforms has risen exponentially. The leading analyst firms predict that low-code will be used for more than 65% of all app development functions by 2024 and that 66% of all big companies will be using at least four low-code platforms (Gartner). The market is growing and there are many platforms now offering low-code capabilities. Appian, Microsoft’s Power Apps and Google’s AppSheet are some of the names that you may recognise, but to introduce you to the low-code space I have experience in, this post will focus on Gartner’s 2021 number one ranked low-code application platform – Mendix.

Mendix is an industry leading, all-in-one, low-code application development platform that was founded in 2005 and acquired by Siemens in 2018 to accelerate its R&D and increase the platform’s global footprint. Mendix helps organisations build multi-experience, enterprise grade applications at scale and the platform is designed to accelerate the entire development lifecycle, from ideation to deployment and operation, whilst enabling collaboration at each step.

What skills do I need to learn Mendix?

The Mendix community consists of a wide variety of users, from those with no software development experience to those with years of full stack development – there is a role for everyone. With a little development experience, getting up to speed with Mendix is relatively easy. Being familiar with database structures and relationships will mean modelling will feel very familiar and will help for optimising the performance of apps. Any HTML/CSS/JavaScript skills will be beneficial for adding any custom app styling and if you have any programming skills, these can be used to extend an app’s functionality beyond what low-code can offer.

The Mendix Academy provides online resources for you to learn all of the required skills from a beginner level, all the way up to expert. Within the Academy, Mendix provides ‘Learning Paths’ for each topic which are short courses that include use cases and step by step guides on how to develop solutions and particular functions. After completing the Learning Paths for your current level, you will then complete an exam to gain your Mendix certification.

How long does it take to learn Mendix?

An accurate answer to this question will depend on your background and experience. For complete beginners and citizen developers, following a guide on the Mendix academy will walk you through setting up your first basic Mendix starter app in less than 30 minutes. You will still have a long way to go to creating your own larger scale applications after following this guide, but it is still a great starting point for those who want more of an idea of what is involved in creating simple low-code apps. Alternatively, you could start the Mendix ‘Become a Rapid Developer’ learning path online for free. There are 12 different modules in this learning path, each of which takes about 30 minutes to complete, meaning you could learn many of the basic concepts within a day. The skills that you learn in these guides and learning paths are a great way to start becoming familiar with some of the aspects of low-code development and will be of great help when developing small-scale applications with basic functionality.

As with everything, with time and experience, you will learn a lot more. For larger scale enterprise applications, a team of more experienced developers will be required to tie together the more basic low-code elements with the more complex aspects of development. If you are an experienced software developer, gaining skills in Mendix or any other low-code platform could be of great benefit as you can provide this link between the two. From using Workflows, Importing / Exporting data, and styling your app to Creating Rest APIs, building Pluggable Widgets and hosting applications in different environments, there are many things that you can learn as you become more familiar with the platform. This is why working with a team of experienced professionals is the only way to create the highest quality applications on a larger enterprise scale. Because the Mendix platform provides extensive capabilities and release new features monthly, Mendix developers never actually stop learning!

Fundamental Mendix development features

If this has sparked your interest enough to dive into the features of Mendix a little further, here are some of the key development components of the Mendix platform:

The domain model
The domain model forms the core of your Mendix application. It defines your data model that your application will use. This consists of entities and their relationships with other entities (which are represented by associations). As you will see in the left image, each entity can have attributes of different data types such as String, Integers, Auto Numbers, Enumerations, Booleans, Dates, etc. Additionally, this picture demonstrates how a ‘One to Many’ association (relationship) is displayed in the Mendix domain model. In this case, one employee can have many addresses.

Microflows
Microflows allow you to express the logic of your application in a visual way using the drag and drop activities from the Mendix toolbox, example in the above right image. A microflow can perform actions such as creating and updating objects, showing pages, and making choices. Microflows can be made to run at different times such as on start-up, when a button is clicked, before or after data is committed and can even be scheduled to run at certain times.

Page building
Creating pages in a Mendix Application is as simple as drag and dropping one of the 400+ ready-made widgets or building blocks into the ‘What you see is what you get’ development canvas.

Built In Version Control
Every project built using the Mendix Platform comes with the Team Server version control system. The Team Server uses SVN technology and enables multiple developers to work on the same project. Developers can commit their changes, update to receive the newest changes, create branch lines, merge any conflicts, etc. There is also the option to connect to a private Git Repository if required.

Conclusion

Low-code technology has become a hot topic in the business world for a good reason. The adaptability, agility, and ability to automate business processes makes low-code technology an indispensable solution to dealing with the rising demand of business digitisation. As low-code development continues to become an integral piece of technology for businesses, it subsequently becomes an increasingly important skillset for any developer to possess. As a recent Software Engineering graduate that is continuing to gain experience in the low-code world, I can personally recommend the Mending Learning Paths training as a great starting point for anyone interested in getting to know some more about developing with Mendix. To push your skills further than what can be achieved by simply following the learning paths, and if you are looking to become capable of delivering high quality solutions, the best learning opportunity is to join a company or team of skilled developers where you can experience high-level agile development in person and gradually pick up skills from those that have spent many years getting honing their expertise and knowledge.

I first started looking into low-code as part of my graduate apprenticeship with a large system integrator. I was part of a team who were extremely new to using Mendix and low-code development in general. After understanding the basics of the platform, we began our first project, which involved building an Insurance Claim platform for one of the companies’ clients. As this was the first live application that we had developed, it took us many months to reach a point that we were happy with and looking back at the application now, with two additional years of experience, there are many areas which could have been developed much faster, more efficiently and could have looked much more aesthetically pleasing. As we worked through more projects, naturally our skills continuously improved. The applications we delivered continued to improve in quality however, we were limited by the fact that we had no guidance from experienced developers above us and therefore the time taken to develop solutions was impacted.

Earlier this year I joined AuraQ, an experienced professional services provider who specialise in low-code technology and who have a team of rapid, intermediate, advanced and expert certified Mendix developers. In the months that I have been here, already my knowledge and skills of low-code development has flourished as a result of being surrounded by so many skilled and experienced team members. From learning how to use the many useful custom Mendix modules that they have developed, learning about REST Services, implementing chat bot functionality into applications through to learning how to link SFTP Servers to applications using OAuth to improve security, I am now becoming confident in developing features that I didn’t even know were possible before I joined the company. Joining a team with this much skill and experience that they can pass down to me has been invaluable and having already gained my Mendix Intermediate Developer certification, I am looking forward to what my future career has to offer.

Related Blogs


Why every manufacturer should be looking at low-code to enable transformation

The need for digitalisation has never been so apparent. The manufacturing industry is no exception to this and has seen much disruption in recent years, from supply chain issues as a result of the global pandemic to dealing with shifting buyer preferences and increased product complexity.

Find Out More

A deep dive into the low-code phenomenon

Low-code development has been gaining prominence amidst emerging technological solutions. The digital transformation era we live in today is a time of rapid technological advances and within this Digital Age, businesses are constantly grappling with digital disruptions and an increasing demand for software applications.

Find Out More

Mendix low-code fundamentals – applying application security

Looking to ensure secure application development? Episode 3 of our Mendix Fundamentals Series describes how security rules can be applied and helps you understand the basic security principles within the Mendix low-code application development environment.

Find Out More

Mendix low-code fundamentals – building the pages of your application

Episode 2 features Mendix developer Luca Santese demonstrating how to build Pages and create an engaging front-end for your Mendix low-code application!

Find Out More

Mendix low-code fundamentals – creating the domain model

Our new Mendix Fundamentals Series contains explanations and walkthroughs of some of the key concepts used in the Mendix low-code development platform. Across the four-part series, AuraQ’s team of experienced Mendix developers will cover the essential features required to build an effective Mendix application including the domain model, pages, security and microflows.

Find Out More
Drag