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.