Over the last few months, I happened to have the
opportunity to catch up with several former co-workers. On each of these occasions, when the topic of current 'work' came up, I touched on something that I've been thinking a lot about recently. I've been lucky to have experienced several major software paradigm shifts in my career and been 'early' on migrating to them. This has made things interesting to say the least, but it's amazing how much 'reinventing the wheel' I've had to do.
My paid software
work started with desktop applications written in C/C++. I quickly moved into web development... initially front end and then back end. Next, a merger of the two... 'thick' clients that talked to web based protocols. This preceded the notion of RESTful APIs and things like that. These thick clients eventually morphed into elaborate peer-to-peer infrastructures and ultimately into what became Web 2.0. Mobile development came on the scene and there was a brief period
where voice assistants were all the rage. Now I'm most excited about the marriage of AI and blockchain.
Each time I moved to the new 'frontier', it always amazed me that the necessary resources to write good software for that paradigm didn't exist and I'd always get involved in trying to build it. Lack of development environments, testing infrastructure, libraries and building blocks to write real software are/were real problems in each of these.
Why am I discussing this? It's because I've spent a lot of the last month working with a common theme that I've been pulled into in all of these phases of my career. Shopify introduced the concept of Metafields over a year ago, but they're finally rolling out infrastructure that allows end user shop owners to really leverage it.
Anytime software needs to be used by a variety of users that interpret an ontology differently, building some form of easy to understand 'Metaprogramming' into the tool becomes appealing. Anyone who's worked with me during my 'pharma' days knows all about this and the elaborate infrastructure we built for allowing our solutions consulting team to 'customize' the product for the way that
each pharma company wanted to use it. What most don't realize is that this grew out of ideas from my earliest days as a software developer. Just like that, things have come full circle and we are once again reinventing the 'meta wheel'. Have you experienced
this same phenomenon? Drop me a line, I'm interested in hearing about your very own wheel reinvention that you find yourself regularly involved in 😂