Mendix: A Trial by Fire

A Rough First Introduction

My first attempt at picking up and using Mendix could best be compared to a child’s first attempt on a diving board: a belly flop right into the deep end. I couldn’t help but flounder and get frustrated when things didn’t come to me instantly. Something as simple as a basic calculator app had me racking my brain and scouring the internet for every minute step. Concepts like the domain model and microflows were long lost on me, and in the end, the best I could muster was a simple layout with zero brains behind it all. It was a humbling introduction, to say the least.

 

It isn’t a Language, it’s a Process

Eventually, I realized that my methodology for picking up Mendix was totally wrong. I was approaching this problem like I’ve approached learning a new programming language in the past. For the most part, a lot of object-oriented languages have the same core concepts that are recycled between each other with only slight syntax differences. You have variables, you have methods, you have objects, great. Just figure out some of the new features and where to put the semi-colons and boom, you’re a newly-minted “expert” in whatever language you’ve set your eyes on.

Mendix is nothing like this. It’s based on a visual framework, developed on a unique platform with its own logic structure, UI development system, and dedicated community. Learning new programming languages might be comparable to learning how to drive a new car once you’ve learned an old one, but learning Mendix would be like hopping into an 18-wheeler and trying to take it for a spin around the block. This whole time I was trying to fight against Mendix, trying to get it to map to my normal understanding of how a programming language should function, but that only served to hold me back and limit my understanding of just how much the platform is capable of. I needed to completely reset my understanding and come in as if I’ve never coded anything before. Starting small, focusing on one piece at a time, and then trying to put the pieces together was how I was able to stand on my own two legs.

 

New Skills are like Swords

The best analogy I can think of for my approach to Mendix is that of a blacksmith forging a new sword. They would put the raw metal into a furnace to heat it up, hammer away at it until it’s in the correct form, then quench it by quickly dunking it into a pool of water. The science behind this ancient process is that the molecules within the metal need to be brought to a high temperature so that they can move and change their molecular structure, making the metal malleable and able to be bent and hammered into the desired shape. The quenching serves to shock the metal and lock the molecules in place, resulting in a harder and stronger blade. In my journey to learn Mendix, I found self-paced teaching and solo experimentation on the platform to be the furnace, and sit-down classroom-style lessons to be the pool of water. I needed to dive head-first into the platform and just toy around. Making as much as I could using just my own background knowledge, the community posts answering questions, and the Mendix Academy tutorials. Doing this for too long, though, can lead to some bad habits forming. I found myself leaning back on my web development background and hardcoding CSS styling manually instead of trying to use native Mendix tools. This is where the quenching comes in. Sitting down with a Mendix expert at Kinetech and getting walked through the Rapid Developer training opened my eyes to what I was doing wrong, and how I could greatly improve both the quality and efficiency of my work. Using security settings properly, knowing how to minimize redundancy by creating reusable flows that can be put wherever I might need them, and building pages carefully so that they can grow and change with the needs of a project. All of these best practices were things that I never really considered while playing with the app myself or figured that they would slow me down. The exact opposite was true. Once I started implementing these improvements, I found my work to come easier, with less need to go back and redo sections as I built upon the app, and greater flexibility when I ran into obstacles. This iterative cycle of heating and cooling, of experimentation and formal teaching, was the major turning point that helped me begin to understand Mendix development. To have one without the other would be pointless. Experimentation without education leads to sloppy work and a mess of bad habits, and sit-down instruction does little to really teach the concepts if there’s no hands-on interaction to solidify them. 

 

Domain model for the Applications module

 

Kinetech as a Culture of Growth

Reflecting on my time so far at Kinetech, it has, hands down, been the single largest growth opportunity I’ve had in my time at both school and internships alike. Learning a new framework like Mendix takes a considerable amount of time and energy, but I feel like the company has committed itself to helping us learn as much as we can in the time we’re here. The first few weeks were spent doing nothing but learning, listening, and practicing all things Kinetech and Mendix. We started and completed our Rapid Developer Certification training within 3 days of getting here. The idea wasn’t to put us to work as soon as we were able to so that they could maximize our output and value. It was truly just to give us as many resources as possible to grow and be successful, and let us play on our own. 

 

Questions, Questions, and More Questions

