I spent a year at one client watching a large team hand-editing XML configuration files. No autocomplete, no validation, no navigation. They knew the schema by heart because they had to. It was 2015, and I thought, this cannot be the state of things.
It was.
The pattern was always the same
One internal commerce platform ran on custom template languages. The editors were plain text with maybe syntax coloring if you were lucky. In another place, the deployment configuration had its own DSL that no IDE recognized. Every large client had something like this - a language or a format that mattered to the business but was invisible to the tooling.
And the developers just lived with it. They memorized property names. They wrote helper scripts. They made do.
What consulting teaches you that product work does not
Consulting teaches you to see the same problem across ten companies. You walk in, you set up, and within three weeks you see where the tooling fails. It is always the niche languages. The template engines. The internal DSLs. The configuration formats that nobody at JetBrains or Microsoft has heard of.
I was not thinking about plugins yet. I was just annoyed. I came from the JetBrains world, where Java had autocomplete for everything, and then I would sit in front of a Freemarker template with nothing. Not even basic bracket matching.
From annoyance to product
When I built the first Freemarker plugin, it was to scratch my own itch from years of consulting. Then the Magnolia CMS integration, because I had done two Magnolia projects. Then the OFBiz integration - we ran ScipioERP on OFBiz, so that one was practically mandatory.
Every plugin in our catalog traces back to a real project where I sat across from someone who was editing that language in a plain text editor. I did not plan a plugin business. I accumulated one.
And honestly, I miss consulting sometimes. You solve a problem, you leave, someone else maintains it. Product work is the opposite - you solve a problem, and now you maintain it across six IDE versions forever. But I would not trade it. The consulting clients showed me the problems. Building the plugins is the part where I actually fix them.