$9 Per Hour Code in Boeing Jets
What matters the most, surely, is the experience and competence of the software engineers, not their nationality or how much they are paid.
Adequate integration, testing and validation of the software should ensure its integrity and effectiveness; even experienced coders can make mistakes but the software development process should ensure that such incidents are caught and rectified before they get a chance to be released
Adequate integration, testing and validation of the software should ensure its integrity and effectiveness; even experienced coders can make mistakes but the software development process should ensure that such incidents are caught and rectified before they get a chance to be released

Join Date: Feb 2015
Location: The woods
Posts: 1
Likes: 0
Received 0 Likes
on
0 Posts
“when such a problem occurs” is a bit too woolly a term here.
If the problem is just an uncommanded trim runaway, the convenient switches will likely be off pretty damn quick.
If the problem is AoA error-caused: Stall Warning, Speed Disagree, Stick Shaker, and upon flap retraction MCAS massive forward trim input , while already trying to sort out the preceding mess - and pretty soon augmented by ground proximity warnings, then it may well be, that the convenient switches are not the first thing anybody thinks of.
Even something as routine as reducing power might be delayed / missed due to all the distraction, as we see in the last case.
Not condoning the actions / lack of actions but trying to explain them.
Guest
Join Date: Apr 2009
Location: On the Beach
Posts: 3,336
Likes: 0
Received 0 Likes
on
0 Posts
What matters the most, surely, is the experience and competence of the software engineers, not their nationality or how much they are paid.
Adequate integration, testing and validation of the software should ensure its integrity and effectiveness; even experienced coders can make mistakes but the software development process should ensure that such incidents are caught and rectified before they get a chance to be released
Adequate integration, testing and validation of the software should ensure its integrity and effectiveness; even experienced coders can make mistakes but the software development process should ensure that such incidents are caught and rectified before they get a chance to be released
Most important is loss of tight control over coding when the programming is partially farmed out.
Join Date: Feb 2015
Location: New Hampshire
Posts: 152
Likes: 0
Received 0 Likes
on
0 Posts
The article does not specify what Boeing code was written by HCL at rates as low as $9/hour - other than to say it wasn't MCAS.
The "work-around" quote is not specifically attributed to a student worker. Though anyone is allowed to have an idea - and if the system architect and review panels approve it, a $9 worker could appropriately put that claim on his or her resume.
By standards, all life-safety code is reviewed and methodically tested. This includes module "unit testing". The unit testing is an exercise in proving each separated piece of the code that will end up on the product (aircraft) is working as it should and contains nothing more or less than it should. Unit testing itself requires programming and those programs are then checked automatically (by generating code coverage reports) and manually reviewed. In many cases, I would not have a problem with a $9/hour Indian programmer taking a shot at that unit testing chore. Chances are that it would take him or her many tries before getting their first assignment through the review process - but it would be a safe thing to do.
So, as a software engineer, I do not find that article disturbing or even news-worthy.
The "work-around" quote is not specifically attributed to a student worker. Though anyone is allowed to have an idea - and if the system architect and review panels approve it, a $9 worker could appropriately put that claim on his or her resume.
By standards, all life-safety code is reviewed and methodically tested. This includes module "unit testing". The unit testing is an exercise in proving each separated piece of the code that will end up on the product (aircraft) is working as it should and contains nothing more or less than it should. Unit testing itself requires programming and those programs are then checked automatically (by generating code coverage reports) and manually reviewed. In many cases, I would not have a problem with a $9/hour Indian programmer taking a shot at that unit testing chore. Chances are that it would take him or her many tries before getting their first assignment through the review process - but it would be a safe thing to do.
So, as a software engineer, I do not find that article disturbing or even news-worthy.
In offices across from Seattle’s Boeing Field
Washington State's minimum wage is $12.00/hr. So finding an office building just outside city limits isn't going to help much either.
Join Date: Jan 2011
Location: Where databases don't crash
Age: 47
Posts: 30
Likes: 0
Received 0 Likes
on
0 Posts
We have been building roads, bridges, buildings, and various structures for 6000 years or so. The engineers and architects have a very well established procedures, tools, materials, and experience to do so. The same goes for vehicles, starting with ships, simple carts, then motorized trains, cars, and in the last 100 years even flying machines.
Yet, we have been developing software, for commercial use, for only the last 50 years or so, and that’s being generous. We have no concrete knowledge on how to build it properly. The tools change every couple of years, the methods and technologies change every decade. We are deluding ourselves if we think that we are "software engineers". We are organized and supervised hackers, at best.
Handing a bunch of specs to a coder, be it in India, or in a building across the street forum Everett field is not going to yield good outcome if he is not intimately familiar with what actual situation he is going to solve. I have seen, time and time again, code written that did exactly what the spec said and completely missed the mark in what it was intended to do. Furthermore the test cases, written for QA guys, only specified actions and expected results, which in most parts it met. Very rarely are QA people told to "go at it" and try to break the code by doing things in order or in combination with other functions, it was not designed to do.
I can can get a piece of new code and usually find a fatal flaw in a few minutes. The programmers would say "but you weren’t supposed to do that". Yeah, right I wasn’t but I did, now what did you do in your code to make sure if I do I don’t succeed?
So the question is not whether someone is paid $9/hr or 90. It boils down on his experience and aptitude towards the industry he is working for. The problem with experience is that we usually promote programmers into higher levels of management just about the time when they start to be competent.
The other problem is that "one size does not fit all" when it comes to programming. When constructing a building we can use a plumber or an electrician who works on different types of buildings. Apartment buildings, single dwellings, office buildings, hospitals, whatever. Soldering a pipe and installing the fittings is the same. Running wires and installing light fixtures and breaker panels is the same. The only thing different is the size and scale. But when it comes to programming, just because a programmer is Java coder, that does not mean that he deals with financial software the same way as he would with hospital HVAC software, or aircraft monitoring and control software.
So I think we have at least few hundred years of experience to collect before we can call ourselves true "software engineers". Until then, we are just glorified hackers wandering aimlessly in search of meaning.
Yet, we have been developing software, for commercial use, for only the last 50 years or so, and that’s being generous. We have no concrete knowledge on how to build it properly. The tools change every couple of years, the methods and technologies change every decade. We are deluding ourselves if we think that we are "software engineers". We are organized and supervised hackers, at best.
Handing a bunch of specs to a coder, be it in India, or in a building across the street forum Everett field is not going to yield good outcome if he is not intimately familiar with what actual situation he is going to solve. I have seen, time and time again, code written that did exactly what the spec said and completely missed the mark in what it was intended to do. Furthermore the test cases, written for QA guys, only specified actions and expected results, which in most parts it met. Very rarely are QA people told to "go at it" and try to break the code by doing things in order or in combination with other functions, it was not designed to do.
I can can get a piece of new code and usually find a fatal flaw in a few minutes. The programmers would say "but you weren’t supposed to do that". Yeah, right I wasn’t but I did, now what did you do in your code to make sure if I do I don’t succeed?
So the question is not whether someone is paid $9/hr or 90. It boils down on his experience and aptitude towards the industry he is working for. The problem with experience is that we usually promote programmers into higher levels of management just about the time when they start to be competent.
The other problem is that "one size does not fit all" when it comes to programming. When constructing a building we can use a plumber or an electrician who works on different types of buildings. Apartment buildings, single dwellings, office buildings, hospitals, whatever. Soldering a pipe and installing the fittings is the same. Running wires and installing light fixtures and breaker panels is the same. The only thing different is the size and scale. But when it comes to programming, just because a programmer is Java coder, that does not mean that he deals with financial software the same way as he would with hospital HVAC software, or aircraft monitoring and control software.
So I think we have at least few hundred years of experience to collect before we can call ourselves true "software engineers". Until then, we are just glorified hackers wandering aimlessly in search of meaning.
Join Date: Mar 2006
Location: Vance, Belgium
Age: 61
Posts: 242
Likes: 0
Received 0 Likes
on
0 Posts
Thank you for that pinch of humour.
Just wondering what is that place where databases don't crash.
I believe the 3 major sins of software engineers (or whatever you want to call them) are:
- not trying to understand IN DETAILS what the piece of software will be used for,
- not mapping the full vector space of the input parameters, or assuming a limitation in this space that will be a responsibility of another piece of software,
- designing strongly coupled complex systems and failing to understand that resilience can only be achieved through loose coupling.
Actually, there is a 4th, but it is a venial sin:
- continuously reinventing the wheel
Just wondering what is that place where databases don't crash.
I believe the 3 major sins of software engineers (or whatever you want to call them) are:
- not trying to understand IN DETAILS what the piece of software will be used for,
- not mapping the full vector space of the input parameters, or assuming a limitation in this space that will be a responsibility of another piece of software,
- designing strongly coupled complex systems and failing to understand that resilience can only be achieved through loose coupling.
Actually, there is a 4th, but it is a venial sin:
- continuously reinventing the wheel
Join Date: Feb 2006
Location: Europe
Posts: 280
Likes: 0
Received 0 Likes
on
0 Posts
This is a bullshit misleading article, like the "Boeing falsified records" one.
The number of outsourced Indian engineers involved in MCAS: big fat zero.
All of the major aerospace manufacturers have Indian outsourced suppliers & developers. Boeing, Airbus, Bombardier, etc.
Airbus might have the largest Indian presence, with > 5,000 Indian employees/contractors in the supply chain including over 1,000 engineers last time I looked. Probably much more now. And I doubt their pay structure is any different from Boeing's.
Are we all going to stop flying Airbus now?
The number of outsourced Indian engineers involved in MCAS: big fat zero.
All of the major aerospace manufacturers have Indian outsourced suppliers & developers. Boeing, Airbus, Bombardier, etc.
Airbus might have the largest Indian presence, with > 5,000 Indian employees/contractors in the supply chain including over 1,000 engineers last time I looked. Probably much more now. And I doubt their pay structure is any different from Boeing's.
Are we all going to stop flying Airbus now?
Join Date: Feb 2015
Location: New Hampshire
Posts: 152
Likes: 0
Received 0 Likes
on
0 Posts
First, although you dislike the term "Software Engineer", when it comes to mission-critical and life-critical systems, in my experience, it has always been a significant engineering effort. Unlike the kind of "hacking" you can have with less-critical systems, actual "programming", that is writing lines of code, takes up a small portion of the effort when applied to critical systems in the fields of medicine, transportation, and the military. The bulk of the time is consumed with determining and documenting the requirements, the system design, the software design, and the detailed designs. Then you have coding. Then you have testing. All of that under a set of process safety and development standards that are specific to the industry and the customer (USAF, Navy, automotive, FDA, etc.).
Salary aside, a truly junior programmer has a very limited role in such projects. They can code - but they will be spoon-fed.
Join Date: Mar 2019
Location: MTL
Posts: 32
Likes: 0
Received 0 Likes
on
0 Posts