A New Approach to Solving Plumbing Problems in Software Development
I’ve spent my career in software building data driven applications. My first app was a command line tool to catalog our high school geology class’ rock collection and 17 years later I ended a Tenure at Trello as a software engineer. If you’re like me, never having specialized in any layer of the stack, you may have noticed a lot of redundancy as changes at one layer cascade throughout your applications.
Certain tools like ORMs often solve this problem for two adjacent layers (eg. database -> API). Others, like low/no-code try to abstract away all layers, but fall short when you try to do anything custom or unique, and lock you into their toolchain. This paradigm doesn’t appeal to me because I don’t want to stop writing code, I’m just tired of all the plumbing.
There are also code generation tools that can help with the initial bootstrapping of a new project, but don’t provide any help with existing project and start to break down when you make any modifications to the generated code.
I’m working on a new (currently unnamed) project to solve as many of these problems as I can without taking away any of the power you have while writing code. As an accountability tool I’ll be providing weekly updates talking about thoughts and progress. Going to give this whole #buildinpublic thing a try.
PS: Thanks to André for the push to get started!