Leaders are Tool Builders: Why I Wrote My Own Javascript UI Framework
A few hours back, I open sourced a UI framework for Javascript that my company developed called Cami.js (https://github.com/kennyfrc/cami.js).
For non-technical folks, Cami.js is a code library that aims to maximize developer productivity - providing the power of Meta's React.js with the simplicity of lightweight libraries like jQuery. I wanted a framework with React's capabilities without all the complexity.
So far, the feedback on Y Combinator’s Hacker News has been encouraging: (https://news.ycombinator.com/item?id=38143844). As someone with an Economics background, I've always felt insecure about my programming skills, so it's great to hear some positive comments from folks more experienced than I. I took on the Head of Engineering role in my company as we gave ourselves the challenge to diversify our solutions (marketing agency + marketing technology), and so I challenged myself to step up and "figure it out" (entrepreneur life, eh?).
Some may ask: "Why spend so much effort creating something like this?"
My answer is simple:
Leaders are system builders and tool builders. And great businesses develop advantages from the distinctive systems crafted by such leaders.
Developing my company’s own unique systems is how I developed my marketing team in Monolith, and this is how I intend to develop my engineering team as we create software products for my company.
If you’re a technical leader and you adopt React.js, you are, in effect adopting a strategy created by Meta. Their objectives and organization profile is likely different from yours, so why copy that? React.js started due to the problems caused by developing Facebook Ads Manager — do you have the same situation too? Do you have the same talent pool and organizational size to handle React.js’ complexity?
When you develop your own original systems to the specific problems your company has, you’re better positioned to solve it in the most correct and complete way possible.
React.js was built for very large teams whose software needs require rendering thousands of data points and media in milliseconds. We’re a small team and our interface requirements are different. Cami.js was built for my company’s use cases.
General best practices can only get you so far. This is why we have our own software development framework.
This is why I strongly advocate for “Technical Leadership”, not “General Management”. GE-style general management is great for established industries, with well-known problems, but in highly dynamic industries like digital marketing & software, technical leadership is required.
I humbly suggest that leaders shouldn’t settle for off-the-shelf solutions. Roll up your sleeves and build the right tools for the job at hand. The systems you craft will become competitive advantages that can't be easily replicated.
My hope is that Cami.js empowers our team to do great things. But more broadly, I want to inspire technical leaders to have the confidence to build their own frameworks, systems, and cultures from the ground up.