What do you think the future of this industry will look like?
Trying to predict the future of an industry with such high internal and external innovation forces seems like reading a crystal ball.. but nevertheless:
- Methodical knowledge in software architecture and -engineering seems timeless – and will continue to be of importance during the years to come. Fundamental design and engineering principles (like coupling, cohesion, modularization) fall into this category.
- The demand for experienced software developers and software architects will continue to rise. Such roles require excellent learning skills – as we have to adapt to constantly changing technologies, requirements and technical constraints.
- Some good practices will be forgotten and re-invented in the future. Techniques like “event storming” from Domain-Driven Design is one of those: It had been around in the 1980’s quite intensely (as part of the Structured Systems Design methodology), and was forgotten until re-discovered under the name of event storming by Alberto Brandolini – and adopted all over the DDD community a few years ago.
- Governments all over the planet start to consider distributed blockchain technology as a real threat to their financial systems. IT-driven currencies like Bitcoin and Ethererum will continue to evolve – and a whole set of enterprises and jurisdictions will evolve around those.
- Too bad – Neither Lisp nor Erlang will never make it into the list of most-used programming languages.
Which title(s) have you made with us?
“Software Architecture Foundation”, together with Alexander Lorz. We had the great pleasure of highly skilled editorial support – clearly improving understandability and readability in every of our several iterations.
I’m really sure that this systematic and methodical coverage of software architecture will help many people in grokking the subject and passing the iSAQB Certified Professional for Software Architecture examination.
Why did you start writing about this subject?
Back in the 90’s, I complained about so many things going wrong in my current project (actually – for the German Ministry of Finance…) in a discussion with a fellow software architect. He told me to summarize my ideas for improvement in a systematic way instead of complaining.
As I had written dozens of scientific papers, I had experience in structuring content and thoughts – and it quickly became apparent, that this collection of improvement ideas would be more than the scientific papers I’d authored before. I took three month off my day job to write up my experiences – and the first edition of “Effektive Softwarearchitekturen” was born – my first (German) on software architectures. It was first published in 2001 (by Carl Hanser in Munich) – and has since then seen 9 editions.
What genres do you like to read in your free time?
Both crime and technical books. Blog posts on a plethora of topics (recent ones include statistics, flight simulation, notetaking, self-organization, politics, finance, mechanical engineering and others). Definitely no horror stories. Rarely romance.
What did you study? Or was it your career that put you on the path of authorship?
I studied computer science an the Technical University of Aachen, because I really liked (and still like) the creative process of programming. During my studies, I developed software systems in various domains – ranging from automotive research, chemical engineering, financial and leasing industries, operations research, to name a few. After completing my degree, I worked as software developer for a while, before accepting a research assistant position within a larger European research project under the ESPRIT umbrella. Luckily my project colleagues desteded traveling, so they send me around the world to present our project results at conferences in more than 9 countries (an inofficial university record for traveling by that time).
After completing my PhD I took a job in a consulting company, build a partnership with Sun Microsystems, designed and implemented the first official Java project in Europe, and learned an awful lot by working in various domains for various clients over time. 2006 I co-founded the iSAQB, the international Software Architecture Qualification board. Since 2011 I’m Fellow at INNOQ.
What skills that you possess now would you have liked to learn in school?
Organizing large amounts of work under severe time pressure. Prioritizing tasks and and working collaboratively in teams. Learning effectively and efficiently – and taking smart notes so I can keep important stuff at my fingertips. Accepting that different stakeholders follow different goals for their own reasons.
In school and during most parts of university, I had to solve problems on my own. In real-life, though, we always worked in teams – which brought my (formerly lousy) communication skills to their limits.
What is the best book you’ve ever read?
Back in my twenties (long time ago), I stumbled over the genre of time and self management and devoured dozens of books on using our (highly restricted) lifetime more effectively. The book that really made the biggest impact in my personal and professional behavior was “Working Smart” by Michael LeBoeuf. I assume that book transformed me from child to adult, somehow…
In terms of technical books, Mark Maier and Eberhard Rechtins The Art of Systems Architecting was the eye-opener in many ways. It showed me the value of heuristics and doing the hard parts first.
The Enterprise Integration Patterns by famous Gregor Hohpe proved that methodical and timeless concepts of software architecture can be readable and visually pleasant.
For the best programming book, I’m torn between Practical Common Lisp (Peter Seibel), Groovy in Action (by Dierk König) and the awesome Learn You Some Erlang for Great Good (by Fred Hebert).
What did writing a book bring you?
My first (German) book on software architecture, published back in 2001, helped as a door-opener to numerous organizations: People actually liked its content and spread the word – which eventually lead to organizations hiring me for architecture consulting. Apart from that mundane business reason – writing is an immensly creative and rewarding process.
I enjoy open and content-focussed discussions with reviewers – especially with Alexander Lorz these were open dialogues and highly rewarding contentwise (thanx, @bigalex).