The Price Of Doing It Yourself

Why sometimes it's cheaper to buy, rent or outsource

Hey friends! Big news this week: this newsletter is growing and moving over to beehiiv!Don’t worry, however! There’s nothing you need to do; I’ll still (semi-) reliably show up in your inbox next week! (If, for some reason, you don’t hear from me by Wednesday, you can re-subscribe over at www.julianengel.me)

I need your help! I am considering changing the newsletter's name from Inside The Mind of One Julian Engel to No Imposters Here. The reason is that for most of my professional life, I’ve struggled with Imposter Syndrome and feeling out of place, and now, through this creative outlet, I’d like to explore how to overcome that further.It’s a work in progress, so please let me know your thoughts by hitting reply!

Ahh, the joy of building things with your own hands. Many times over the years, as I’ve gotten frustrated with yet another bug (issue) in my code, I’ve thought to myself how amazing it would be to have chosen carpentry. You build something, and then you have it in front of you. You can touch it, feel it, and admire it. No Windows update will break the table overnight, and it’s easy for others to understand what you made.

Alas, I’ve picked my poison, and it was Software Engineering and development. Don’t get me wrong; I loved to code. What drew me in all those years ago was this promise: that you could go from nothing to something in a matter of a few lines of code. Once you had the idea, you could write and experiment, and soon thereafter, you had a working app or site.

This proved even more true when I started working with clients and professional environments. The thrill of building tools on your own, to which subscriptions would run high monthly bills for a fraction of the cost, was challenging to describe. On the one hand, I had full customization and control; on the other, we could keep costs low. As I progressed in my career and learned more about the world of open-source projects and hosting software yourself, I was once again amazed. Many of the tools businesses relied on, such as forms, task management, authentication, or even analytics, were provided by the community of makers who built and maintained them. All you had to do was clone the code, deploy it to the server, and voila - you’re up and running. Without exorbitant monthly or licensing fees, the benefits were countless - as long as there were no issues, that is.

Unfortunately, time is a cruel teacher. It has a way of revealing uncomfortable truths we'd often instead ignore. While hosting and building things on your own is immensely satisfying on a personal level, in a professional context, it comes with a hefty price tag that's not always apparent upfront. That price is time.

At the start, the passion and intrigue are high. You don’t mind the hours spent setting up self-hosted tools and getting things running and working, and every misstep is a learning opportunity. Maybe you even spend time outside work tinkering on these things as these exciting new projects take hold. You don’t see time fly by and enjoy what you do.Things change weeks or months later when an update completely destroys your server, a wrong line of code entered between meetings causes half your database to be destroyed, or the maintainers of the projects you rely on decide to abandon their work. Suddenly, you’re stuck fixing things you know little about, being forced to read the documentation of tools that advanced rapidly so that you don’t recognize the new patterns needed. You try to understand the code you yourself once wrote but now cannot un-jumble. Instead of working on a new business plan or marketing campaign, you crawl through StackOverflow and old conversations on public forums. You lose hours trying to recover business-critical data or days and thousands migrating it to hosted solutions elsewhere. The stress takes a toll, and there are few people you can talk to about this. You don’t want to worry clients or co-workers after all. You fight the fight on your own until the day (and data) is finally saved. You write down what you have learned, share it with the team and community, and move on. (Yes… This was inspired by a recent weekend moving servers, and for the technically inclined, you can read that tutorial over on dev.to)

In our world, time is money. Every hour spent reinventing the wheel (no matter how satisfying that may be at the start) or fixing these issues is an hour not spent on your core competency, on delivering value to your customers and company.

I've learned this lesson the hard way over the years. Now, before embarking on any technical endeavor, I ask myself - is this really the best use of my time?

More often than not, the answer is no. It's usually more cost-effective in the long run to buy an off-the-shelf solution, to pay a bit more every month for a managed service, or to bring in an expert rather than trying to become one yourself in a domain that's not your core focus. This realization was hard-won. It went against my instincts as a maker, as someone who loves the craft of creation. But it's an essential part of maturing and learning and reiterates two core truths:

  1. You have to spend money to make money

  2. You cannot do everything (even if it seems exciting and tempting)

This isn't to say that there's never a place for building things yourself. There are times when off-the-shelf solutions won't cut it, when the needs are so unique that rolling your own is the only way, or when a proven and tested solution can be deployed and left running with little to no maintenance. (Huge s.o. to CapRover, Supabase, and Plausible here). These instances are rare, and they should be treated as the exceptions they are.

Ultimately, I’ve learned that the price of doing it yourself is often higher than it appears. It's paid not just in dollars but in the most precious currency of all - time. And sometimes, the wisest investment is knowing when not to build, but when to say, "This is a problem that's already been solved well enough."

I sometimes wish I had learned it earlier. But then again, some lessons can only be learned through lived experience, through the bumps and bruises of trial and error. And let’s be honest… at the time, building everything on your own was incredibly fun.

Love from Bologna (stuck in a national train strike),

Julian

Join the conversation

or to participate.