Consulting and CoachingThe baseline for my work is consulting and coaching. I will be on site (or remote via the usual mechnisms) with your team and help architect, design or implement languages and systems. If you are new to the topic, check out my page on what DSLs are, whether they might be an option for you and how to adopt DSLs in your organization.
Domain + Business + Process + LanguageI will run a process with you to figure out whether your domain is suitable for a DSL, what tangible benefits the DSL might have for your business, how processes can be simplified, and how such a DSL might look like.
I help you team acquire skills through trainings and workshops, mostly regarding concrete tools. Language workbenches are not mainstream, training is often very helpful to get you started.
I will perform regular reviews of your language and the domain abstractions you chose to help keep the development on track and provide guidance about how to continue.
Software DevelopmentAt any given time I usually have one "main project" that I am involved in more deeply than with week/month-long consulting.
In a few days or weeks I implement a prototypical language that demonstrates how to address the core challenges of your domain. This will be the basis for deciding whether to develop one for real.
Language and Tool Development
I join your development team for a significant period and guide language development. By joining forces with itemis, I can also take over
a sigificant portion of the development effort.
How I work
I would hire you even if you had no idea about DSLs at all.
Solid Software & Systems Background
Over the years I have worked in many different domains, from business systems over web/cloud to embedded software. For many types of systems I understand the guiding principles and architectural fundamentals, and I can be a competent partner in the development effort, even for discussions beyond the pure language stuff.
While focus on abstractions, languages and tools, I fully realize that business success includes coordination of the tools with the business processes as well as human, social and "soft" considerations: there's no point in trying to introduce a DSL "against" the majority of those who might have to use it. I keep these concerns in view and try to balance them with the technical things.
Quick Grasp and Clear Communication
I understand quickly. I can extrapolate and detect "holes" in my understanding. I am "active listener" in the sense that I articulate the current state of my understanding as well as the limits. In addition to the craft of software engineering and the technologies involved, communication in spoken and written form has been a major part of my professional career, as demonstrated by my books, papers, talks and podcasts.
Honesty and Openness
I have a well-tuned nonsense-detector. I speak up when I (think that) things don't work as they should and call out problems, expressing myself respectfully but clear. The quotation above was a consequence of on such "speak up".
Twenty Years of ReferencesAccenture
BMW Car IT
Bundesanstalt für Arbeit
Deutsche Post IT Solutions
Labor Dr. Gärtner
Rohde & Schwarz
Siemens Audiologische Technik