In this maker profile, we feature Freek Brinkhuis, Senior Mendix Consultant at TimeSeries, The Smart App company. Freek creates solutions for clients using the Mendix Platform. Freek also designs custom solutions for the Mendix Platform with Javascript and React. See the many applications Freek has built with Mendix, including a building management system for Van Dorp Installations that integrates with Internet of Things technologies.
1. What is your education and professional background? Did you have any prior development experience?
I started my studies in computer science back in 2011, with a specialization in human-computer design. Then I did my bachelor thesis at Capgemini on continuous integration and continuous deployment. When I started there, I participated in the IT talent games which is talent competition for IT students, in which I won the top prize. This is where I met Jeffrey Kwee who was, back then, the business line manager of Mendix within Capgemini. After I graduated, he asked me to come and join the Mendix department of Capgemini. Now I’m at TimeSeries working as a Mendix and Javascript developer.
I was developing before my studies, so I already had some experience with making pretty basic WordPress websites. An uncle of mine was a hardcore developer. Seeing what he had done gave me some development knowledge. During my studies, I had an internship at a company as an interaction designer, creating a design for a mobile application. That’s where I really started software development, alongside doing my studies in interaction design.
2. What was your initial reaction to Mendix
I only had experience with hardcore software development—coding and programming—so at first I was a bit skeptical. I thought, “That’s fine that you can direct some activities behind each other, but how are you handling customization? How do you really make the big mobile apps?” Everything I had made before was all custom programming.
So, yeah, I was a bit skeptical, but then Jeffrey showed me what they had built at Capgemini, and I was impressed by what you could do with Mendix’s toolset. It felt like it was an advanced toolkit compared to the other drag-and-drop features I’d seen before in other platforms.
3. How did you learn how to use Mendix?
When I enrolled in Mendix at Capgemini, I got a mentor who told where to look for information. At first, I just went through all the classes on the Mendix Academy site. Immediately after that, I took the rapid developer exam. At first, my only way of learning Mendix was through the developer portal.
The learning curve for me wasn’t that steep. I recognized some patterns from other programming jobs I had done before. Everything I did prior to this was more like front-end development. I did some jobs as an iOS developer and I had made my own websites, but I never did anything on the backend like making database connections and working with models like in Mendix. That for me was something that I really had to dive into to get acquainted with, and I think that was by far the toughest part for me while learning Mendix.
4. What have you built with Mendix?
At Capgemini, my first project was an internal one that was a sandbox playground just to get you acquainted with Mendix. For that, we created an application that integrated with several social media APIs, and by geolocating where certain events happened, we were able to show a certain location’s newsfeed from different timelines and from different social media platforms.
After a few other projects, I left Capgemini and went to TimeSeries. I’m currently working on a building information system for Van Dorp Installations, a facilities management company in the Netherlands that manages buildings primary to the private sector. The system gives them insights into what happens in a building, like if there any malfunctions that an owner has to register, or if there is any maintenance that needs to be scheduled, and then I’ve integrated that system with certain Internet of Things (IoT) platforms. Van Dorp wanted to give some transparency into the ticketing process; they wanted to show people who requested maintenance what’s happening with their ticket, who’s coming to fix the problem and when they will come.
Looking at IoT integration, we wanted to show users the performance of their building, such as the amount of energy being used. We get the data from sensors or from external parties through our TimeSeries platform. They retrieve all of the data and perform a smart algorithm on it and make sure that the data is prepared in such a way that we can request it through REST services. Through those REST services, we get data in our Mendix application. Our big data team created a few TimeSeries applications that we can use to retrieve data from mostly every kind of sensor there is, then aggregate that data and serve it to the Mendix application. With that information, we can calculate how efficient your building is and then show you the real energy usage of your building compared to the report that the government gives you.
5. Which project are you most proud of and why?
I’m very proud of the Van Dorp IoT building information app because it’s one of my first projects as a team leader, but it’s also because we created stuff that’s even wowed some people at Mendix. They saw the screens that we made, the logic that we implemented and integrated with all the different kinds of big data solutions and thought it was really cool.
6. When you were using Mendix, did you have any ‘aha’ moments?
I had those moments during the whole training process. At first, you don’t know what’s happening in all those microflows when you see them at first, especially if you’ve never worked with such a system before. When you start learning what every activity does, how certain screen settings or screen layouts work, then you get the ‘aha’ moment. Now it makes sense why it looks like this, or why it works like this, or why I should choose Option A instead of Option B.
7. What advice would you give to other Mendix developers?
What was helpful for me was that I already had a background in software development, so I knew the patterns. I knew what object-oriented programming meant and what it means for your application. Diving deeper into certain software development patterns really helps you out when you’re looking at complex code or you want to build complex code.
Mendix works great if you don’t have a software development background. You don’t need to be a Java developer or anything like that but at least know what Java means and how database connections work because it will help you out a lot.
8. How has Mendix made your life easier?
Previously, I would have to write a million lines of code to make an application, and it now goes way quicker. That makes it a lot easier, especially when you’re sitting with a client and you need to make a quick fix or they have questions about certain functionality. You can do a few adjustments to your application and immediately show them the results. On the other hand, when you have a software development background, you can sometimes get really frustrated by the fact that in some cases you have to write a lot of custom stuff. But then again, Mendix makes it quite easy to do that, so in a certain aspect, it also makes that easier for you.
9. How would you describe Mendix in your own words?
When I try to explain to people what I do for a living, I always tell them that I’m working with a platform that creates applications, and it does the same thing as any other software language. But the platform makes it much easier for developers to work with and much easier for you to explain to your customers. You can develop in a day and deliver software faster, and that gives you a feeling of satisfaction that you won’t get out of real software programming.
10. What are your interests or hobbies outside of work?
My primary hobby outside of work is working on my Trabbi, an East German car. I like playing video games, too. I also do other programming outside Mendix. Right now, I’m trying out Node.js and React development on my own. I also like skateboarding and doing CrossFit.