Hacker News new | ask | show | jobs
by pembrook 2327 days ago
The mentality of DIY and self hosting is the default for most hackers, and in my opinion its the number 1 thing holding back most engineers who build businesses.

I have a buddy who’s an amazing engineer, he takes pride in doing everything himself and spent years building a platform from the ground up. Elegant, fully automated, built in his favorite languages and frameworks. 3 years in it makes 50k a year.

I have another buddy who is non-technical, 2 years ago he built an ugly, janky platform off Wordpress and some plugins in a month. He does nothing himself, outsources everything. His business does $4mil a year.

4 comments

One of the problems that a lot of engineers have is failing to recognize that their time has a cost. Spending 4 extra hours of your own time setting up a mail server that will cost you $5/month to run instead of paying $10 per month for Office 365 or some other service is not really saving you money because that initial 4 hours of labor is time you could've spent doing other things for the business. It's not free time.

I find it really helps to put a dollar value on an hour of my time. In that context, if 1 hour of my time is worth $75 and I've spent 4 hours setting up this mail server, I've spent $300 on my labor in addition to the $60/year for the cost of the server. Obviously this doesn't work in all cases but it really helps me determine when it's worth it for me to spend my time doing something and when it's better to outsource it.

Counter points-

There is no telling if it will actually save time. You could be messing with configurations, have to learn their docs, etc... Or future migration could be expensive in both time and money.

The cost savings can/do exist. Especially as things scale or last a long time.

Custom is more configurable.

People overestimate their time worth? Sure you can theoretically work for 75$/hr, but can you get overtime/additional revenue that easily?

What is your value add? If it's software, I might suggest custom is best because that's your business. If you mash a bunch of software suppliers together, you become a middle man. I'm not saying that doesn't work, but I've seen companies go back and forth on this.

Another classic mistake is worrying about scaling issues and future configurability or migration when you don't even have a proven business yet.

There's a 95% chance your business won't last long enough to reach any scaling or migration issues. Tackle those problems when they start surfacing.

> There is no telling if it will actually save time. You could be messing with configurations, have to learn their docs, etc... Or future migration could be expensive in both time and money.

Sure. Every situation is different. This isn't meant to be universal. There absolutely are cases where rolling your own may be more efficient. However, my argument wasn't that existing solutions are no effort, just that they are often less effort than trying to do something completely custom or self managed.

Regarding future migrations, the same can be said in the opposite direction as well. You may get to a point where you need to migrate away from your custom solution to something more standard and you'll face similar time/money issues.

> Custom is more configurable.

Sometimes this is the case and sometimes it's not. Sometimes custom is very narrowly focused and as new use cases emerge requires significant rework.

> People overestimate their time worth? Sure you can theoretically work for 75$/hr, but can you get overtime/additional revenue that easily?

The number will vary for everyone. $75 may be too high for some and too low for others. If you're an attorney sacrificing billable time to do something administrative that could be outsourced, $75 may be low. The idea is to tie an actual realistic number to the value of your time.

> What is your value add? If it's software, I might suggest custom is best because that's your business. If you mash a bunch of software suppliers together, you become a middle man. I'm not saying that doesn't work, but I've seen companies go back and forth on this.

In software, I think it's important to know what your product is and to focus on your core competencies. I've seen lots of engineers decide that they need to build something from scratch that doesn't directly relate to their product. Could you build your own credit card processing system? Sure, but unless your business is credit card processing, it probably makes more sense to use something like Stripe. The same goes for lots of different aspects of your product and business.

I'm simply suggesting that you have a limited amount of time in each day and you should do what you can to get the most value out of that time. Don't ignore the value of your time and sacrifice it needlessly.

I was discussing lack of space in our office with my boss and how difficult it'd be to add extra people should we suddenly have such a need.He replied: these are nice problems to have. Same with scalability of your software: if you get to the point where it's an issue, you just hire much smater people with some of that momey you've been making so far and they'll solve it all.
> There is no telling if it will actually save time. You could be messing with configurations, have to learn their docs, etc... Or future migration could be expensive in both time and money.

This refers to self-hosted / diy tools: you have to do them all up-front. Most SaaS don't require configs or deep-learning compare to FOSS. Self-Hosted/DIY tools also require future migration. Especially when the self-hosted/DIY tools did not capture future requirements due to limited vision.

> Custom is more configurable

Technically SaaS provides API which allows folks to stitch up a few SaaS-es to automate their workflow if needs be.

I'd love to be the guy who outsources everything, but I don't have much cash to spend on these. Especially for someone based out of developing economies; $10 here and $25 there for a handful of SaaS services quickly builds up to 15-30% of your take home salary.
FWIW if buddy #1 lives in an area where 50k/year is enough, I would say it's still better off than most of the hacker-types, which also do this, but in their free time. At least he got to build a business around his hobby.

But I do understand the point you're trying to make. Obsessing over doing it yourself and perpetuating the NIH syndrome does more harm than good. There is a lot more chance that one's business will go out by their doing compared to going out because one of the services they depended on went out.

One is an engineer, the other is a businessman (salesman and fund raiser).
One is someone that over engineer, the other know where to put time and money to maximize returns.
Both are imaginary thou.