LWN.net Logo

Scenes from the Real Time Linux Workshop

Scenes from the Real Time Linux Workshop

Posted Oct 8, 2009 15:06 UTC (Thu) by farnz (guest, #17727)
In reply to: Scenes from the Real Time Linux Workshop by jzbiciak
Parent article: Scenes from the Real Time Linux Workshop

You're missing one detail about the "army" as against a coder; you can trust your coders to follow the spec and do the list of things roughly as you asked them to. The "army" is people who have the skill level for a coder, but believe that they're software engineers.

So, your coder will follow spec. Your "army" member will ignore the spec because what he's doing is "just as good, but easier to implement", resulting in your carefully written spec to handle 10,000 users on that bit of kit only handling 10, thanks to the changes you've encountered.

Taking your analogy to mechanics further, the "army" members are basic mechanics who genuinely believe that they're as good as or better than mechanical engineers; in particular, if a mechanical engineer were to specify a particular type of oil for a new engine, the "army" member would happily substitute 10W30, because "it's all oil, anyway". They'll move your carefully chosen spark timings and air-fuel ratios, because "everyone knows that you get more power this way". They'll change your engine to output twice the power, then complain when it lasts one year, not 20.

In short, they bodge, they apply myths, and they don't understand, but they get very upset if you dare suggest that they're a mechanic, not a mechanical engineer.


(Log in to post comments)

Scenes from the Real Time Linux Workshop

Posted Oct 8, 2009 21:15 UTC (Thu) by marcH (subscriber, #57642) [Link]

> Taking your analogy to mechanics further, the "army" members are basic mechanics who genuinely believe that they're as good as or better than mechanical engineers; in particular, [...] they'll change your engine to output twice the power, then complain when it lasts one year, not 20.

Just like any other analogy, this analogy is not perfect. It breaks here: the wannabe mechanical engineer is fortunately limited by its tools and physical laws of nature, whereas the wanabee software engineer can wreak havoc without any practical limit.

Oh the army

Posted Oct 10, 2009 20:45 UTC (Sat) by man_ls (subscriber, #15091) [Link]

It gets worse IME. You cannot even try to explain concepts like database locking, transactionality, threading or concurrency to army members, because you will meet their blank stares. It is worse because, even if farnz already said above that the standard answer is "who cares, synchronized takes care of that" (which it of course doesn't), database locking and transactionality are essential in most modern Java code. I've seen pools with only one object, TCP/IP connections that are tracked incorrectly (and which often break), deadlocks in database code... all of which were designed by an army member and later had to be corrected by a proper engineer.

Hey, I may not grasp a lot of the concepts in engineering, but at least I try to listen when people explain them to me.

Oh the army

Posted Oct 10, 2009 21:21 UTC (Sat) by nix (subscriber, #2304) [Link]

"synchronized takes care of that" is what the smart ones say. The dumb
ones say "I can do threads" when they mean "I have used $FRAMEWORK that
hides all the threading and multiprocessing issues from me. I used it for
six months, five years ago."

(I *wish* I was exaggerating. I really do.)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds