Hacker News new | ask | show | jobs
by naasking 893 days ago
> an engineer-led culture made it more difficult to compete in a cost sensitive environment.

I know this is a common sentiment, but I don't quite get it. Engineering is often about optimizing multivariate functions, and cost is just another variable to optimize. If you frame it properly to engineers, they can solve cost problems too.

4 comments

Agreed. Maybe I have become too much of a PHB, but I find that engineers (or scientists in my case) really love having cost as one of the visible metrics to optimize for, and will generally do a fantastic job at evaluating it amongst quality concerns. At least much better than management can do.
I agree. In most of the places I've worked, devs have always taken costs into account as part of the design and development decisions, to the degree that they can. But at most companies, things like cost, expected ROI, etc. are never revealed to the devs, leaving it to guesswork.
They are often surprisingly ruthless when given cost as part of the objective as well.
All the good engineers I know will prioritize the product though. "Accountants" will prioritize the cost. The "cheapest good product" and the "best cheap product" are almost never the same. The the latter is what you want to pay for but the former is what you want to have.
I think this is an oversimplification. Engineers prioritize the product, as they should, but what the best solution is depends on the constraints, and that includes things like cost of production, target price point, etc.

"Good, cheap, fast: pick two" is a law of the universe that most engineers deeply understand, and good devs will produce the best product they can according to which two are chosen.

Given the choice between cost optimized and safe, fast, cool, etc very few engineers are going to go for cost savings. If there's no bean counters in charge and no market cnstraints its obvious that the product is going to be really good and really expensive.
So make cost optimization cool. I always enjoyed getting rid of production hardware and running as lean as possible within operational constraints. Incentivize cost reduction with benefits proportional to the savings.

You know what’s cooler than an expensive thing? A high quality thing with higher margins. A very well known and highly profitable company has taken that model pretty far (like trillions in valuation far).

Higher margins are not really cool unless you share them, which the engineers probably did not.

Engineers arent really responsible for these types of attitudes though. Management are. By and large engineers will do as they are requested.

I find it far more plausible that costs ballooned due to an empire building dynamic by management than because engineers arm twisted them into building something "cool". Same reason Uber has, like, 150 people working on a mobile app.

"Any idiot can build a bridge that stands, but it takes an engineer to build a bridge that barely stands."

Engineering is all about fitting within your constraints. Make budget one of those limits and life will uh find a way.

> If there's [...] no market cnstraints its obvious that the product is going to be really good and really expensive.

Well sure, you literally just removed the cost optimization variable. SpaceX vs. NASA is a clear example demonstrating that engineers can do this sort of optimization when it's given to them as a constraint. NASA's rocket designs were all custom, single-use, often down to the bolts because the budget was per-project/launch, where SpaceX rockets were designed for reuse and cost minimization across multiple launches.

Spacex also had the very small advantage of all the basic science being done for them for free. The constraint in the NASA golden years wasn't getting it done cheaply, it was getting it done at all.
Rockets haven't changed much since the 60s. This doesn't explain all of the launches since the Space Shuttle, for example. Furthermore, SpaceX clearly innovated with their reusable rockets, but this is exactly the kind of cost constraint that commercial ventures prioritize which government ventures often don't.
Much of engineering is "bean counting" but not beans. I think that engineers will do some CYA around safety, but they also appreciate the money arguments because they are inherently numeric in their evaluations.
Minimum Flyable Plane
> If you frame it properly to engineers, they can solve cost problems too.

In eng school there was a saying: An engineer is someone who can build something for $4 that any fool can build for $7.

This is too simple. For large endeavors (building a plane) it is impossible to formulate all contributions to all quality criteria/cost and constraints into a technical engineering optimization problem. Let alone when re-structuring and optimizing the company organization and processes to build those planes at the same time.
> For large endeavors (building a plane) it is impossible to formulate all contributions to all quality criteria/cost and constraints into a technical engineering optimization problem.

It's obviously possible, SpaceX vs. NASA is an existence proof. Maybe you have something specific in mind when you say "technical engineering optimization problem", like a formula you can minimize mathematically to account for every little contribution, but this often isn't necessary. Like when solving physics problems using approximations, you often only need to minimize the first and second order largest contributors to the cost and you'll be in the right ballpark.

This also means you don't need to find the literally absolute minimum and capture literally all of the contributors to the cost during the design process. And of course this is what happens in the real world already, do you think accountants and pointy haired bosses guiding a bunch of engineers are going to find the absolute minimum? Of course not, they find what looks like a minimum from their limited view of a project after the engineers estimate the costs of producing parts and the labour required. Just close the loop without the accountants and bosses and engineers can do this optimization themselves.

I agree with you and you basically make the same point as wanted to make: you can’t just frame it as an engineering problem, it involves accountants and bosses. So your original statement „If you frame it properly to engineers, they can solve cost problems too.“ is too simplistic in my view.
> you basically make the same point as wanted to make: you can’t just frame it as an engineering problem, it involves accountants and bosses.

I disagree that I was making this point. I said it currently involves accountants and bosses, and I'm saying it doesn't have to because you can make it an engineering problem. The accountants and bosses don't have any unique skills or insight here that aren't in principle also accessible to the engineers.

Ok, then I misunderstood, and we can only agree to disagree. I think there need to be people caring about organizational stuff which you cannot fully formulate as engineering problem: setting deadlines, putting teams together, determining team leads, determining how much budget is spent on which branch or discipline or even which part development. In addition, even more technical problems like calculating and comparing costs resulting from parts-Design over the full product lifecycle (design, manufacturing, usability, maintenance, repair, disposal) is not feasible today. And using approximations amounts to making assumption and thereby decisions up-front, where you usually cannot oversee all their implications. Designing complex machinery and shaping the organization which builds them is hellishly complex.
> I think there need to be people caring about organizational stuff which you cannot fully formulate as engineering problem: setting deadlines, putting teams together, determining team leads, determining how much budget is spent on which branch or discipline or even which part development.

These are mostly hacks to get around the fact that the engineers haven't been given enough information. If you just say, "we need product X that can be produced at cost Y/unit and we need to start production by date Z", then this is a satisfiability problem that the right set of engineers can evaluate as possible or not possible. It's fine to assign a team lead with the requisite experience and authority to pull in the engineers, equipment and data they need to answer this question, but then you get out of the way.

Answering this question involves laying out a semi-detailed plan for how to achieve the goal. If it turns out to not be possible within the given constraints, then you at least have that plan to inform you where the expected cost or time overruns are (or the unknowns/uncertainty), and whether that means you have to revise the expected selling price, deadline or you can compromise on the scope to achieve the desired selling price.

I will agree that some engineers and programmers really don't care about this stuff, but I'd argue it's because it's typically not part of their job, and sometimes because worrying about costs and schedules is not an "interesting problem". But it is an interesting problem if you frame it as set of optimization and satisfiability problems.