I have the mentality of self hosting and diy, cheap, better understanding, and imo more reliable.
Most these services have a learning curve anyway. Are the services really worth it?
I have the mentality of self hosting and diy, cheap, better understanding, and imo more reliable.
Most these services have a learning curve anyway. Are the services really worth it?
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.
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.
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.
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.
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.
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.
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.
Yes.
> self hosting and diy, cheap, better understanding, and imo more reliable.
What is the cost to get something that has a better uptime than the SLA's of the services you are replacing?
Focus on getting to paying customers. After that, you'll see where your time is better off spent.
Example: I just signed up for a trial for Stripe Sigma. I was going to build my own basic BI using their API. Instead it costs my business ~$10/mo at our size. Now I can spend what would have been time to build, test, deploy that service, to instead just answer the business questions I had.
The tradeoff of buying is that yes, you are at the will of the service provider, but the alternative is taking on all the technical debt of building your own services. For most, $N/month is cheaper than putting the maintenance hours in, even if it means needing to find another service provider if one is changing.