“In het ergste geval, leer je er iets van.”
Matthijs Langenberg is a --year old intrapreneur living in Enschede, The Netherlands, together with his wife Shibra and their cat Cedric. He has over a decade experience in web development and user experience design and is leading people in his role as a software engineering manager since 2014. In his spare time, he enjoys landscape photography, reading—non-fiction—books and working out in the gym.
Dutch home healthcare is typically organized by dividing care into individual routes. A team of nurses takes care of patients in a particular neighborhood, each route assigned to a single nurse. When you as a nurse start and end your route at your own home, without seeing any coworkers, how do you keep up to date with your team?
Ons Messenger (Berichten) is a messaging platform targeted to provide collaboration and information sharing in larger groups (between 15 and 30 people). Powerful integration in all Nedap healthcare’s products allow quick ways to reach out to a single care manager or to several teams of nurses.
Communicate open shifts. Or ask your team if someone can take over your own shift. Share best practices. Ons messaging supports threaded conversations, and notifies you about important messages.
Ons messenger already handles over 100,000 messages per day.
In home healthcare, patients usually have a paper notebook at home, used by nurses as a log book. In it medical information is written down for the next nurse and the patient’s family.
Unfortunately, this is not always the best solution. Often a nurse needs to know what happened, before arriving to the patient. As it is not very decent to start reading the log book upon arrival, the consequence is that the nurse only reads the information a the end of the visit.
Then there are also the family members who want to be kept up to date, but simply do not live close enough to bring a visit every few days. Why do we store such important information only in one place?
The dossier allows nurses to share what they noticed today with the whole team. Even if you as a nurse are not scheduled to visit a particular patient for a week, you are still kept up to date. It is even possible to send a message to the family, through the secure care takers website Caren.
Made a memory game for children. It was playable at the Nedap open house in October 2011. We used icons and characters from Nedap healthcare products and marketing material.
It is a variation on the age-old game Memory, but uses an NFC capable phone and MiFARE RFID cards.
Instead of flipping a card, the users would simply tap a card to play. The game is more difficult than the original, since you do not see which pairs you have guessed or memorized already.
When care providers are growing larger, care for more patients and hire more nurses, it is easy to get disconnected from the social aspect.
The ‘Smoelenboek’ lets nurses get in touch with each other. You can find contact information of your colleagues by name or expertise. Or just browse all the teams and learn more about fellow team members.
In the end it matters that in a large company, you are more then a just a number.
After graduating I landed a job as software developer at Nedap healthcare. It was Jan Hendrik Croockewit who welcomed me and posed me with a challenge. “Can you find a way to open a door lock with only a mobile phone?”, he asked. Luckily, I came prepared. I had completed a minor Health & Technology at Saxion University and knew exactly what he was talking about.
Nurses working in home healthcare need an easy way to enter the homes of mobility-impaired patients. They don’t want to carry humongous keychains around for all patients in the neighborhood. It would make them a target for theft and it would be everything but practical. An alternative could be a key under the mat, but this invalidates the patient’s home insurance. For Nedap healthcare’s customers, this was a big issue, but would they have guessed that they were already holding the key to their solution in their hands?
Care providers using Nedap healthcare products were already equiping their employees with NFC-capable mobile phones for time tracking purposes and my colleague Pieter Bos had figured out a way to use NFC emulation in combination with existing card readers. We partnered with SALTO Systems providing us with an easy installable electronic door lock cylinder that works with NFC; providing me with a good excuse for a trip to San Sebastian, Spain.
The SALTO cylinder locks had to be used together with their proprietary desktop software and card readers, but the SALTO engineers had added an interesting feature. By the use of a special API—maybe for debugging?—the card reader could send back the bytes it would normally write to a physical key card. I wrote a software stack to transfer this data to the phones of nurses starting their shifts. When our time tracking app opened, we “downloaded” the keys right to their phones!
Together with Sjoerd Luttikholt as account manager we worked hard to sell this solution as a new addition to Nedap healthcare’s product portfolio. Unfortunately we had to face the fact that we hadn’t fully thought the business case through and even though our demo was inspiring, the total cost of ownership was too high. We also learned that we didn’t know who our actual customer was. Was it the patient who wanted to feel safe? Was it the care provider, who wanted easy entry without hassle? Or was it the insurance company, wanting to reduce theft attempts?
In 2009 I was given the opportunity to work as a software engineer in Silicon Valley. I vividly remember the moment one of my teachers at Saxion University asked me if an internship in the United States could interest me. Wondering if I might end up in a remote town in Texas, I asked him: “Where?”. He could not have given a better answer.
So off we went. Joined by my classmate and friend Siet Toorman we boarded our first transatlantic flight from Amsterdam to San Francisco and were welcomed by Arthur van Hoff, who was our mentor during our six-month stay. Together with Siet, I worked on the design and implementation of a distributed and scalable Web crawler. The ‘crawled’ web pages were analyzed to provide semantic context to the real-time stream of public tweets from the Twitter Firehose.
In our spare time we explored the Bay Area, visiting iconic places such as the Computer History Museum in Mountain View and enjoying a Highway 1 road trip to the Santa Cruz beach. I enjoyed every moment of working and living in California and I am grateful for the things I have learned from the most talented people in the field—Arthur and my colleagues David Creemer and Jens Christensen.
Not long after our internship had ended, Ellerdale Inc. was acquired by Flipboard.
During my first year at Saxion University I was looking for a part-time job to save up money for driving lessons. I had bought Dave Thomas' Programming Ruby (yes, the original Pickaxe book) and I just fell in love with the language. Therefore I did not want to settle for a PHP job—in which I had the most experience until now—and I definitely wanted to avoid Java, a language that did not give me the same warm feeling as Ruby did when it was introduced in the curriculum.
Coincidentally one day when I was working on a blog article, I came across a job opening for a Ruby developer at Newminds B.V. and I immediately called their office. Only hours later I found myself taking the train to Hengelo for my first real job interview. The interview went really well and at one point Newminds' CEO Erik Laarman asked me if I could show him some of my work. I said I would, only if I could borrow one of their laptops. Because I had not prepared this, I needed to open up a terminal and use SSH to connect to my server on the University campus. After entering several commands I had booted the Rails application I was currently working on. I believe Erik had already seen enough to hire me on the spot.
While working on Shopr an idea materialized to create a content management system to give shop owners control over the static content on their sites. This also gave the opportunity to host websites for small businesses in The Netherlands.
I don’t exactly remember who suggested using Windows Live Writer—I bet it was Geert, but this tool really kick-started development of Idscms. With Windows Live Writer, people had a true what you see is what you get experience: being able to edit pages on their website as if writing a Microsoft Word document (including embedding images).
My job was to debug and document the parts of the XML-RPC protocol that Windows Live Writer used to connect with WordPress, Blogger and MetaWeblog. With that documentation in place, I set out to implement the same set of API endpoints, allowing Windows Live Writer to be used for our own content management system. With this application being heavily API-based, I opted for using Merb as a more modular alternative to Rails 2. I designed this content management system to be multi-tenant as well, with the option of updating the design and general layout of each site independently.
I felt very lucky when I could turn my part-time job into a full-time internship for five months. During this time I worked on developing a Microsoft Dynamics NAV-based retail e-commerce platform combined with an in-store point of sale solution.
Together with Robin Janse (designer and ActionScript developer), we created the point of sale solution using Adobe AIR technology. While Robin worked on building the interface, I worked on an API proxy service allowing the AIR application to fetch and store information directly from the retailer’s ERP-environment.
The next challenge was connecting with hardware peripherals. Accepting input from a bar code scanner is easy, this device just emulates a keyboard, but other peripherals could not directly be controlled by the AIR application. So I came up with the solution to run a local Ruby webserver on the point of sale system, allowing the AIR application talk to the receipt printer, the cash register drawer and the payment terminal over HTTP. Experiencing the first completed debit card transaction was a magic moment, albeit requiring Ruby C extensions to make it work.
For the e-commerce platform we used Ruby on Rails to create a multi-tenant application that served multiple retailers. Each shop was customizable using a templating system and the webshop products were directly controllable from the shop owner’s ERP-environment. Robin designed and implemented each of the custom themes while I worked on the backend code to tie everything together.
In the end we realized we had bitten off more than we could chew. Nevertheless I had given it all and I am proud of the accomplishments we achieved in a relatively short time period. It would have been better to focus on either the e-commerce webshop or the point of sale solution separately. With Microsoft Dynamics NAV being a widely used ERP-solution, this would have been enough of a differentiator to turn either idea in a successful business and a better focus would have resulted in a more mature product.
My first assignment at Newminds was to help build an application for potato farmers. Together with Michel Dogger we created a Ruby on Rails application from scratch to allow farmers receive updates on quality samples that were taken by Aviko Potato, the company buying the potatoes directly from farmers. One interesting aspect was that Aviko Potato could use this application to write out a tender on which farmers could bid and respond, matching supply and demand. The technology that enabled this all came from the mind of Geert Rozendom, CTO of Newminds, he had devised a way to create a reliable connection between a Microsoft Dynamics NAV database and a Ruby on Rails application.
This was also my first encounter in web development implementing a design that had been done by an external agency. It was a hard lesson learning that the ‘over-the-wall’-approach of design and development is not the right fit for me and that making an already-signed-off design work in Internet Explorer 6 can be very frustrating (i.e. life lessons were learned).
My first Saturday job as a 16-year-old was at Ellage Electronics owned by Roel Maarsingh in Gramsbergen. I started helping out with chores in and around the company. After a few months I had begun with production assembly work, such as PCB soldering and quality control. This eventually turned into a summer job where I also worked on IT-related solutions.
One example of this is the setup of a Linux server—I selected Gentoo Linux—to provide web and email services. Roel must have really believed I knew what I was doing for putting a critical part of the communication infrastructure the hands of a teenager. Don’t worry, I eventually helped them migrate to Google Workspace. 😉
Another project I really enjoyed had to do with the fact that many of Ellage’s employees do through-hole assembly at home. When a particular job had been finished, the at-home workers called into the office to schedule a pickup of their completed work. I noticed that these calls were disruptive to the office floor and experimented with a message board—think along the lines of phpBB—to shift to an asynchronous communication style. I felt that the end result was partly successful. Although employees quickly adopted the message board, reducing the number of disruptive calls, it had always been another channel to monitor. In general, people easily fall back into old habits and usage of the message board for pickup requests declined after a few months. It was, however, satisfying to see the at-home workers connect with each other and for me to take my first steps in improving operational processes with technology.
For the course RealTime Embedded Systems our project team created an interactive videowall. This installation connects twelve VESA mounted mini-PCs with displays together over a local network. Each display shows a looping video of a person looking straight ahead. At a random intervals a broadcast event will cause two displays to ‘pair’, resulting in the two people looking at each other.
We were introduced to the Scrum framework to manage this project, which was a welcoming change after learning the more traditional waterfall and V-Model practices. But I believe it didn’t took long before I lend out my copy of Extreme Programming Explained to one of my teachers.
How we sold this project as a real-time embedded system is still a mystery today. To me an x86 machine running Windows with a Java program controlling VLC media player is neither embedded, nor real-time. I guess the teachers found the autonomous part more important. And yes, since there is no conductor of the orchestra, you can call it autonomous.
This ‘art’ installation was featured on the 2009 Saxion open days.
We were tasked to assemble an autonomous robotic car and program it in C++ to drive as fast as possible along a white line of tape laid out as a racetrack in the university hallway. This circuit was obstructed by several obstacles and we had to use an ultrasonic sonar sensor to steer around those. As a bonus assignment we were asked to transmit the driven path over a radio connection to a PC, and to plot this on a map.
When I read through the project description I immediately had the—in my mind—brilliant idea of starting right away with the radio connection and then use a Ruby program on a PC to remotely control the car. Thus effectively moving the brain to something with actual processing power and allowing a much faster software iteration cycle. Unfortunately this was not what the teachers had in mind with a real-time embedded system and I honestly think it wouldn’t have worked either as the radio connection turned out to be unreliable.
I did stress the importance of a build pipeline to my team, so instead of struggling with USB flash drives and multiple manual steps—as I saw others do—we were able to flash the software of the car with a simple press of a button.
For this high school project I created a red scanning light as can be seen on the car from Knight Rider, called KITT. Looking back at it years later, I am still proud on what I achieved by myself.
I started by taking a car’s third brake light apart and modified it in such a way that every LED can be turned on individually. By grouping the twenty-eight LEDs in four groups of seven, I could use multiplexing to address each LED using only eleven I/O pins. This meant I could use a simple PIC16F84 microcontroller to drive the lightbar.
Implementing pulse-width modulation in assembly code to achieve the correct fade-out effect was a lot of fun to do. I think I even presented the code to class using an overhead projector. Never did I see people looking more confused. 😉
This 3.5-day course given by Remco Claasen was the one of the most intense and confronting experiences I have been through in my career. It is also by far the best training I ever had. Remco has thought me an indispensable practice in life: how to assess your energy levels and to act on this. At its core this is about eliminating energy-draining activities and focussing on the things you enjoy doing most, then applying these things in a way which are benificial to the people around you. Believing that this will lead to a better and happier life.
It may sound obvious, but in reality it is undeniably hard to give in to a gut feeling telling you that you might be heading down the wrong path and to make concrete plans to change direction and fix this. Luckily Remco’s training gives you the guidance needed to make a head start in this, by writing down your mission statement.
I am proud to share my own mission statement here: “I, Matthijs Langenberg, use creativity and entrepreneurship for my own development and that of others. I am a problem solver and enjoy the appreciation I get from impacting the lives of others. I am ready to help friends and the people around me and I have fun in living a comfortable life together."
In this year, I transitioned into a full-time leadership role at Nedap and wanted to further improve my qualities in developing people. While I initially thought my growth would be in the area of output management, I learned that I can have a much greater impact by being more open to others and by sharing what I truly feel and think with people. Even if these thoughts make me feel insecure.
Since I have studied computer engineering, a compiler course was never part of my curriculum. However I did study digital signal processing and writing assembly. In my day job, I only use high level programming languages. So I took the opportunity to follow an online course to bridge the two domains and write my own compiler by hand.
In this course, writing a full compiler including lexical analysis, parsing, type checking and code generation was satisfactorily completed. I also completed a theoretical exam in lexical analysis, parsing, syntax-directed translation, abstract syntax trees, types and type checking, intermediate languages, dataflow analysis, program optimization, code generation, and runtime systems.
Programming is just a tool to solve problems that people perceive. The true difficulty lies in understanding the question behind the question. This can only be understood by observing instead of listening.
By following the online HCI course I have learned how to design technologies that bring people joy, rather than frustration. Using human-centered design skills, I learned principles and methods to create excellent interfaces with any technology.