Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Software IT

Don't Shoot Me, I'm Only the Software 392

ctwxman writes "How often have you heard about some massive crash and then the blame was placed on the software? "Disasters are often blamed on bad software, but the cause is rarely bad programming." If you've been looking to blame your boss, this article from MSNBC says your ship has come in! Poor planning, poor execution and poor leadership are more likely to blame than bad code when it comes to systems that fail. "
This discussion has been archived. No new comments can be posted.

Don't Shoot Me, I'm Only the Software

Comments Filter:
  • by slashnutt ( 807047 ) on Tuesday October 05, 2004 @09:41AM (#10438610) Journal
    I have worked at CIMM [af.mil] level -3 and at CMMi [cmu.edu] level 5 groups. Starting at level 5, you're about as likely to win the lottery and while on the vacation at the moon than getting fired for bad software; at level 1 your highly likely to get fired for a bad programming mistake; level -3 you try to point the finger for anything.

    Now there's a mathematical formula (let me see if I can derive one) for each level you go down, the half-life of bad software divided by the software engineer goes up a log base 10 (4 - 95%, 3 - 90%, 2 - 75%, 1 - 50%, 0 - 25%, -1 10%, -2 - 2%, -3 - .01%). Thus, if you want management to point fingers go down in levels but if you want the group to be aware of problems then look for a high CMM level group to work for. Disclaimer this is now way scientific but used as illustrative purposes; objects may be closer than they appear; no left turn on red; do not pass Go.
  • mm (Score:3, Interesting)

    by Anonymous Coward on Tuesday October 05, 2004 @09:48AM (#10438659)
    Bugs and errors do not neccessarily mean BAD programming. Bad means that it sucks and it's of no quality level.

    There may be minor flaws in things that an application relies on i.e. external code libraries or methodologies which have not been proven and tested.

    Speaking of tested, how many coders here can testify that they are great programmers, but so many times have not been given appropriate amounts of time or resources to write something that works perfect.

    That to me is not bad programming, because many times under these situations programmers do an amazing job of writing amazing code which actually works for the most part.

    There's too many managers out there who like things to work 90% and say that the other 10% (which usually ends up being crucial to end users) can be dealt with after the initial release.

  • Bullshit! (Score:5, Interesting)

    by Tom7 ( 102298 ) on Tuesday October 05, 2004 @09:49AM (#10438668) Homepage Journal
    The article cites as an example,

    Last month, a system that controls communications between commercial jets and air traffic controllers in southern California shut off because some maintenance had not been performed.

    As I recall, the system in question has to be rebooted every thirty days, which is a software problem! The very fact that there were ridiculous procedures to fail to carry out is due to the poor software in the first place.
  • by TreadOnUS ( 796297 ) on Tuesday October 05, 2004 @09:50AM (#10438682) Homepage

    how many large companies think that they can still be successful by programming their way out of problems.

    If you work at a company that places some value on requirements and design development before you start cranking out code, consider yourself fortunate. And for those of you that have a consistent process for development and deployment, you're not that common either. There are still a considerable number of large companies with a presence on the web that rely on individual heriocs to keep their business running.

    In most cases, it's management's reliance on a few people within development that keeps them from making any improvements. That and the lack of undestanding that spending some money could make (or save) them significant amounts of money.

  • by isaac ( 2852 ) on Tuesday October 05, 2004 @09:52AM (#10438695)
    Dear Microsoft,

    The fact that YOUR SOFTWARE shuts down after 49.7 days "to prevent data overload" is YOUR FAULT and BAD SOFTWARE DESIGN, no matter how much you use your pet news outlet to spin otherwise.

    You're right about one thing, though. The FAA guys were idiots for deploying your software to replace an (eminently more reliable by all accounts) UNIX-based system. Call it a compound failure.

    -Isaac

  • Re:Buck Passers (Score:3, Interesting)

    by MrRTFM ( 740877 ) on Tuesday October 05, 2004 @09:53AM (#10438713) Journal
    ...unwittingly forcing programmers to code all the way around the block to get to the house next door, leaving problems in the wake

    While I agree with you in principle and acknowledge that stupid managers are ... stupid; I dont buy this theory - a programmer should know to say 'this wont work', or 'this *might* work in the demo to management, but it WILL FAIL IN PRODUCTION IF MORE THAN 'xxx' USERS ACCESS IT'

    Fuck - isnt it time we stood up and just told the truth - or are we all too scared of being outsourced to India?
  • Biased View? (Score:5, Interesting)

    by Araneas ( 175181 ) <pgillilandNO@SPAMrogers.com> on Tuesday October 05, 2004 @09:55AM (#10438726)
    "In 90 percent of the cases, it's because the implementer did a bad job, training was bad, the whole project was poorly done," said Joshua Greenbaum, principal analyst at Enterprise Applications Consulting in Berkeley. "At which point, you have a real garbage in, garbage out problem."

    Translation: they didn't hire enough analysts

    ...said Bill Wohl, an SAP spokesman. "These projects require very strong executive leadership, very talented consulting resources and a very focused effort if the project is to be successful and not disruptive."

    Translation: They didn't hire enough consultants from SAP.

    "Developers are least qualified to validate a business requirement. They're either nerds and don't get it, or they're people in another culture altogether," said Michelsen,...

    Translation: It's not our fault the developers couldn't understand our brick of a business case.

    Another common theme in failures lies in the ranks of employees who actually must use the systems.

    Translation: It's not our fault the interface sucks - it's the stupid users too dumb to adapt to our software.

  • Re:Irony (Score:5, Interesting)

    by antifoidulus ( 807088 ) on Tuesday October 05, 2004 @09:57AM (#10438746) Homepage Journal
    I beg to differ. People seem to think that "coding" is the only important aspect of software. It's far from it.
    Case in point, MS Windows. I actually read a book on programming security from the head of security at Microsoft(yeah, laugh all you want), and it gave some interesting insight to the corprate culture at Microsoft. The talking heads at the top want a shitload of features, and they want it by an unrealistic deadline(which, with the exception of longhorn, they almost always meet), and security gets pushed to the back, and maybe only added in as an afterthought.
    Contrary to popular belief here on /., MS does not hire idiots to write their code, but even good programmers aren't miracle workers. When they have their hands tied with a looming deadline and a feature list that only grows longer, they can't do it all, and bugs are bound to sprout up.
    I think Linux main security advantage lies not in that almost anyone in the world can look at the code(though that helps) it's that there is no "mono culture", you get a lot of interesting ideas contributed to the kernel, some are good, some not so good. Eventually the bad ideas fade away and you are left with a very solid operating system.
  • Duh. (Score:2, Interesting)

    by darkmeridian ( 119044 ) <william.chuangNO@SPAMgmail.com> on Tuesday October 05, 2004 @10:00AM (#10438782) Homepage
    The planning and stuff hurts the usability of the program. The UI, the basis of the program itself. Sometimes, it could give rise to Internet Explorer's tight integration with the OS.

    However, it seems to me that bad programming gives rise to buffer overflows and the like. These are more serious harms because they lead to the exploits. If you programmed well, you'd have a crappy program that would simply suck.
  • by Karma Farmer ( 595141 ) on Tuesday October 05, 2004 @10:03AM (#10438816)
    So, lets see if I can boil this article down to three talking points:
    • software projects are usually done in concert with business process changes,
    • business process changes are often poorly managed, and
    • the resulting problems are usually not due to software implementation issues
    In other words, if you want your software projects to succeed, recognize that the management and executives are where a company's resources should be concentrated. The programmers are usually unimportant to the success of a project, and businesses can safely spend fewer resources on them without negatively affecting most projects.
  • Re:Irony (Score:5, Interesting)

    by iezhy ( 623955 ) on Tuesday October 05, 2004 @10:04AM (#10438820) Homepage
    ...contributed to the Sept. 14 radio system outage over the skies of parts of California, Nevada and Arizona.

    The genesis of the problem was the transition in 2001 by Harris Corp. of the Federal Aviation Administration's Voice Switching Control System from Unix-based servers to Microsoft Corp.'s off-the-shelf Windows Advanced Server 2000.

    they violated the golden rule: dont touch the system if its working. and they were punished :)

    ...the move went well except the new system required regular maintenance to prevent data overload.

    wtf? the new system, designed to replace old one, was incapable to deal with data load? why would they "upgrade" it anyway?
  • Also Reported In... (Score:2, Interesting)

    by Kurt Wall ( 677000 ) on Tuesday October 05, 2004 @10:04AM (#10438831) Homepage

    The Pittsburgh Post-Gazette [post-gazette.com] has a closely related story: Software disasters are often people problems [post-gazette.com]. Well, duh: "Garbage in; garbage out."

    What I find really interesting is that this story, or various versions of it, while hardly "new," starts popping up on news sites all at once? It sounds like some organization is running a PR campaign, but it isn't quite astroturfing [catb.org].

  • Not really Irony (Score:2, Interesting)

    by iconnor ( 131903 ) on Tuesday October 05, 2004 @10:05AM (#10438841)
    Irony would be if MSN(BC) blamed windows. For instance, here they were saying that the problem with the FAA UNIX to windows migration was not software (windows) but the lack of testing and maintenance. They say that the system required regular maintenance (in windows I think this means rebooting) but I am sure there is probably more to it than that. However, I don't see that MSNBC is being Ironic - there is nothing anti-Microsoft or anti-windows that could be taken from this. In fact, it is right on the correct spin factor you would expect. Here they are saying the recent bad press associated with a public outage from a UNIX to windows migration was not a problem with buggy windows but a problem with management of the system.
  • Re:Buck Passers (Score:4, Interesting)

    by TreadOnUS ( 796297 ) on Tuesday October 05, 2004 @10:06AM (#10438850) Homepage

    That does seem to be the case at I company I consult for. As a part of an assessment, we received several unsolicited comments that they would be resistant to changing the way they performed development because the business customer was free to outsource. And it's happened on a few projects when the development team pushed back on timelines and requirements.

    As a result, the development staff here lies to their managers, who lie to their directors, who lie to their VP's and on up the line. This points to a breakdown in communication between all levels in IT including the lines between IT and the business.

  • by russotto ( 537200 ) on Tuesday October 05, 2004 @10:07AM (#10438863) Journal
    Most coders don't want to interact with the end-user, and aren't good at it either. Those who can understand their customer's business and do like interacting with the customer either become architects or sales engineers, thereby both making more money and outsource-proofing themselves. Or they become self-employed.
  • by klang ( 27062 ) on Tuesday October 05, 2004 @10:09AM (#10438874)
    ...that's the reason why bad code is written and why systems crash.

    I have, time and again, been asked to cut corners in the design during the implementation phase of a project. The result is, that too much is cut in order to meet the deadline, another project sucks out key resources after the deadline and the product is rushed into production.

    Everybody is happy until things start falling apart .. patch time!

    44% of the employees (a couple of hundred) in my department are consultants , employed on a timelimeted contract. Some slam things together knowing they are not present when "patch time" starts ..

    Bad testing, bad deadlines and rushed projects is the cause of a lot of evil!

    Luckily, I can still express myself in the cvs comments and the random comments in the code :-)

  • Re:Buck Passers (Score:5, Interesting)

    by Mysticalfruit ( 533341 ) on Tuesday October 05, 2004 @10:09AM (#10438883) Homepage Journal
    I used to worry about that until my company tried an experiement and outsourced a project to india.

    They fucked it up so horribly and it cost so much money that in the end they threw up their hands, wrote off about a million dollars worth of expenses and developed the app internally.

    The internal developers (several of which were Indian might I add) finished the app on schedule.

    Our company then passed an internal policy that we would insource (bring programmers in to work on a project) but that outsourcing was out of the question.
  • by Mikmorg ( 624030 ) on Tuesday October 05, 2004 @10:15AM (#10438924) Homepage
    Being an actively-voiced anti-MS radical (quite obviously) like you are, I must insist that you take the following quiz:

    1. Who most likely wrote the software?
    A) Ground-breaking AI
    B) People
    C) Monkeys

    2. A user always reads and follows instructions.
    A) True
    B) False

    3. Windows' registry was designed for software protection.
    A) True
    B) False

    4. Which OS is the most compatible with today's hardware market?
    A) Windows
    B) Linux
    C) OSX
    D) Other...

    5. Name one piece of software that is perfect:
    ______________________

    6. In windows, you can turn off a screen saver.
    A) True
    B) False

    7. Microsoft _tries_ to make their code better.
    A) True
    B) False
    Just curious as to a radical's answer sheet.

    Please note that I chose linux over windows for my applications, but I still have an open mind, and am willing to use it for its purposes (yes, it does have its purposes). I am no radical either way as it is obvious that these operating systems each have their own niche. Even OSX, although I've never used it.
  • by hsmith ( 818216 ) on Tuesday October 05, 2004 @10:18AM (#10438950)
    Well I was personally blamed for problems with our last project because i was "fresh out of college," yet the real issue was i challanged our PM, I asked a lot of questions becuase i wanted clarification. And when the project fell flat on his face, the fingers were pointed at us, becuase we were 'hard to work with' and 'lacked experience'. Yet when business rules were asked for, even begged for, they didn't have the answers. Only after we finished coding did they start coming up with a majority of the business rules, becuase they were things they didn't 'think of' But because we asked those questions we were considered idiots.
  • by ximpul1 ( 607679 ) on Tuesday October 05, 2004 @10:25AM (#10439066)
    im surprised i have not come across any outsourcing replies. i understand that the article and summary are about more timeless folleys but when a business outsources a communication gap opens up and that whole team unity thing gets affected "and teams need that shit" (-tycho form PA)

    from tfa: "It becomes a major role of (management) to kind of herd the cats in and make them all line up in a reasonable way," said Barry Wilderman

    yea its becomes much harder when you have to work with people who not only have bad communication skills but may not know the subject matter.

    (sarcasm) enjoy the saved cash you paradigms shifting fucks

    let alone the fact that many times you dont know if your getting someone who has made 10 hello world programs and count themselves as a pro in each.

    ah and the images in tfa of people holding each other watching their software fail was priceless.

  • Customers & managers (Score:5, Interesting)

    by vinukr ( 796210 ) on Tuesday October 05, 2004 @10:30AM (#10439122)
    One major thing that comes inbetween coding near-perfect software (Perfect software is never going to be possible) is also the demand the customers place on the team.Of course, they know very less about the technology and so cannot blame them totally.

    In India, software companies treat the customer as God accepting his/her unreasonable targets.. I wouldnt blame the customers alone for it... the managers too are responsible. They agree to whatever the customer says even though the actual development team asks them not to. And then, the normal work timings stretch to 10 AM to 3-4 AM next day... Now, anybody think anyone can write quality code when they are working this timing??

    Well, the only advantage that comes here is that we get to read all the /. stories
  • Here it comes.. (Score:3, Interesting)

    by WhatAmIDoingHere ( 742870 ) <sexwithanimals@gmail.com> on Tuesday October 05, 2004 @10:34AM (#10439175) Homepage
    "Microsoft owns MSNBC, so this is clearly an evil plan to blahblahblah.."

    Actually, now that I think about it, that's probably closer to the truth than anything else...
  • by Morpeth ( 577066 ) on Tuesday October 05, 2004 @10:38AM (#10439230)
    That's a very common problem unfortunately. I've been a developer for ~10 years, and I still run into it all the time, especially the part of business rules being added/changed once the project is done or nearly done.

    Being a junior developer is irrelevant your problem - if you have a good PM, hs/she should be willing to go to bat for your team, and demand functional and technical specs as needed. If not the project will be in jeopardy. If the PM does ask for requirements and doesn't get them, at least it's a CYA situation - and they can say look "get me the info the team needs, or I can't promise what will be delivered"

    When you have a PM who isn't willing to do that you're bound to get screwed. Best thing to do is document all your requests for information, and tell the PM, if you want this to project to succeed, like it or not - I need information "x" and "y". If the project is a crash and burn, you can say you did what you were able to provided the information that was given to you - and you weren't given all you requested.

    Any company-organization that considers you and 'idiot' for wanting clarification is looking to burn money on a failed project and/or happy to waste resources on lots of bugs fixes and patching. They should look in the mirror before viewing others as idiots.

  • blame the users (Score:3, Interesting)

    by AssFace ( 118098 ) <stenz77@gmail. c o m> on Tuesday October 05, 2004 @10:39AM (#10439257) Homepage Journal
    We have a user here that sent out an e-mail to 30 people that were definitely not supposed to get it. This came about because she opened up a distribution group and was pulling out the three names from that list and adding them to the e-mail message. But in the process of all of this, she also added the group as a whole (double-clicked to open it, even though that adds it to the message, but a button opens it to retrieve names).
    There was then supposedly a program crash and magically the message went out.

    I was of course blamed because as the network admin I somehow failed by being unable to bring back all of those e-mails, even though there are a million things wrong with that train of thought.

    Clearly they couldn't imagine that:
    1) software crashes don't cause mail to send
    2) why was she removing names from a group instead of selectively adding them
    3) she didn't use the software correctly on multiple counts
    4) if she is clearly not competent enough to handle this and it was such an important e-mail, why was she given the task and not someone higher up?

    In the end, yet one more reason I hate my job.
  • by funkdid ( 780888 ) on Tuesday October 05, 2004 @10:43AM (#10439294)
    I understand what they are trying to say, but ultimately YES it is the code. Two things cause a system crash, Hardware failure, or Software failure. If Management makes all programmers do a shot for each line of code I'm not going to blame the managers, I blame "*/wow I am so drunk" being in my code.

    Assuming all my hardware is behaving nicely if a crash occurs that means a piece of software somewhere has failed, be it OS, network or what have you.

  • Re:MS employees (Score:5, Interesting)

    by Anonymous Brave Guy ( 457657 ) on Tuesday October 05, 2004 @12:00PM (#10440295)
    Very few 21-year-olds, even those who got the best grades at the best schools, understand software design or business process well enough for a major company to be able to rely on them.

    I seem to recall a study, by IBM possibly, into how much young developers really contribute to software projects. The conclusion was that most of the young starters (up to age 25 IIRC) were only good for writing docs and possibly testing. You shouldn't let them near the code, because in the balance of probability, they will be counter-productive overall. Those up to age 30 were found to handle development on a single, focussed project usefully, but no more than that. Those over 30 could handle working on multiple areas at once competently.

    Those figures are all from memory, but I'm pretty sure they're close. They're also a pretty damning indictment of the age discrimination that is rampant in the software development industry, and a fairly compelling explanation for why so many projects fail after the management choose to hire youngsters because they're cheap and willing to do whatever to advance their careers...

  • Re:Buck Passers (Score:2, Interesting)

    by DavidTC ( 10147 ) <slas45dxsvadiv.v ... m ['x.c' in gap]> on Tuesday October 05, 2004 @12:02PM (#10440325) Homepage
    You know, you can tell what 'managers' and 'supervisors' are supposed to do by looking at the word.

    Supervisors are supposed to watch. And presumably do something if they notice something wrong, like employees hanging out in the break room for six hours straight.

    Managers are supposed to manage people and things. Manage doesn't mean 'control', it means 'watch and direct'. They're supposed to watch paper clips and direct them towards a purpose, they're supposed to watch employees and direct them towards some purpose.

    There's a reason we don't have 'controllers' or 'directors'. (Well, unless you're a spy or in a theatre, in which case those actually do means 'someone who controls you'.)

    Interestingly enough, I can't figure out where 'boss' come form, only that it also means 'knob or protuberance', hence 'emboss'.

  • by Infonaut ( 96956 ) <infonaut@gmail.com> on Tuesday October 05, 2004 @12:09PM (#10440395) Homepage Journal
    Do all of the programmers you know exhibit a high level of competence? When you're working with other programmers, is it always easy for you to coordinate your efforts? Do you ever have problems with the way one programmer works and find it much easier to work with another programmer? Are there personality conflicts, or arguments over approach, or differences of opinion about what really works?

    If you're programming with other programmers, you are operating in an environment that has constraints built in. You are constrained by the quality of your teammates, by the amount of time available, by the list of desired features, and so on.

    Now imagine that managers are faced with constraints. They have to deal with the insane deadlines imposed on them by the O-level people in the company. Middle managers in particular are often in a very unenviable position, in that they have to try to make impossible demands possible. But just as there are varying levels of programming skill, there are varying levels of management skill. Some managers can push back on their bosses enough to give the project a chance of succeeding, but many are ill-equipped to do so.

    Those that are ill-equipped to do so are in this position primarily because unlike the field of programming, where specialized education is seen as a necessary prerequisite to employment (i.e. - "He's got a bachelor's in Computer Science from MIT, we'll hire him") most managers either have no specialized management training, or they have an MBA (a degree that sometimes offers real management training but often provides no practical hands-on management training at all), or even worse, they've been in the same company or types of companies for years, learning the same bad management habits over and over.

    What businesses need to do is pay more attention to actual real-world leadership experience and training. "Manager" is a term that reeks of 19th Century automated factories. When you're dealing with abstract concepts, creativity, and continually-shifting requirements, you need to have leadership skills.

    You also need to have people skills, and while it's easy to berate salespeople and managers because they often seem defined by their "touchy-feely" capabilities, the flip side is that without those abilities, it's very very difficult to lead people.

  • Re:Buck Passers (Score:2, Interesting)

    by kfg ( 145172 ) on Tuesday October 05, 2004 @12:24PM (#10440670)
    Interestingly enough, I can't figure out where 'boss' come form, only that it also means 'knob or protuberance', hence 'emboss'.

    It is originally New York State slang, which was previously New Holland, the majority of the population remaining of Dutch descent for nearly 100 years after the British took over administrative control of the territory (with a French majority in the Adirondacks). It comes from the Dutch 'baas', meaning 'master.'

    Oddly enough, the 'boss' meaning 'knob or protuberance' comes from the French 'boce,' which can also mean to beat to produce a swelling.

    I don't have a reference handy for the Indo-European root of these words, but my sense of the sardonic suggests to me that these two words share the same root.

    KFG
  • by HighOrbit ( 631451 ) on Tuesday October 05, 2004 @12:26PM (#10440718)
    If you want to know what a true fiasco is like, just Google "CoreFLS" and read the results.

    At the U.S. Department of Veterans Affairs, some of the payroll systems date back to 1964 (that's right - no joke, they were bought when Lyndon Johnson was President), so they decided to replace them with a new system based on Oracle Financials. The new system is called CoreFLS. It has been a fiasco [informationweek.com]. So far VA has already spent over $270 Million out of an expected $472 Million total budget for the project. The project has been a failure laregly because of mis-management and plain-old stupidity.

    First, they decided to do test trials at one of the busiest hospitals (that's right, they first went live at one of the *BUSIEST* hospitals) instead of a smaller test location. The user training for a critical system consisted of a self-paced web-based distance training as detailed here [sptimes.com]. No hands-on training was provided until a month after deployment and only after problems were apparent because the whole operation ground to a halt. So finally the senior managment decide to commission a $500,000 study from Carnegie Mellon to find out why it failed. The study concluded that CoreFLS was "an exemplary case study in how not to do technology transition." Yeah, they needed to spend a half-million to find the obvious.

    Finally Congress got involved and all the senior managers including the Secretary himself were put on the "hot-seat" to testify. Lots of heads rolled (even senior managers like Assistant Secretaries) and lots of people were forced to resign or were fired. Now the place is crawling with federal investigators looking to put people in jail

    So now the project gets cancelled. The sad thing is that VA really needed this program to succeed. I suspect that the technology has been made a scapegoat for mismanagement (not that the technology was perfect). Well.. back to 1964.
  • Re:Buck Passers (Score:4, Interesting)

    by fishbot ( 301821 ) on Tuesday October 05, 2004 @12:38PM (#10440922) Homepage

    Our company then passed an internal policy that we would insource (bring programmers in to work on a project) but that outsourcing was out of the question.


    But this is also a problem. I've had so many managers who took the approach 'well, it didn't work once so it is now policy that we never, ever do it again' that it ends up biting you in the ass.

    My last manager (I quit 2 weeks ago, yay me!) decided that software unit testing was fundamentally bad, because he'd tried to manage a project using XP (eXtreme Programming, not.. oh you know) and that uses unit testing and it didn't work very well. It became policy that we should never do unit testing. I kid you not.

    Creating a policy to never do something that didn't work the first time is as bad as not trying it in the first place.
  • Re:Mod parent up (Score:3, Interesting)

    by Anonymous Brave Guy ( 457657 ) on Tuesday October 05, 2004 @12:58PM (#10441201)
    While I'm not a software engineer, and I don't play one on television, it seems to me that commercial software vendors likely don't test for security flaws at all, or program with that sorta thing in mind. Functionality is their number one concern, and testing for security issues is a bitch.

    It really does depend on the development team and their management. In many places, you're certainly correct, but plenty of commercial software houses do take pride in their work and/or realise that producing a well-tested, secure product is priceless in maintaining a good reputation. I've known plenty of development shops where security, and reliability for that matter, are taken seriously, planned for throughout the design and implementation, included in the review processes, and tested with enthusiasm. Unsurprisingly, these places turn out good code.

    Of course, a lot of this stuff is done by software houses or contractors whose reputation is their livelihood, and it's done for private clients so most people never know about it. Compare and contrast with a major product company like Microsoft or Apple, where if they screw up even once in an enormous project, the whole world hears about how "insecure" closed source commercial software is, and you can see why a lot of people who aren't in the business get the wrong idea.

  • by lcsjk ( 143581 ) on Tuesday October 05, 2004 @01:52PM (#10441983)
    Back in the late 60's and early 70's Texas Instruments started hiring lots of new college graduates to help them stay abreast of the latest technology. The object was to put them on a project with lots of unpaid overtime, work them at new-hire salary for four years and then, if they didn't leave on their own, gently "boot" them out the door and hire fresh, new replacements. After four years and lots of unpaid overtime, a lot of well trained engineers were ready for better jobs at other companies, taking TI's technology with them. TI trained a lot of engineers. By the mid 70's they realized what was happening and the policy was reversed.
  • Re:Buck Passers (Score:3, Interesting)

    by mwood ( 25379 ) on Tuesday October 05, 2004 @02:25PM (#10442504)
    I'd like to suggest that the problem with hierarchies is that people often get the idea that one's position in the hierarchy says things about what it's someone else's job to do, but not about what it's my job to do. All those people closer to the leaves than I am (as if there were any!) are depending on me to get them good useful work and the resources with which to do it. Every edge indicates *two* bundles of claims: mine on him, and his on me.

    I was somewhat enlightened years ago by the suggestion to turn the org chart upside down, so that we see the CEO at the bottom supporting everyone. The only people *not* in a supporting role are the workers who actually make or do things wanted by customers.
  • Re:Buck Passers (Score:2, Interesting)

    by ACPosterChild ( 719409 ) on Tuesday October 05, 2004 @02:59PM (#10442948)
    In the past, I worked for a contractor who had to deal with another contractor to complete a project. The real workers who knew the parallel contractor did shit work scored them in certain areas as "major negative" (the 2nd contractor said that a deliverable was in the mail for 2 years; *literally*, that's not a figure of speach). By the time the review made it through all the levels of management, with each thinking "aww, they couldn't have been *that* bad", and "what will happen to me if my boss finds out that I hire people that suck", the rating became a "minor plus". Nearly ALL of the ratings were bumped up at least a few notches.
  • by dillon_rinker ( 17944 ) on Tuesday October 05, 2004 @05:06PM (#10444467) Homepage
    PRECISELY!!!

    You've hit the nail on the head, thought I didn't realize it until I read your comment. The HARD part of programming is dealing with the people. Everything else can be understood logically, which is easy, but dealing with people is an irrational process. Anyone can find the square root of 8 (ie write code) but not everyone can find the square root of an apple (dealing with people).

"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein

Working...