Hiconic is quite an unusual story.
From technical perspective it’s a remarkably ambitious project, a tiny company developing its own framework based on a new (model-driven) paradigm, trying to outcompete established players like Spring.
From managerial/executive perspective it’s a cautionary. It’s a contrast between creativity and drive for quality of developers, and total lack of competence and self-awareness by the management. Almost like Leonardo da Vinci working for Michael Scott.
Hiconic has its roots in a proprietary software written decades ago using the old Spring framework. This software was quite successful back in the days, deployed at multiple big customers like the Austrian Uniqua.
Still, this SW was a patchwork to a big degree, e.g. customer specific configuration was applied by scripts replacing snippets in XML files. Over time it reached a dead end, as far as I understand, it was so full of workarounds it was almost impossible to extend.
On a parallel track a newer SW was being developed, much more ambitious. Even though the project started as a small tool to configure the old SW’s client, thanks to Dirk’s efforts in creating a truly robust, general-purpose, customizable solution it slowly turned into a stand alone framework. It was around that time I joined the company.
In this situation you’d expect an effort to migrate the legacy customers to the new SW, once it’s ready. Instead, I witnessed a spectacular business suicide.
The management, in their infinite wisdom, decided to terminate contracts with all existing customers, despite not having a replacement yet. We’re talking about a ~60 employees company and customers paying mid 7 figures per year. This sent the company to a decade long journey of looking for new investors and unfitting projects just to earn some kind of revenue.
Somehow, serious customers were acquired, including giants like Credit Suisse and J&J. Many other deals were however closed by clueless people on both sides, resulting in situations where our team didn’t even know what we sold and the customer’s team didn’t know what they bought.
Still it seems there was a path to revive the company by focusing on a few key projects, but the CEO started a new project every month instead. Most notable examples were a co-working space, another one a music club right under the offices
These side projects were heavily cash-flow negative, subsidized by the few projects that turned a profit. I’d think taking money away from successful projects to fund unsuccessful ones is the exact opposite of what should be done, but what do I know.
In the end, many customers lost patience and moved on, parts of the company were split away as a way to pay out investors. The team was decimated and only a few people remained - those who put their soul into the tech and wanted to save it.
After many months of pointless discussions the tech was open-sourced. Probably a decade too late, with no community, only a partial overlap with the latest trends and a repository full of legacy stuff that needs sanitization.
Nevertheless, we’re still trying to make the best of it, and hopefully find a way to at least extract the key ideas and know-how and offer it to communities with popular technologies. We’ll see.