** 05-Mar-2022 World View: Interchangeable cogs in a wheel
Higgenbotham wrote: Sat Mar 05, 2022 2:42 pm
> John, I thought of you when I read that article. My impression
> has always been that if a company loses its software engineers in
> a region like Eastern Europe, they can just plug software
> engineers from India or elsewhere into the projects seamlessly.
> Not so?
Definitely not so.
Think of all the projects you've described from your own experience,
where they brought in someone new who completely screwed the project
up.
It's just as bad or worse in software engineering. You have multiple
hardware and software architectures, multiple programming languages,
multiple programming patterns, etc. A programmer may be familiar
with one environment, and be completely lost in another. This is
particularly true for a software system consisting of hundreds of
thousands of lines of code, which is not atypical. And if the
original programmer has left, the result can be disaster.
I've been involved in so many projects over the decades that I
can get started on a new system with simple bug fixes within a
week or two. By the end of three months or so, I can usually
understand the software system from end to end. But I'm usually
working with people who have no such skills, and it's not unusual
for me to be the only programmer who understands the software.
And guess what this leads to? Millennials and Gen-Xers just LOOOOOOVE
having me around. On one government project, the project leader began
deleting my validity checking code to sabotage me, and when I told the
manager, he didn't believe me. In several other cases, I ran some
simple tests and told my manager that the project would slip for
several months, or would completely crash and burn. In those cases I
was always fired, and in those cases the projects always crashed and
burned after I left.
One thing that managers don't understand is the complexity of
a software system. The typical error that a manager makes is
that he assigns pieces of the system to different programmers,
and expects them to all work together at the end. And they never
do, because there hasn't been any end-to-end system testing.
Sabotage and stupidity are common in numerous large projects
where the project leader wants to guarantee job security.
Here's what you wrote a few years ago:
Higgenbotham wrote: Sun Jun 30, 2019 11:25 am
> Gen X has no idea how to hire, not a clue. I believe Gen X is the
> most clueless generation of morons who have ever walked the face
> of the earth.
Here's what I said in response:
I've seen many examples of the above in the computer industry. In
the development of healthcare.gov, contractors like CGI in
Massachusetts hired hundreds of programmers that didn't even know
how to program, because the Obama administration gave them $200 million
to spend to develop a $10-20 million web site, with the result that
they produced millions of lines of worthless code that had to be thrown
out.
** Healthcare.gov -- The greatest software development disaster in history
** http://www.generationaldynamics.com/pg/ ... 150823.htm
Here's an article on complex systems:
http://generationaldynamics.com/gdgraph ... msFail.pdf
So to your answer your question: If a company loses 1,000 skilled
programmers and tries to replace them with 1,000 new programmers, then
the project is almost certain to be a disaster.