Subj : Re: Are programmers like this in the real world? To : comp.programming From : Jim Slade Date : Sat Jul 23 2005 06:45 am "Mike Deeth" wrote in news:1122071054.876109.126310 @g44g2000cwa.googlegroups.com: > Hi, > > I've been coding for over a decade in all sorts of languages, as a > hobby. My career is mathematics. As such I was obligated to take an > intro programming class. "Well" I said to myself, "let's get this over > with, it's the last 'nonsense' course needed for the degree so from > here on out it'll be all upper division and graduate math classes. > Anyway, I'll probably learn some new stuff!" > > Boy was that last part ever off. It gets worse. Wait until you've seen code from India. You have to remember that management is a serious problem in the computer world. The principle of "In regione cęcorum rex est luscus." rules in IT. IT management is populated by a large number of BS artistes who don't know the second thing about software development. They read trade rags like CIO and can't talk buzz words enought to put them above the rest of the management but that's about it. A good example. You look at any study of programmer productivity and you find that the best work environment is an enclosed office with a window. A few years ago, CIO magazine had a group of CIO's design their ideal work environment. The result of was offices for the bosses with completely wide open spaces (no cubicles even). On a typical software project of a dozen programers, you'll find that 2 of those programmers have done 90%, six have done about 30% of the work and four have been a net drain costing -20%. In the same typical organization the management can't identify which were the two that did 90% of the work. I had a manager say about a co-worker "L.T. can't speak a word of English so he must be a great programmer." L.T.'s English was better than his programming. One organizaton I consulted at was the simply the most screwed up I've evern seen (and currently in legal trouble). They had put 20 programmers in two training rooms. Now picture this, the conference rooms opened on to a vestibule from the hallway that led to the facilities manager's office. In this company their was a strict hierarchy of office and office furniture by rank but like most companies the facilities manager had the best office in the building. So the door to the hallway had to be kept locked so the public couldn't see the faciltities manager's prime real estate. So any time there is a telephone call for one person, it disturbs all ten in the room. You have people banging on the locked door to the hallway to get in, disturbing everyone. Every conversation disrupts the whole room. [Predictable] Result: Nothing gets done. Company Solution: Add more people Quite literally, the management kept adding programmers until the second from the top guy game down and observed for himself that physically there was not any more room to fit any more people in. In that company, the VP of the division used to call people into his office, open the door so everyone on the floor could hear, then yell obscenities at them. Nearly everything under this VP was a total disaster. Guess what? He's now the CIO. A company in New York does its first offshoring project to build a real- time data colleciton and distribution system. The highly-skilled and just as capable folks in India built a batch system. Millions down the drain. I asked a manager there what they were going to do about offshoring now that their test had failed: "We're going to keep offshoring because that's what Wall Street expects us to do." These managers are all getting there information from the same collection of "XYZ Groups" that make all kinds of wild predictions. Any remember Oracle's "Network PC". The Gartner Group said it was going to make up the majority of corporate PC sales. The true answer was ZERO. While working at a computer company, we used to get sales material. Whenever we had a new computer model, the XYZ Group would have a report (paid for by us) that said our computer had the lowest cost of ownershp. The next month, our competitor would have a new model out, and the XYZ Group would have a report saying theirs had the lowest cost of ownership. A month later we'd be back on top. Senior managers in corporations pay BIG BUCKS to XYZ Groups for these nonsense reports. > One of my classmates works at Microsoft. He does assembly and > works with unix. So this guy should have it together, right? Wrong. Military Intelligence Microsoft Quality > So this has to just be because it's an intro class. It has to, I > assure myself, with some desperation. Then I head over to the CSC > computer lab. After hearing a large group of senior level CSC students > struggle for about an hour with the sublimely vexing problem of > non-blocking sockets, my earlier assurance evaporates. > A few years ago my manager pulled me off of a project that was near its end but not quite done. He tells me to go to a customer and fix the problems they were having. I go to the customer site and they describe the problem. I said I knew what that was, changed a setting on there computer and 15 minutes later the problem is solved. THe customer was exstatic. I called the office to leave a message for my manager to let him know I had finished. I get back to the office the next day and "What are you doing back?" To which I replied "I finished." "But we were expecting two months of billing for that project?" "Why was that, it only took me 15 minutes?" "Because the guy who was there before you spent 2 months on it." Guess who is considered more valuable to a consulting organization.... - The person who takes 15 minutes to solve a simple problem? - The person who takes two months and never solves the simple problem? The big consulting companies make their money by dropping as many people as possible on a project. The more incompetent people you have, the more you can dump on a project. The farther a project is behind, the more bodies the customer wants dropped on the project. Surely, shit must hit the fan? So you must be thinking. Ah, but you forget the first law of software consulting: For every consulting company that FUs a project up, there is at least one senior manager in the hiring company who screwed up by hiring that consulting company. And the correlary: For every consulting company that FUs a project up, there is a least one senior manager in the company is as interested in covering up the disaster as is the consulting company. Another project I worked on. I am supposed to get some custom software running on the customer site. The group that did the software using XYZ (a product of our company's) had a lot of problems. The team leader came to me and said "We told your district manager that he should never do a project again using XYZ and he said 'Goddamit, if someone pays us to use XYZ again, we're going to us XYZ again." I set the systems and software up and every time we switch over the new system, it crashes (it never did in testing - it would take much more detail to explain why) Being new to the company, I tracked down the manager for the XYZ product who gives me the name of an engineer. I call this guy, describe the what the system does and that my system keeps crashing. The engineer (JF). JF, responds "Is this QXR?". To which I said "Yes." "You mean to tell me that they used XYZ?"..."YES." He then proceed to explain to me the technical details why XYZ would not work on our project and why the system would just keep on crashing. In short, we sold the customer a system that would not work and we knew would not work. Fortunately, a replacement system is in the works. In the mean time, I'm doing a song an a dance pretending to get this thing to work. I can't tell the customer its NEVER going to work. But they've figured it out already. ANd they are doing a song and dance to keep their management from figuring out that it will never work. My manager could not do anything. So I went to my district manager (Mr. Goddamit). As soon as I say "We have a problem with QXR." He cuts me off with "I don't want to hear about it." "But...' "I said I don't want to hear about it." This project even gets more silly. Later on my manager calls me into his office. "We did an investigation and found out that you told the customer A that QXR was a piece of shit." He pulls out a flip chart with the customer's chain of command and says A told B and B told C who told C....so the senior managerment was upset. I new that A was as busy covering up this disaster as I was. So was B. By this time I was on good speaking term with the managers at the customers. I told B that I got chewed out over some blow up and I had know idea what it was all about. B told me that what happened was our district sales reps came to the customer's VP and asked them to write an article for the company newsletter telling how wonderful QXR was. To which, the VP quite naturally exploded. How could this be? The project manager is telling the district manager how wonderfully things are going. The district manger (the one who doesn't want to here about it) is telling the sales manager who wonderful everything is. So what is more likely: A. The system isn't working at all. B. I told the the customer "The system was a piece of shit." and the customer passed that information up the chain of command. So, to answer you question, YES, things are as bad as you suspect, possibly even worse. > the list. Nope. "Of course, we will just push the whole entire list > onto a stack and then push it back!" That strange smell is my faith in > humanity being engulfed in the flames of hellfire. That might have been a teaching tool. It is a common mechanism for reversing things (e.g. used ing LZW compression). Not necessary for linked lists though. > So the reason I'm writing is to desperately try and get > reassurance this is not how all programmers are. Please, I beg of you, > tell me that 99% of these people will end up greeting people at Walmart > and not within 50 feet of a computer. > > Exasperated, > Nathan If the software industry were rational, Bill Gates would be pumping gas for a living. .