Boeing’s 737 Max Software Outsourced to $9-an-Hour Engineers (2019)
bloombergquint.com
bloombergquint.com
It's inconceivable to spawn any human safety article outside of that culture into a vacuum behind a contract written by lay business people and PM's.
While the offshore team gets $9 an hour, the engineer itself gets a fraction of that. And those engineers are very well aware that you didn’t choose them because you think they’re amazing. They know you chose them because you don’t value engineering.
So regardless of whether they are good or not they’ll do the minimum work possible.
I remember a bigger automation softwares CTO telling me about a bigger enterprise that offshored their database change management process.
The process was defined as putting a word file put into a jira issue. At the end of the approval process some person in India had to paste it into the database shell. If word auto correct messed it up the whole process gets marked as failed and it started from 0. That person pasting into the database has no interest whatsoever on making any recommendations even if they could.
It is that the outsourcing is to people who incentivized to get the contract closed.
Same things with outsourcing in IT, the workers on the other side are generally economically incentivized to closing tickets. They don't get negative feedback about doing a bad job, so they just want green tests and their PRs getting merged.
Which is a reflection of the economic incentives in the arrangement between the two companies and how they are measured and how their bosses are measured.
You write the contract, and the workers wind up optimizing for the contract, not for the output of the work. It is sort of a machine that does exactly what you program it to, and the result is bad.
Calling it "culture" I think makes it feel more like its something ineffable that they're missing. Instead it is practically the result of an almost physical law. It isn't some kind of "esprit de corps" that they're missing, they're just acting like water flowing downhill following the gradient. The result shouldn't be a surprise.
And I've seen this at work with PRs submitted where the person clearly didn't test the code at all in reality since it was totally broken when you ran it, while the tests mocked things correctly so that they were green, sometimes tests being changed in ways that clearly show that the code is broken, but the person just charged again making it green rather than making it working. Just trying to get the code shipped to get the ticket closed to get the metric count bumped up by one, without any other care. Then you have to around and around with them on the right design because they always take the easiest route to green first, rather than the right fix.
The passage about sending the designs back 18 times until the people on the other side understood that they needed to hook up the smoke detectors to the electrical system sounds real familiar to me.
The whole lie about how American business uses scientific management principles where we measure metrics and make informed decisions is such a sad joke. The only measurement that mattered was $8/hr and the outcome wasn't measured because of McNamera's fallacy and the fact that the person who made that decision would get a bonus based on the short term sugar high it would give the financial numbers.
The end result of all this sociopathy though is that its becoming more and more flawed for workers to ever believe they should show any loyalty to any job. When managers are all looking for short term gain and workers are all job hopping to find that raise they can't get at their current job, we may find that our domestic production starts to look more like the quality that we get from outsourcing, along with the economy looking more and more like a third world scammy economy. Our incentives are getting very misaligned at home as well.
Hahaha this sounds like a side effect of test driven development.
Anyone who's worked in corporate for a few years should be able to see millions wasted. An accurate parallel for what's happening is not 'efficient market', it's a fashion show - some random fad becomes popular amongst management, most companies adopt it, some get burned.
Then it either passes unevenfully or collapses the whole economy like it did 14 years ago.
In company as big and old as Boeing,many teams work isolated and independently. I don't belive knowledge gets shared that easily. Also what I read about Boeing culture (I forgot where but reddit ama I guess), it was declined way back.
Blaming the problem on $9 offshore engineer really look bad on company. I have worked with $5 engineers as well as $100 engineers in past. As long as you don't have proper verification proess both can screw the system. I blame it on company executives who sidelined safety altogether.
* https://en.wikipedia.org/wiki/2013_Boeing_787_Dreamliner_gro...
Who is in charge of that team? Is there no bilingual, western trained person that can mange these problems?
Are they not understanding what needs to be done, or are they missing that many skills? Do they not recieve training? If training is not helping, why were these candidates selected in the first place? If these were the best candidates avaliable, why was that offshore office created to begin with?
At the time we also heard of a horror tales from the offshore team. In one case a new hire had gone through the interview process, accepted the job offer, showed up for the first day, just left and never came back after a better offer came in. Suffice it to say that the offshore QA team was not exactly high quality without the ability to retain employees. It was not like the QA teams I've encountered at other jobs where QA writes a lot of their own testing infrastructure and are on an equal footing with the developers. Sadly they were more like a glorified checklist processing system, and were probably in over their heads.
The biggest difference is distance, the time zone split, and cultural differences.
I say this as someone that thinks limiting insourcing raises wages in the short term.
See this a lot with sales also. Transactional client relationships promising the world to get the deal and hit commission multipliers. They then move to another company with "success stories" leaving implementation teams to reset client expectations.
I've certainly done this for sprints. I suspect if you examined code quality by when a ticket was started in a sprint, you would find it plummets a few days before the end.
What can you do if your bosses boss want everything cheap and fast. Or at least appearance of that.
If you bought some stock, and were forced to keep it for atleast 5 years, the CEOs would have to behave a lot more carefully (=good for the company in the long term), than they currently do. With millisecond stock tradings, noone cares about long term future, because the stocks are sold and rebought and resold again and again many times by many trading houses and their financial products.
You do have a point to be considered I just don't think it's enough by itself.
https://www.equilar.com/reports/3-equity-vesting-schedules.h...
It's all about the "sugar rush". Doesn't matter if the commodity is worth shit. The GameStop fiasco demonstrated that amply. It had no real viable plan, so it shouldn't have been worth a lot but you could artificially increase it's value.
It’s basically the same thing that led to the Volkswagen fiasco.
Unfortunately there’s so much code in these products, they start to believe they are SV style startups a fail whale situation has slim consequences when it’s completely opposite.
> The coders from HCL were typically designing to specifications set by Boeing. Still, “it was controversial because it was far less efficient than Boeing engineers just writing the code,” Rabin said. Frequently, he recalled, “it took many rounds going back and forth because the code was not done correctly.”
Key attributes here are:
- The engineers at the external firm isn't necessarily incentivized to get it right the first time.
- Boeing still has to have engineers on staff to write the specs, and the evaluate the work product of the contractors _repeatedly_ to see whether it meets the specs.
- If it's wrong, it's really really costly.
In that context, I think it makes way more sense for this stuff to be built entirely by people on staff.
The article doesn't discuss it and I don't know to what degree this is still at play, but for years after the merger with McDonnell Douglas, a lot of the Boeing people were frustrated with how processes were changed to depend on many more outside firms. Most of what I have heard centered on other firms producing substantial components that previously would have been done by Boeing itself. Whenever there was an issue with some sub-assembly, the Boeing people felt that if the work hadn't been contracted out, the issue both wouldn't have happened, and would have been faster to resolve.
Back when I was a DS9 working in the ASL, we’d sometimes use a full software stack to try something out with pilots and airlines. But the result was a spec that went to Honeywell for implementation. And then when we got their output, we’d put those hardware boxes into our engineering sims and see if everything matched up.
I don't think it's cheap to get an offshore team to do because the engineers might be cheap but the whole team + mgmt + reviewers are expensive. I have heard stories (from a person who did work in such environments) that the managers would charge a ton and do nothing basically. The work was handled by engineers and was reviewed by offshore people. Not sure what the managers were managing.
There are 2 advantages of an offshore team, especially India,
- Round the clock work
- Contractors can be hired for a few months and don't cost as much in terms of benefits that the company needs to provide to full time employees. So when you know work is going to pour in for 2 quarters, hire a bunch of a contractors. That way you don't have to pay for the equivalent on-site staff all year.
But obviously, this only shows up in quarterly financials and it's hard to judge the quality of the product over multiple years and iterations which is abused.
What these finance and business people fail to understand (or simply don't care about) is that every point of outsourcing becomes a point of friction. You now need to negotiate specs, deliverables, timetables and payments. There are often perverse incentives that reward change orders. You often get cost blowouts from "cost plus" pricing.
That, or a federal law.
The legal business is like this however. I'm fairly certain that, offices must be owned by lawyers. The thought being that if a law office was owned by a non-lawyer you'd have a conflict of interest if your boss told you to do something illegal or unethical.
What they do sometimes is have their top executives work every job first. Engineering of course, but also getting their hands dirty on the assembly lines, ordering from suppliers, maybe even fly the plane. So when they finish their years long path, they may be MBA, but they know what they are doing.
I doubt a leadership team half comprised of engineers would be significantly better than a current one.
https://s3.amazonaws.com/s3.documentcloud.org/documents/6974...
https://www.theatlantic.com/ideas/archive/2019/11/how-boeing...
That second article contains this incredible line from their CEO circa 2006
"When people say I changed the culture of Boeing, that was the intent, so that it’s run like a business rather than a great engineering firm.”
Anyone suggesting there's an easy answer to that is likely full of it. How expert, competent and interested are the board of directors? How do you know? Some people look and sound plausible and convincing but aren't. Credentials are not much guide, all the board candidates have them including the total self-serving Muppets. Even noting who was great 10 years ago might not care much anymore.
Boeing stock price is up more than 1% on the last day of trading. Not as much as Lockheed and Raytheon.
(I have searched the web to try to confirm a link; there are some articles[2][3][4] that mention both MCAS and the outsourcing, but I haven't yet seen anything to indicate that outsourcing was used for development of MCAS-related software)
[1] - https://en.wikipedia.org/wiki/Maneuvering_Characteristics_Au...
[2] - https://www.bloomberg.com/news/articles/2019-06-28/boeing-s-...
[3] - https://pulse.icdm.com.my/resource/boeing-a-plane-wreck/
[4] - https://simpat.tech/did-boeings-software-development-outsour...
Management was fully aware that a redundant AOA sensor was desireable: they charged extra for it. Management also demanded a product that did not require pilot training. Then there was the whole certification malfeasance.
The software was one piece of an impossible configuration.
I mean, sure, the designers should have known that, too. But by outsourcing the software development, they missed a chance to have the bad design questioned and corrected.
The flow of responsibilities is strictly hierarchical. If Boeing specified to to their outsourcers that the software should have read from two sensors, then the outsourcer would be 'in the wrong' if they didn't implement that. With a strict interpretation of the rules Boeing doesn't necessarily have to check their outsourcer's work (In Safety-Critical the outsourcer has not just a commercial but also a moral obligation to perform all actions with competence)... But at the same time, because Boeing retains overall responsibility for its products no matter who it subcontracts to, it would be a mistake to not double check the work.
So to at least some extent (at least with moral-tinted glasses), it doesn't actually matter whether or not the fault was introduced by the subcontractor or not. Boeing is responsibility either way, Answering your question only tells us if the subcontractor is also at fault.
It's very important to note that in the Aerospace world, the subcontractor's moral duty only requires them to do exactly what they're told to do (assuming that the subcontractor was only reponsible for software design and not systems design). If Boeing told them to use one sensor, then the subcontractor has done nothing wrong if they failed to notice that this was fundamentally unsafe.
This trend actually has lead to an decrease in software quality and more quality escapes.
The larger aerospace manufacturers have mostly stuck with more structured process for safety/mission critical process, but around the edges (e.g. other systems running on aircraft), less structure and faster turnaround/more "testing in the field" is happening.
There was always the "skunk works" type of teams in aerospace organizations who worked with a lot less guardrails as well.
Source: worked for an avionics company previously.
In the past 7-5 years the communication and techskills for a little better but it’s still no where near close to an onshore resource. However occasionally i find an offshore resource who is exceptional.
I made friends with one of them and he told me there is rampant fraud on the offshore teams. There's 2-3 people doing all the work, and they let other people claim it, because that's just the culture somehow. The off-shore managers are in on it and sometimes are one of the few doing the work.
He claimed this was the norm at multiple big-name contracting firms he'd worked for. I have no way of confirm any of this obviously, but it did offer an explanation for some of the experiences I had.
Could it be a question of caste hierarchy if in India?
In these times when “master” is renamed to “main”, I still find it strange that calling human beings “resources” is tolerated in the industry.
(I don't remember the exact source, I'd written a report of the Max-8 crashes and this was part of what I found. If you're interested in a generally excellent source for the accident/design flaws, the (latter) US Department of Transport report is excellent. I can also share my work if someone is curious, though its quality and depth is of course much lesser.)
Why are they paying american programmers 6 figure salaries then?
Because those companies are making an outsized profit from the relatively new and unregulated online advertising/marketing industry.
Plus all the other things people mentioned.
Those companies that are paying people in India $5-10K equivalent (I assume) aren't paying US employees 6 figures. The wage disparity is an implicit threat that their US employees cannot expect a raise ever, and should be happy not to be laid off. Most of the US is akin to "flyover country" even near the coasts and over $50K is a good living for people who will never consider moving to a megacity.
I think people occasionally ask in places like HN, "if corporations will go to the other side of the world to hire people cheaply, then why don't they go to low wage areas of the US" and the answer is duh, they do. Someone can go to no particular place in Appalachia and hire Americans who have no better options.
There are two obvious reasons (but I've never seen someone state out loud) why FAANGs or other prominent companies should outsource critical functions.
One is that super genius software engineers who make six figures often do not do an adequate job on anything they dislike or feel is beneath them. "Prima donna syndrome".
The other is that when super genius employees making the big bucks screw up in some extremely high-profile way, it's very embarrassing, and it's better to be able to point the finger at an external service provider, since at least they are (ostensibly) specialists and how could anybody be expected to know their inner workings.
For instance, Google had egg on their face in a court case a while ago, because they accidentally produced documents that tended to undermine their case vs Oracle.
They didn't account for gmail autosaved drafts, didn't group them properly with the final email that was sent, and so they didn't claim lawyer-client privilege.
Unfortunately, as they say, "you can't unring a bell" and once Oracle and the court saw them, they didn't agree that they were in fact privileged.
Subsequently they outsourced legal IT to a greater extent, and I infer a connection.
I don't know from an insider's perspective what their reasoning was, but it seems to me that outsourcing forces people to be more explicit about information sharing and provides a buffer.
Like, the engineers must know about gmail, and the in-house legal staff must know about producing documents, and they assume too much common knowledge because they're under the same roof.
Whereas if you send documents elsewhere, then you know they know nothing about gmail, and they know they know nothing, etc. And if you send similar documents, grouping them together is a standard generic process that will be done on everything.
If this all seems rather far afield from aerospace engineering, well, it so happens that one of the companies (I haven't worked for them) that people outsource legal IT to is one of the largest and best known aerospace/defence companies (but not Boeing).
When I found that out, I was like "Ah...their core competency is...paperwork! Of course..."
Lol at the industry thinking that deferred bundles and services discounts are revolutionary
I have always wondered about the consequences of vast numbers of devs working in fields they barely understand (myself included) and the relatively rapid churn of those devs.
That being said, in most places I have worked, developers don't get a lot of influence in big picture decisions. If Boeing is like that, it would not have mattered.
Feels like most of the commenters missed this from the article.
Very hard to complain against your financial master unless you fly on that plane make daily as a passenger,
This is bullshit. At least, for anything important.
> Bloomberg | Quint is a multiplatform, Indian business and financial news company.
So this is defintely bullshit.
Edit:
I don't even know what the implication they're trying to make is. Are they saying that the airplanes crashed because some incompetent Indians wrote the software?
The implication is that Boeing cares so little about the quality of the product that they are willing to pay $9 an hour for it.
Anyway, regardless of the merits of the offshore team, Boeing is still responsible for any flaws in their work product. You can't just point fingers at your subcontractors when you're the one who hired them and then signed off on their work.
There is a vast salary difference between software engineer and software tester.
Let's not sensationalize things unnecessarily.
“Senior company leadership,” the statement added, “was not involved in the review.”
Why is still there nobody in prison over this ?
Not all $9-per-hour engineers are the same. Been there done that. And some of these $9 may buy them more of their-own bread-or-house than the $$RICH ones can with their 6-digit $s. Thus being happier. Envy? Competition?
And of course it's always them outside teams that are to blame, while the actual elephant isn't.
On the other side, when you outsource everything, .. you're what, just a web-site? oh wait, not even that..
Everything non-core, like engineering or software should be outsourced to the lowest bidder.
I can imagine cyberattacks meticulously crashing airplanes during a time of war.
However, I can accept that expecting to get the same quality work for a fraction of the cost should be viewed skeptically.
In some ways it can be, though. Poor countries tend to be poor for a myriad of reasons, but among these reasons should be the lack of a quality education system. Wealthy countries tend to have excellent school systems and universities, and a better trained student body, than poor countries. If poor countries had the education systems of wealthy countries, they wouldn't be poor, but the reason that can't sustain a system like that is precisely because they are poor.
The partition of India happened 75 years ago, however. The British Empire is no longer a valid excuse.
This particular argument is usually made without understanding history.
India, the country, did not exist before British enslavement & colonisation. India’s diversity and size are comparable to the entire EU, with double the population. I don’t see why 75 years is /too long/.
It's quite tiring to hear such naïve takes. I would really recommend reading some books…
How many years would it take for a colonized country to develop. Does anyone have an answer? You can't show countries like singapore (too small and practically a one party country). South Korea (was a military dictatorship, homogeneous population).
I work on compilers for a living, but I couldn't build an IC if you put me in front of an EUV machine. Does that mean that I don't have an understanding of how things work "under the hood"?
But in my experience, people saying "under the hood" are using it with respect to the level of abstraction they are working with. There's a major inflection point in effectiveness when you go "one level deeper", or understand how the tools you are directly using are implemented, even though there are certainly many layers of abstractions below those tools. It helps a ton with debugging and performance work, and you start to really understand the limitations of your toolchain.
BTW, nobody is an expert within just 3 years. That is a key indicator of a Dunning-Kruger moment that becomes clear by drilling down just a bit into key performance indicators from research and experience.
This isn't a satisfying explanation, since "putting text on the screen" can be a pretty complicated task. My limited understanding of web development is that the conceptual model is actually a decent bit more complicated than non-web-developers give credit, and React seems like a prime (if somewhat self-inflicted) example of that.
A trivial example of someone being an expert in 3 years is being the original creator of a thing. Time is a sufficient factor, but I don't think it's a necessary one (and we acknowledge this implicitly by acknowledging that people learn at different rates).
As the creator of a once extremely popular productivity tool I can firmly attest that being the creator of such tool is not a sufficient qualifier to elevate one to “expert” of the given problem space provided just 3 years time.
Or is it just keeping them away from new competitors. Or just general games of corporate fiefdom and team sizes?