René Raaijmakers
17 January

Together with Jaco Friedrich, Onno van Roosmalen is High Tech Institute’s Teacher of the Year 2021. His “Design patterns” training received high praise and participants gave his lecturing skills a 9.8.

In October 2021, Onno van Roosmalen was invited to Tomtom in Eindhoven. They asked him to deliver the four-day “Design patterns and emergent architecture” training to a group of nine employees. The participants highly recommend the course to others and gave him a trainer score of 9.8.

“I suppose it has something to do with the fact that ‘Design patterns’ is my favorite,” Van Roosmalen responds soberly. “The training is a bit challenging and I’ve put all my ideas and energy into it.” The training being of a higher level evidently motivates him to execute it perfectly. “I like the subject and I think that comes across to the students.”

Design patterns and emergent architecture

The training program focuses on the application of design patterns from the Gang of Four to satisfy non-functional requirements and to obtain a software architecture that can withstand software evolution in an emergent manner.

After studying physics in Nijmegen and earning a PhD in Groningen, Van Roosmalen worked at Yale University for three years in the mid-1980s. In 1987, he became an assistant professor of computer science at Eindhoven University of Technology. In the early 90s, a company invited him to give a training course on object-oriented programming. That proved very successful, mainly because the company’s management was the driving force behind the initiative. “The students were told to do exactly what I said.”

Van Roosmalen got the hang of it and continued to develop and deliver software design trainings (link in Dutch) for Ericsson, Philips and TUE, among others. Various versions of his object-oriented analysis and design courses have been running at High Tech Institute for over ten years now. This is also the case with his design patterns training.

Perfect analogy

The veteran has an interesting observation. According to him, participants in his training courses can be roughly divided into two types. “You have the interested ones. They drop out at a certain point. And you have the critics. They take a skeptical stance at first but later become very enthusiastic.” It fits with his own attitude to life. “Being a little suspicious can’t hurt. I like that: start with looking critically at the material you’re being offered. Then think about it. That’s how the knowledge lands best.”

In bookstores, the software shelves are often full of titles on design patterns and object-oriented programming. “But those don’t convey what you actually want to convey,” notes Van Roosmalen. “Books contain lots of often simple code examples. The nice thing about patterns is that you can combine them and build something with them. I help students with this. Grady Booch, the co-founder of Rational, says that all object-oriented architectures are full of patterns. Combining those patterns is fun.”

Van Roosmalen once visited TUE’s mechanical engineering department. A professor there showed him a milled part, as an example of what his department had come up with. “He asked me if I could show him something too,” recalls Van Roosmalen. “That was a bit difficult. What could I show? A code listing? Instead, I told him about design patterns. That immediately created a click. He pulled a book about wheels and gears off the bookshelf and that indeed showed the perfect analogy.” Van Roosmalen’s point: every field has its own design aspects and those repeat themselves.

Dirty tricks

When Van Roosmalen was building architectures with software objects in the mid-1990s, it sometimes felt like he was just fooling around. “I thought I was doing something contrived. Call it dirty tricks. When the book ‘Design patterns’ by Erich Gamma came out in 1995, it was an aha experience for me. It turned out others were doing it too! It was a pattern! What I was doing turned out to be normal.”

According to Erich Gamma, it’s all about capturing the essence of a system in a model. Gamma draws his examples mostly from the world of user interfaces. Van Roosmalen focused his entire career more on control systems and embedded systems. “I use a lot of examples of that in my training courses, too.”

Companies developing software-intensive systems encounter a lot of patterns in their software and want to learn more about them. “Most of the time, they already have a large collection of design blocks and want to know how they can manipulate them,” observes Van Roosmalen. “Often they don’t understand all the patterns that are in them. The training is ideally suited to bring that to the surface.”

In turn, Van Roosmalen uses the new examples he gets from participants to enrich his own knowledge as well as the training itself. “The longer the training runs, the more cases are added,” he says. “The training at Ericsson ran for ten days distributed across a whole year. Together with their architects, we extracted a lot of great examples from their telephony system that you can apply patterns to. If that catches on and the learnings are actually applied in product development, that’s great.”

Together with Onno van Roosmalen, Jaco Friedrich has also been announced High Tech Institute Teacher of the Year 2021. He received equally high scores for his one-day boot camp training “How to be successful in the Dutch high tech work culture.”