If one doctor can transplant a heart in ten hours, can ten nurses transplant that heart in one hour? Can a hundred nursing assistants transplant that heart in six minutes? Can six hundred hospital receptionists transplant that heart in one minute? The real question is: Could the doctor do the transplant without any nurses? Could the nurses help the doctor without the receptionists?
Ironically your argument fails as it depends entirely on skill level. A highly skilled surgeon could perform emergency surgery without standard resources, and you could run an emergency hospital without receptionists. Let's not get distracted by shitty analogys.
Hordes Of Novices
51–60 of 90 posts
Re: Hordes Of Novices
#52If one doctor can transplant a heart in ten hours, can ten nurses transplant that heart in one hour? Can a hundred nursing assistants transplant that heart in six minutes? Can six hundred hospital receptionists transplant that heart in one minute? The real question is: Could the doctor do the transplant without any nurses? Could the nurses help the doctor without the receptionists?
If I wanted to be pedantic I'd say that you'd really want a heart transplant done by a surgeon, not a doctor... That said, I think the real questions is: who is Robert Martin, self-described uber-hacker, that his opinions should be taken so seriously? What has he written?
Re: Hordes Of Novices
#53Earlier quoted context omitted.
Ironically your argument fails as it depends entirely on skill level. A highly skilled surgeon could perform emergency surgery without standard resources, and you could run an emergency hospital without receptionists. Let's not get distracted by shitty analogys.
Would a hospital staffed only by highly skilled surgeons constantly performing unassisted emergency surgery economically out-compete a hospital with nurses and receptionists?
And if you want to keep taking this to an extreme, using the shitty analogys provided:
Would a hospital with 5 highly trained surgeons and no receptionists or nurses complete more surgery than a hospital with no surgeons and 100 nurses and 600 receptionists? Yes. But now we're saying absolutely nothing about the programming industry or what's we think is wrong with it.
Re: Hordes Of Novices
#54If one doctor can transplant a heart in ten hours, can ten nurses transplant that heart in one hour? Can a hundred nursing assistants transplant that heart in six minutes? Can six hundred hospital receptionists transplant that heart in one minute? The real question is: Could the doctor do the transplant without any nurses? Could the nurses help the doctor without the receptionists?
Ironically your argument fails as it depends entirely on skill level. A highly skilled surgeon could perform emergency surgery without standard resources, and you could run an emergency hospital without receptionists. Let's not get distracted by shitty analogys.
tl;dr, T-shaped skillsets are good, specialists are good.
Re: Hordes Of Novices
#55Is our industry doing the equivalent of offering free rides to hopeful software developers, calling them pilots, and throwing them by the thousands into airplanes just to watch them crash and burn? With some exceptions, it's less dangerous when a novice programmer writes ugly code than when a pilot crashes a plane. So we shouldn't require as much caution around letting people program as we do in letting them fly an a…
http://www.wired.com/software/coolapps/news/2005/11/69355?cu... 1982 -- Soviet gas pipeline. Operatives working for the Central Intelligence Agency allegedly (.pdf) plant a bug in a Canadian computer system purchased to control the trans-Siberian gas pipeline. The Soviets had obtained the system as part of a wide-ranging effort to covertly purchase or steal sensitive U.S. technology. The CIA reportedly found out abou…
Re: Hordes Of Novices
#56IMHO... You can't get a crew of experienced software engineers without starting with hordes of novices. It's just not a field where you can say, "Pass the entrance exam, get some mentoring, and come back in 6 years with experience." It's a field that you need to explore and find if you have the passion. (And I hate the word passion) So it might take 20 novices coming out of these feeders to find 10 who become decent…
I think the author gives an alternative in the form of his pilot training; intense training before being allowed to write code (= a proper and full education, instead of a course), and pair programming (= co-pilot) with an experienced or non-novice pilot (developer).
The big corporate world doesn't tend to agree with this though, two people doing one job seems like a waste of money and time to a lot of managers that don't know any better.
Re: Hordes Of Novices
#57It is probably worth noting that Uncle Bob doesn't seem to be implying that the pilot training model is exactly the model that we should use. His point if you read a bunch of his stuff is that as a profession, we should look beyond our own borders to learn lessons from doctors, accountants, lawyers, pilots, engineers, architects, etc. to advance the level of professionalism in our profession. If software is going to…
Re: Hordes Of Novices
#58While I enjoyed and partly agreed with Uncle Bob's equivalent of "Get off my lawn", it would be excellent if he also proposed something that resembled a solution to the problem. I struggled at my first dev job because school only taught me the basics, not modern full-stack agile software engineering. I worked with a team that had everything from testing to deployment polished and near perfect. However, some of them g…
Re: Hordes Of Novices
#59Re: Hordes Of Novices
#60The overwhelming majority of bespoke software is a CRUD app in disguise (to a lesser or greater extent). You don't need to be an expert to develop things like that - a basic knowledge data structures, connecting to a database, and some UI and off you go. That isn't going to change. So I would argue that yes, we need the horde. We need more of the people at the "bottom" doing the boring stuff than we need at the top d…
I disagree with that premise. In software, it's all virtual. It can be copied easily. So why there should be boring work at all? I mean, in building houses, sure, one has to go out and actually lay the bricks. But in software?
So why we can't write the CRUD app just once (or twice perhaps, so we wouldn't have a monoculture) and be done with it, work on something more interesting?
In my view, if you're in software doing boring work, you're doing something wrong. Doesn't mean you cannot get a nice paycheck for that, though. :-)