• (cs) in reply to plizak
    plizak:
    Management failure, agian.

    The only metric for success or failure most managers have is whether they keep their job or not, which leads them to make decisions which affect their company and employees adversely.

  • James (unregistered)

    I think "Incidental Expert" deserves its own Anti-Pattern. It happens so often, especially in an office like mine that went through high turnover. Projects around here can move in fits and starts -- deliver A while B (the replacement for A) is already in development. But A works fine, so they pull everybody off B, and it sits in limbo for a few years.

    Then, they realize that A is running out of spare parts and now we can't get them anymore and oh yeah that was why we wanted B in the first place, so they put people back on B.... But in the meantime, everybody who used to work on B has moved to a different organization, so the intern who was just starting when B's original development stopped (now working as a full-time employee) becomes the "go-to guy" for B. At least sometimes, B will have decent documentation -- if you're lucky.

  • dkf (unregistered) in reply to Jojosh_the_Pi
    Jojosh_the_Pi:
    I can't wait for the day when there's no such thing as a nation. When we all speak the same language, and blend into the same color.
    Speaking only a single language? That'd be a really terrible loss, since language definitely modifies how you think and having lots of ways to think about something is good. It would be at least as bad a loss as having only a single programming paradigm.
  • AB (unregistered) in reply to dkf
    dkf:
    Jojosh_the_Pi:
    I can't wait for the day when there's no such thing as a nation. When we all speak the same language, and blend into the same color.
    Speaking only a single language? That'd be a really terrible loss, since language definitely modifies how you think and having lots of ways to think about something is good. It would be at least as bad a loss as having only a single programming paradigm.

    No, I think it's a doubleplusgood idea!

  • (cs) in reply to dkf
    dkf:
    Jojosh_the_Pi:
    I can't wait for the day when there's no such thing as a nation. When we all speak the same language, and blend into the same color.
    Speaking only a single language? That'd be a really terrible loss, since language definitely modifies how you think and having lots of ways to think about something is good. It would be at least as bad a loss as having only a single programming paradigm.

    I suppose the sarcasm tag was needed? I really don't want people to think I believe that.

  • John Stoner (unregistered)

    There's one WTF they missed on this one:

    after all the screwups, poor Hung is left to deal with this horrible code all by himself. The rest of the team is sitting on their hands waiting for him to finish.

    Why not put some idled developer(s) to work on that code to work with Hung?

    I mean, fine, developers aren't plug-compatible, and you can't randomly shift people around, but if the 'expert' has a week of knowledge on everyone else? Somebody give Hung a hand, dude.

    Of all the mistakes here, this is the smallest one, but it's not all that small.

  • disappointed (unregistered) in reply to Strider
    Strider:
    We're laughing at a guys accent... This is always funny
    and always offensive. I thought this site was about programming, not poking fun at foreigners. I could watch Breakfast at Tiffany's for that.
  • (cs)

    So what I don't get is why they didn't, for example, do a straight Pascal to C port, include all the libraries that Edward wrote, but not actually call any of the functions in them, and call it a day, with a perfectly working copy of the original that is now maintainable by anyone who knows C? Clearly management won't have any idea whether or not the code calls Edward's wrapper functions. I mean if they can't even be bothered to have him deliver functional milestones every couple of months, do you really think they'll be able to figure out that a library that's included in your IDE's project isn't actually compiled into the executable it produces? (Or is compiled in, but isn't ever called?)

  • AHGrayLensman (unregistered) in reply to disappointed
    disappointed:
    I thought this site was about programming, not poking fun at foreigners. I could watch Breakfast at Tiffany's for that.

    Yeah, except I could empathize with Huang's plight, unlike those of the narcissistic schmucks that "Breakfast at Tiffany's" was about.

  • Andrew (unregistered) in reply to diaphanein
    diaphanein:
    While I feel Hung's pain (myself currently being in a similar situation), I have to wonder companies don't go after jacknuts like Edward. I mean, doesn't Edward's actions construe fraud?

    Maybe it constitutes fraud. The company construed Edwards work to be functional, when it was not.

    If they had a contract to "write a program to manage landfills", then they have a case. If they hired him to work for "a period of time", then they possibly don't. It is the company's responsiblity to sign-off on the progam they bought.

    CONSTRUE (Merriam-Webster) 1 : to analyze the arrangement and connection of words in (a sentence or sentence part) 2 : to understand or explain the sense or intention of usually in a particular way or with respect to a given set of circumstances <construed my actions as hostile> intransitive verb : to construe a sentence or sentence part especially in connection with translating

  • (cs) in reply to LRB
    LRB:
    I don't understand the idiocy of companies that throw tons of money away on expensive consultants only to find their code is crap. Then to "save face" they insist on throwing even more money away in trying to use the crap code. I once took over a project where the code a) didn't work and b) was written to do something completely different than what the business wanted. Yet the IT management insisted on using the broken code that did something different than what the business wanted. I wish I knew how to be stupid enough to get paid the big bucks that management does.
    The reason this is done is that the manager who hired the original consultant made a mistake. If this manager were to admit to having made such a huge and costly mistake, he or she likely would receive considerably smaller promotions, bonuses, and stock options in future years.

    It's all about covering up one's mistakes, and making the labor pay for it.

  • David (unregistered)

    The real WTF is why the development team used all Edward's crap library code.

    The right thing to do would be to use as much of it as worked (possibly not much!) and concentrate on writing the rest of the system, using standard library functions when appropriate. There is no way management could tell how much of the final code was written recently and how much by Edward the Expensive. So long as the team could say they'd used Edward's work, they were covered.

    Hung's key tasks could then have been to check/test Edward's functions to tell the team which actually worked, and fix the few others that they really needed.

  • Eam (unregistered)

    A lot of racist honkies around here...

  • Franz Kafka (unregistered) in reply to Eam
    Eam:
    A lot of racist honkies around here...

    thumps Eam, just because

  • (cs) in reply to Franz Kafka

    One of my coworkers admitted to knowing a bit of VB when a new product was brought into the company. He didn't know at the time, but he would end up having to maintain a huge WTF of a VB program. But what makes this particularly bad is that:

    1. He's a firmware engineer.
    2. A linux advocate.
  • Chambers (unregistered) in reply to Jojosh_the_Pi
    Jojosh_the_Pi:
    No one will worry about who prefers blondes, redheads, or brunettes

    Losing that distinction would be the greatest tragedy this world has ever known. Long live the blonds, redheads and brunettes!

  • (cs) in reply to Eric
    Eric:
    They decided to replace a full functional billing system with portal ( an "enterprise" xml driven biling/accounting/provisioning system ). They decided that I should do the job of making it work. I have no accounting, billing, or provisioning experience and I made this very clear when taking the project.
    A previous company I was at, a defense contractor that's still around after several merges, the IT department (they didn't call it that back then) wanted to have some proper system billing for their computers. Ie, track the usage of everyone's time on the mainframes and minis so that their departments can be charged back.

    There was a $40,000 package that could do that. This was sort of expensive back then, but not prohibitive for software at that time. But our boss decided that we could write the software, and "volunteered" us to the IT head. But we were mostly system administrators with a few programmers who wrote utilities and the like. But no, were were stuck working on stuff most of us didn't understand. The requirements were extremely vague (I was vague on the whole concept and was thus useless at guessing what a good system would look like).

    Two programmers, one was me, one was a person with bad English, bad skills, and easily frustrated. Decent English when she wasn't frustrated and typed in her emails slowly. But she was usually frustrated and so mailed off gibberish that the rest of us would pore over trying to decipher. She spent her career making tiny tweaks the financial accounting software, which meant being given very tight specs and detailed instructions while working with a gigantic team. But in our group she was mostly on her own with little guidance and responsible for something huge, and she didn't handle that change well.

    One system admin was assigned to the team, but he wasn't so good at programming. So he was made the project manager. But he didn't know anything about project management either. So he spent a lot of time working on waterfall charts.

    I think we spent nearly two years on it part time to produce something that only marginally worked. Probably 3 man years at least, which was at least double the cost of what we were trying to avoid buying...

  • K (unregistered)

    I cannot believe that I lived this today - I was yelling at Ken not Edward but still.

    poor, poor K

  • (cs) in reply to Jonh Robo
    Jonh Robo:
    More like Incidental *Racism*...

    Does it really matter that "Hung" is Korean? ...or for that matter that his mastery of the English language is not up to par?

    So you thought it was Hung that was getting mocked by the article?

    Sadly, its that kind of thinking that allows the Edwards of the world to flourish...

  • Alak (unregistered)

    I sympathize so much, although I can't stop laughing right now^^

  • (cs) in reply to Alak

    It just shows the programmers' poor mastery of corporate-fu, which is also displayed in some of the comments here.

    Once you have realized that the whole point of using Edward's code is to avoid admitting that it is crap (because that would make the manager(s) who hired Edward and kept him for two years without checking up on him look bad), the solution is simple:

    Throw it away and rewrite from scratch without telling the managers. Since Edward's code has no functionality, nobody will ever be able to notice.

  • m03 (unregistered) in reply to disappointed
    disappointed:
    Strider:
    We're laughing at a guys accent... This is always funny
    and always offensive. I thought this site was about programming, not poking fun at foreigners. I could watch Breakfast at Tiffany's for that.

    And how would that be any different than say, laughing at a coworkers crappy car? Or laughing at their funny haircut?

    Humankind will always find a reason to poke fun at differences. That doesn't necessarily equal racism. These same people who worked with him and laughed at his broken curses were probably happy to go to lunch with the guy, happy to talk to him about random non-work related stuff, and happy to hang out with him off-hours. Those are not things that a racist would do.

  • Me (unregistered)

    I can't believe that I am still reading this site.

    Talk about scraping the bottom of the barrel!

    When Alex thinks that he needs to poke fun at foreigners accents just to get enough cheap laughs to keep the stories going it's time to go...

    I will read no more of this crap!

  • (cs) in reply to brazzy
    brazzy:
    Once you have realized that the whole point of using Edward's code is to avoid admitting that it is crap (because that would make the manager(s) who hired Edward and kept him for two years without checking up on him look bad), the solution is simple:

    Throw it away and rewrite from scratch without telling the managers. Since Edward's code has no functionality, nobody will ever be able to notice.

    I wish it was always that simple, but sometimes you can't even get that done. I recently worked on a big wtf project, where even the people who initially designed it admitted that it just wasn't going to work. The people working on it were competent, but the program being built wanted to do too much. Throw in manager who believe meeting deadlines is more important than doing things right, listening to their engineers or even produce working code and you get a monstrosity that after 2 years and an extremely high turnover is completely unusable. Management solution, get another company to come in and finish it. However, they still needed to finish it based on the existing code. In fact it was part of the contract. Throw in about 3 or 4 other interested parties, and some managers that know just enough IT to be a danger...

    One really cool thing happened though. One consultant, when we were asked to do overtime to meet a deadline (which we were never ever ever ever going to meet) said 'I will not cooperate with this nonsense' (translated from original...it loses something). Of course management decided to let him go (as if he cared). We should've all had the guts to tell the truth...but at least he had the guts to make some kind of stand.

    Management always has to keep justifiying decisions made. This seems to mean never admitting mistakes (unless someone else made them, and then preferably not another manager). If one was actually to admit to a mistake, then one could be held accountable, and accountability is only for the unwashed masses, not the elite.

  • dkf (unregistered) in reply to brazzy
    brazzy:
    Throw it away and rewrite from scratch without telling the managers. Since Edward's code has no functionality, nobody will ever be able to notice.
    If the managers insist on the code being used, arrange for it to be linked in in such a way as to be required but not actually affect anything that matters (e.g. find a variable in the library that holds a NULL...) Like that, it's linked in and you can demonstrate that it is "needed" and "used" without causing any heartache. You can always use some extra BS about "leveraging key learnings", "taking the lessons and techniques to heart" and stuff like that to make it seem more acceptable.

    If, later on, it causes problems with porting, just ditch Edward's lib and claim that it is a real step forward. You won't be lying... :-)

  • Not you (unregistered) in reply to Me

    OMG, what's this world coming to? Let's boicot this site... let's burn it down! <that was sarcasm>

    I cannot decide if I'm amused or depressed at all this PC anti-racist comments.

    All this PC hypocrite double face bullshit sometimes get's on my nerves.

    Dudes and dudettes get this.. NO ONE IS MAKING FUN AT HUNGS ACCENTS.. AND YES.. PICTURING HUNG SWEARING AT EDWARD WITH IT'S ACCENT IS FUNNY..

    We laugh (or cry) with HUNG, not at HUNG. But I guess your human logic basic skills are pretty low when they get you out of the "foo bar stuff"

    I had an ugly accent when I lived in the US.. and I have an ugly accent were I live now.. and you know what.. NOBODY CARES!!!!

    But remember this, extremes touch each other.. and you guys are way more on the racist side than the rest of us.

  • Roman (unregistered)

    It's funny how loosers in the management always try to save the face - and never do the right thing, line management should.

    Must... stop... reading... Dilbert...

  • Roman (unregistered)

    Sorry, line should be like. :)

  • (cs) in reply to Jonh Robo
    Jonh Robo:
    Whites rarely realize when they are being racist. I could talk about this until I'm blue in the face...

    hmmm ... insulting and generalizing a particular race using non-"politically correct" terminology. Interesting point you are making there, Jonh.

  • Hangman (unregistered)

    Hung was well named. In his position, I'd have been fashioning a noose for myself to make the misery stop.

  • (cs) in reply to Dink
    Dink:
    Probably not in a legal sense, and if there's anyone I'd go after here, it's whoever was responsible for overseeing Edward's work.

    Two YEARS go by without this being discovered? Probably more than one manager deserves to have been summarily canned over this.

    Milestones. Staged releases. For some reason, people don't seem like to witness progression in development. They like it to come in a big-bang surprise, like a birthday present.

    What is wrong with these people???

  • Diego (unregistered) in reply to Jojosh_the_Pi
    Jojosh_the_Pi:
    OneMHz:
    Jonh Robo:
    More like Incidental *Racism*...

    Does it really matter that "Hung" is Korean? ...or for that matter that his mastery of the English language is not up to par?

    I wouldn't exactly call it racist to point out one's particular place of birth. They also said his command of the English language was fine until he got that frustrated. The joke was at his frustration, not his ancestry.

    I can't wait for the day when there's no such thing as a nation. When we all speak the same language, and blend into the same color. When those of us who are a little smarter will get implants to slow our brains, so the others don't feel dumb. And perhaps those who are faster will have weights on their legs so everyone else can keep up. There will be no pretty people--but no ugly people either. Plastic surgery can make me look like you, and you look like me. No one will worry about who prefers blondes, redheads, or brunettes--we can just be all the same. We won't be able to make fun of each other for being different, and that's a lofty goal. I can't wait for the day when we're all the same, and achieve true equality.

    yeah! I caaaaan't wait to live in a such boring world :)~

    racism is a weapon nowadays. you can't even LOOK AT a black or yellow people whitout being accused of racism

    (of course some dudes here will accuse me too due to my comment)

    our world is becoming miserable and Mel Gibson is a great proof of this

  • ysh (unregistered) in reply to Diego

    i am korean. i do not think that the article or the portrayal of "hung" were racist.

    "hung" however is not really a korean name, it is chinese.

  • (cs) in reply to anne
    anne:
    My officemate is Indian and swears wonderfully. I think there's something about not speaking a particular language as your first language that lets you really cut to the meat of what swearing is all about in that language.

    Speaking three languages fluently myself(well four actually, if you count Swiss German separately), I can only confirm this statement.

    People even swear differently in Swiss German compared to German.

    And yes, I'm fluent in swearing in all these languages too. :)

  • Will (unregistered)

    You know, if Hung quit and got a job as a waiter, one might well go into a restaurant one day and find that one's server was hung.

  • PS (unregistered) in reply to Jonh Robo

    Actually in the real story Hung is white, his real name is John and he is working for a company in Korea.

  • blue hater (unregistered) in reply to Jonh Robo
    Jonh Robo:
    Whites rarely realize when they are being racist. I could talk about this until I'm blue in the face...

    And I'll bet you will, too. You fucking blues are all alike.

  • Owen (unregistered)

    What I want to know is: WHY THE HECK didn't Tim and Huang throw out Edward's code and start over anyway. The obviously non-technical management team would never know the difference and Tim and Huang wouldn't have to ever tell them! Poor Huang....

  • rgz (unregistered) in reply to Jonh Robo

    The joke is in the comically broken yet surprisingly insightful English.

    The whole dynamics around the incident, the part about Hung being Korean, like the little tech story help explain the situation, allows us to feel emphaty and fulfills the site's theme requirements. But the joke is about the broken English.

    Why is it, that a man can trip and roll down a hill and it gets posted in America's funniest videos? Because he is a male white American man. You can joke all you want about white male American guys, but don't you dare to change any of these variables or it becomes a felony.

    Nahh, I'm sorry I just don't buy it. Look we side with Hung here, we are not laughing at him, we are not laughing at his frustration, we are not even laughing at he not having full command of English. We are laughing at how his complaints are so wrong and so right at the same time, that's the punchline here.

  • Doobie (unregistered)

    After very hard time, is Hung well?

  • Bert (unregistered) in reply to dcardani
    dcardani:
    So what I don't get is why they didn't, for example, do a straight Pascal to C port, include all the libraries that Edward wrote, but not actually call any of the functions in them, and call it a day, with a perfectly working copy of the original that is now maintainable by anyone who knows C? ... (Or is compiled in, but isn't ever called?)
    Wrap it in a shared library and make sure that none of Edward's code is exported. That way you could not call it accidentally.
  • Nasty Ned (unregistered) in reply to Jonh Robo

    In reply to "Jonh Robo", saying "Whites rarely realize when they are being racist. I could talk about this until I'm blue in the face...":

    Or, we could strangle you till you're blue in the face. Same result.

    What race are you? Let's assume you're a member of the green race, ok? Now, your mind-bogglingly stupid argument is so retarded, it's making me think you are a f*cking narrow-minded idiot fool dipstick. Now does that make me think that your entire race are a bunch of idiot dipsticks? Does it make me call you broccoli-boy? Grass-face? No - THAT would be racist. Instead, it makes me think YOU are an idiot dipstick. That is not racist, because you have already proven it - I'm not pre-judging you based on your race.

    Generalising what "whites" do is actually pretty racist. No matter what colour you are. So please do everyone a favour and refrain from posting any more of your brain-farts on this site.

  • finnn (unregistered)

    Some time ago I was working as a consultant. This, of course, means a code monkey with crappy wage but hefty hourly fee.

    I became an incidental expert by asking too many questions about a broken system. The tool was constructed by a Guru (actually a capable programmer), who was nowhere to be found. The system around it was more complex than needed, with some delightful details such as "sneakernet" from an internal staging server that had no network access. After I had tried every other option - whining to development lead, chasing the original programmer, asking for outside help - I had no choice but to try to learn the system.

    Got it working and moving the data, with some truly evil hacks on the side I could hack on. After this case, whenever this tool was even mentioned in passing, the ticket was handed to me.

    Of course, customer was not happy with the bill they got. "How can this five year old system suddenly need maintenance?". Sigh.

  • Canuck (unregistered) in reply to Will
    Will:
    You know, if Hung quit and got a job as a waiter, one might well go into a restaurant one day and find that one's server was hung.

    Well, what do you know? I met Hung in a bar in San Francisco, and he chucked his PhD in CS to become a general contractor and play a little with real estate. Now he is a millionnaire and does not have to swear at Edward-types anymore. And he IS a comic genius.

    On a side note, he came to California from Vietnam a zillion years ago.

  • Will (unregistered) in reply to Canuck
    Canuck:
    Will:
    You know, if Hung quit and got a job as a waiter, one might well go into a restaurant one day and find that one's server was hung.

    Well, what do you know? I met Hung in a bar in San Francisco, and he chucked his PhD in CS to become a general contractor and play a little with real estate. Now he is a millionnaire and does not have to swear at Edward-types anymore. And he IS a comic genius.

    On a side note, he came to California from Vietnam a zillion years ago.

    Vietnam, huh? I heard he was Korean.

  • Franz Kafka (unregistered) in reply to Jonh Robo
    Jonh Robo:
    If the joke was at his frustration versus his ancestry then why was it SO important to point out that he was Korean?

    Why not just call him a GOOK?

    Because the important part is that his english goes to hell when he stresses out, and calling him 'guy from some other country' is just stupid. At what point was anybody mocking his ancestry?

    Moron.

  • (cs) in reply to 0xDEADBEEF
    0xDEADBEEF:
    Honestly, I bet that it was because of the language that they're moving. Everybody knows that HR will only ever be able to find low cost candidates with 10 years of experience in popular, modern languages, like C#.NET ...

    Nope. Not the language. Delphi (Object Pascal) will still compile Turbo Pascal code.

  • (cs) in reply to disappointed
    disappointed:
    and always offensive. I thought this site was about programming, not poking fun at foreigners. I could watch Breakfast at Tiffany's for that.

    Why don't you do just that?

    Geez... I can't believe you people are reacting the way you are over the reference to a country and an accent. IT'S JUST A FUNNY STORY, PEOPLE! Quit being such jacka**es!

  • (cs) in reply to Eam
    Eam:
    A lot of racist honkies around here...

    You're right. I have a racial dislike for people named Eam who make ridiculous false posts to programming forums. I admit it.

  • Charles Bretana (unregistered) in reply to snoofle

    Companies this stupid deserve every dollar you can bill to them. And I would feel absolutely zero pressure t odeliver anything functional on any timetable at all, or any concern or guilt about a single penny of it.

    I'd just make sure that the mandated requirements were clearly laid out in a contract or memo for record, or some other document, so that when the inevitable occurs, you can dig out the document, point to it, and say: "We told you this was going to cost way more than doing it the right way".

    When they mandate that you fail, failure can be an enjoyable vacation from real work.

Leave a comment on “The Incidental Expert”

Log In or post as a guest

Replying to comment #:

« Return to Article