At first, the sheer amount of new information was intimidating and overwhelming. I could physically feel my brain as a sponge being dunked in a swimming pool of entities, nanoflows, and widgets. What helped me not freeze or give up on learning was asking as many thoughtful questions as I could. Luckily for us, we were being taught by a master of Mendix who’d been working with the software for over 8 years now, and could answer any possible use case or technical problem I could think of. Having access to resources like him and the other people on the team, was one of the two key factors for my successful understanding. 

 

Community of Learners

The other key factor was the realization that I was surrounded by people who’ve all been in the same exact position as me, and who have ascended the ranks of Mendix knowledge to be where they are now. Kinetech is a company of learners, who’ve all at one point had to figure out the learning curve and take their beginner certifications. In only our second week, the other intern and I got to sit in on the Advanced Developer training course with two others who were interns the year before us and were now at Kinetech full-time. While the content was expectedly much more complex, it was comforting to see that new or old, everyone still had more to learn. We’ve also had a couple of company-wide town hall meetings, where different teams have gotten to share their current projects, recent success stories, or breakthroughs they’ve had, and ask for help openly for any roadblocks they’re currently facing. It was refreshing to see a group of people who all shared an interest in getting really good at the same thing and succeeding together.

Microflow for setting up the application forms on the initial applicant sign-up

 

A Project with a Purpose

If I were to give out a preliminary award for my favorite part of my time at Kinetech thus far, it would have to be our intern project idea. We’re lucky enough to be paired with a non-profit organization that helps foster families in the San Antonio area. They were looking for something to help them improve their process for finding and training babysitters to care for these children if their foster parents need to travel out of town or can’t care for them during the day. As it stands, the process is lengthy and arduous, and as it stands this causes very few applicants who start the process to make it to the end. This is where we come in, as we are tasked with building a web application that would digitize the necessary forms and guide users through the process to maximize convenience and ease of use.

The opportunity to work on a real project with such an amazing and positive real-world application has been nothing short of amazing. The rewarding feeling of finishing a task and reaching each milestone has been magnified tenfold, and the work feels easier. On top of all of that, the people we get to coordinate with have been the perfect clients. They’re so helpful with every question we might have, are proactive and willing to take time out, and are grateful for our help. It’s been a dream come true.

View of Dashboard page for new babysitter applicants

 

Getting over the Hump

Now, if I’m honest, there was not a lack of skepticism when I first heard about Mendix. I’d spent my whole life in development and at school learning about programming languages and tech stacks that relied on them. I had internalized the idea that there was no other way. It was the sort of problem you often see when someone’s only learned problem-solving in one way, where you’ve learned to use a hammer and every problem looks like a nail. When I first got my hands on Mendix and started working on the case study to apply to Kinetech, I found myself frustrated almost immediately. It wasn’t coming along as fast as I wished, nothing I’d learned about coding helped me immediately, and I wasn’t familiar with the resources I could use to get help. Trying to rationalize my struggles, I blamed it on the software. It’s too hard. Too slow. Too cumbersome to be of any benefit when coding even a basic concept app, much less a full-blown project. 

Where I was wrong was being impatient and not yet realizing those lessons laid out above that I’ve since come to learn. However, I’m glad to say that I suspended my doubts long enough to properly sit down and get some experience working on real projects with Mendix, and I am so happy to admit I was wrong. If traditional programming approaches are like carving knives, Mendix is a chainsaw if put into capable hands. I’ve seen our app grow before us, and with a team of two people working full time for only 2 weeks or so on the project, we’ve already created an app that rivals what I’ve seen take some teams months to do using old methodologies. Our clients were just as shocked as I was to see something that was a measly concept wireframe the week before, become a near-fully functional interface right before their eyes. With the speed that it enables users, a Mendix expert could take a fringe idea that they have for an app to make their lives easier and have a solid prototype done by the end of the day. The learning curve might be steep initially, but I can confidently say that once you manage to get over the initial hump it’s all downhill.

 

 

McLennan County / Waco Texas selects Kinetech to Accelerate Digital Transformation
Image of kinetech
kinetech
McLennan County / Waco, Texas - March 3rd, 2021

During the first two months of 2021 McLennan County...

Session Timeout Widget - Kinetech Cloud, LLC - 2022. Mendix Marketplace
Session Timeout V2 Released
Jason Imeidopf

Kinetech's expert services team is excited to announce the general availability of the Session...

SuperbCrew Interview w/ Kinetech CEO - M. Guido
Image of kinetech
kinetech

Q: Michael, can you tell us something more about Kinetech?