Hacker News new | ask | show | jobs
by superdisk 1047 days ago
Problem: We need to outsource the software to India.

Solution: Put a way overpowered computer in the product so they can program it.

Ridiculous problem with a ridiculous solution. Are they allergic to any level of correctness? Sometimes I'm ashamed to be in this industry.

3 comments

I've struggled with this question myself so I'll just put it out: what makes using something that's more powerful than you need - and less expensive - wrong or shameful?

The only product that matters to a customer is one that exists, and if this approach saves you money, lets you prove product market fit, or allows the product to keep existing longer - isn't that more important than the fact the Pi has more parts than you need?

What if the jet ride cost 25% less than the drive? What if they're only using the jet to prove demand exists on the route? Optimization only makes sense in the face of scale, but you need to get to the scale first.

My lament is more about the unrelenting desire to degrade software from being robust, well designed, and fit for the task, to fungible slop pouring out of a pipe from whoever is cheapest. In no other profession (architecture, construction, teaching, anything) would that mentality be tolerated.

The unnecessarily wasteful hardware is just one of the (ultimately more benign) side effects of that.

> In no other profession (architecture, construction, teaching, anything) would that mentality be tolerated.

This is exactly what happens in other industries as well, it is not a software only problem.

I think all of the areas you listed have the same desire pushed on them. Maybe even more so than in software. Being able to universally seek products or services that are not cost optimized is an extremely rare opportunity. Most everyone grapples with scarcity of some type before they grapple with not having the most robust and well fit option every time.
The phrase that I've cautioned other engineers with over the years is "you don't get extra points for making it harder."

You really don't. And in most cases, making it harder means that you're probably making it buggier.

Why outsource to India?

Pick any random set of Software Engineers from any country. I guarantee you that you are more likely to find people who can develop fast on an RPi than on an ESP32.

Now if you're a startup needing to build very fast and iterate quickly, it's obvious you're going to use the RPi4. Then, once you've grown, you can make the system more efficient, port it, etc. It'll be a growing pain, but a sustained one. And without being completely immersed in ridiculous amounts of VC-funding (hopefully)

I'm the CTO of a company who helps startups go from the idea to the scale-up phase. We helped build a tiny startup to one of the most promising startups in europe using this idea. We're very proud of what we've achieved. Could we have built something with an ESP32? Sure, and we might have even made it in the same timeframe given the amazing team we have, but it was less risky to bet on the RPi than the ESP32.

In fact, the first iteration had an ESP32 and we were brought in because they needed to move faster and it was becoming hard to develop for and iterate at their pace. Again: perhaps we could have built the same with the ESP32, but it's a matter of risk analysis!

Sometimes I feel like people talk about these things in a kind of vacuum of perfection and utopia, outside of the real world. In the real world things get messy and move very fast. Supply-chain issues arise, hardware has to be swapped, people move cities and quit their jobs. Where we have excelled as a partner is in dealing with very very very fast change and using an ESP32 for that would have made things harder. Now instead of a dead product there's thousands of the thing we helped build out there, and growing. And we're finally moving away from the RPi4.

Technology is actually a very small part of what we do. Most of it is creating the logistic and the "system" around the technology to get everything to work. Sometimes, as engineers, we forget that.

you can outsource esp32 developement to india just fine. the fact that someone decides to use overpowered hardware so he can develop crapware is independent of where the crapware is developed
An ESP is a chip, not an SBC. So then you have to pick an off the shelf SBC from a different supplier which is either (a) hobby grade, see OP or (b) much more expensive or (c): you have to do your own electrical engineering, component selection, BOM, PCB layout, PCB manufacture, assembly, deal with a contract manufacturer - do EVT, DVT and PVT - ramp production, test/validate, package, stock and distribute the units. (c) is going to delay you 6-12 months.

We also don't know anything about the quality of the software running on those devices. I've seen some awful crimes against computers committed in embedded software - and I've seen some pretty well written software on more capable machines. And v.v. of course.