I only provide consulting or coaching for topics, concepts and tools
of which I am really convinced. This means that
I am not going to jump on the hype bandwagons
just because things are cool. I want to see things
work, and provide real advantages over established
approaches. Also, I typically want to see
code (or models :-)). I am not a "powerpoint architect".
It is important not to loose contact with the real world.
The references page lists many of the companies I have worked for
in various capacities over the years.
In addition to working for customers, I try to work
on a more conceptual/research level. From this work, I
extract my papers,
and books. Some of that work als
results in open source projects.
Model-Driven Software Development and DSLs
are the basis for efficient software development and allows
to scale the development project to larger teams.
A well-defined software architecture
is critical for any software system and development project.
Thus, one of my focuses is on helping to define consistent
and implementable software architectures.
Product Lines are often an important factor
in today's software development. More and more companies are
building the products as part of a product line, as opposed to
building one-off solutions. The synergies between PLE and
MDSD and architecture are
Middleware is often the basis
for today's software systems. Selecting (or implementing)
the right middleware platform is an important precondition
for a successful software project.
Consulting and Coaching: The baseline for my work is consulting and coaching. I will be
on site with your team and help with the topics listes above.
A gig may last a couple of days, or a year or longer. I will either
act as a consultant that helps you set up or review your project, architecture
or development methodology, or I will play an
active role in the development project, as part of your team.
Trainings and Workshops: Based on my consulting experience, I will come to your site and deliver
high end training or conduct technology workshops with your team. The topics
are based on the technologies I have worked with in my
projects. You can also look at the list of
trainings I delivered in the past, or the
workshops I have presented or organized at various conferences.
Evaluation and Prototypes: Evaluating whether a given paradigm or technology works for a given
context is often a major challenge. As a consultant who sees many different
projects and technologies, it is relatively easy to evaluate a technology
or build a prototype. Consequently, technology evaluation and prototyping is another aspect
of my work.
Open Source Projects: I am also involved in building several open source projects,
some of them professional grade ( mbeddr.com,
Eclipse Modeling as well as a number of smaller
projects that are intended to forward certain interesting topics related to
domain-specific languages, model-driven devleopment and product line engineering.