• (cs) in reply to Tim
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO
    What makes you think that didn't happen? Just the fact that the story doesn't include the scene where one of Gerald's subordinates approaches the CTO, who says he'll talk to Gerald about it and never does? I'm not sure how omitting such a situation would make the whole story bullshit.
  • Paul (unregistered) in reply to Tim
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO

    I was once in a situation very much like this. The chief architect said that foreign keys and null constraints were just one way to do things, and that we wouldn't be using them on our project. I went to the CIO and was promptly terminated for insubordination. I had worked at the company for 8 years, our new "architect" had been around about 9 months.

  • Dan (unregistered) in reply to Tom
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.

    Foreign keys are useful for data mapping and self-documentation, and they can also help programs automatically do things like dereference code table values to their text values.

    While they're not actually required, they should be used whenever possible, so a future developer doesn't have to scratch his head and "wtf" when trying to find a foreign key mapping that doesn't make obvious sense.

    As to PRIMARY keys... well, I guess you could get away with simply indexing a table's identity column, but something tells me that "Part 4" is going to have something to do with the removal of all indexes.

    Really, in this day and age, we still have readers who can't spot a troll a mile off?

  • (cs) in reply to Dan
    Dan:
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.

    Foreign keys are useful for blah blah tl;dr blah...

    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Or in this case, a two-headed troll (nag-geoff = nagesh-geoffrey).

  • blah (unregistered)

    Hey, at least this architect communicated expectations to his underlings. Can't say the same for one douchebag at a behemoth company we partnered with for a project.

    He made passing references in person to his grand planned "ahkitekchuh" and only produced a poorly formatted, poorly detailed txt file... which he never shared with anyone until it was too late. He never even sat down with us to discuss his ingenuity verbally.

    Meanwhile we created something that actually worked. Even from his high-level blurb you could tell that his egotrocity would have performed poorly. Oh yeah, and no portion of the entire suite ever made a single sale.

  • Thomas Kyte (unregistered)

    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...

  • n/a (unregistered) in reply to Thomas Kyte
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...

    Wow. And here goes my tiny hope that such people, in fact, do not exist...

  • Wyrm (unregistered) in reply to Excelsior

    You can believe it. I once had a client who wanted our application database to be designed without keys (both primary and foreign). We did manage to convince him to leave at least primary keys...

    A short while later, he complaigned about lack of performance: we had to discuss indexes for two weeks before he agreed to have us add them.

  • (cs) in reply to Dazed
    Dazed:
    Trish:
    I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and freinds ans STRICTLY non-work. Might be frowned upon, but works miracles for being able to actually relax on holidays ;)
    I have a simpler and more reliable solution for relaxing on holidays - it's called an off switch.
    This is also a good way to let the boss know just exactly how much he depends on you.

    A long time ago, I worked at a place with a grossly overloaded server which was never replaced due to shortsighted budgeting. As such, I ran lots of cron'd scripts to monitor and fix transaction logs, full file systems and so forth for numerous applications - on my local unix box (it was new, reliable, and everything was on a shared drive). At some points in the day, the cron schedules intersected and my box basically died for ten minutes until it caught up. Some suit saw me reading the paper at that moment and in spite of my explanation, chastised me for goofing off. I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my "sabotage". I showed them that I simply needed to start doing my job again. They never hassled me again.

  • (cs) in reply to Dan
    Dan:
    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Yes. We also have readers who can spot the troll but respond anyway because they have nothing better to do.
  • Ptorq (unregistered)

    The only thing about this that makes me want to call foul is management firing the guy actually responsible for the mess instead of Daniel, who had the temerity to be on vacation during it.

  • Anonimous (unregistered) in reply to boog
    boog:
    Dan:
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.

    Foreign keys are useful for blah blah tl;dr blah...

    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Or in this case, a two-headed troll (nag-geoff = nagesh-geoffrey).
    Listen to this man. If anyone can spot a troll, it's booger.

  • (cs) in reply to Thomas Kyte
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...

    TRWTF: Disabling cookies on that side causes it to go into a redirect loop. (Apparently, this is common enough that Firefox even managed to correctly diagnose that my rejection of the cookies was the problem.)

  • Sam (unregistered) in reply to BentFranklin
    BentFranklin:
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?

    It's called being on vacation for a reason...someone else can handle it.

  • - (unregistered)

    The CDA reaction was the correct one in this situation. You can`t save people from their own stupidity against their will. If you can persuade them let, them burn and learn from their mistake. But make sure you are not around while they figure it out the hard way.

  • (cs)
    Chief Architech Douchebag:
    "A directive is such that all reasonable discussion has taken place and as such is not open for debate."
    Now what I would like to know is who was involved in this discussion. Maybe Gerald had multiple personalities and their discussion focused on whether the Directive was brillant, genius or both.
  • wydok (unregistered)

    I stopped reading at part 2, because it wasn't believable and wasn't funny.

  • EatenByAGrue (unregistered) in reply to Buffalo
    Buffalo:
    Chief Architech Douchebag:
    "A directive is such that all reasonable discussion has taken place and as such is not open for debate."
    Now what I would like to know is who was involved in this discussion. Maybe Gerald had multiple personalities and their discussion focused on whether the Directive was brillant, genius or both.

    My guess: He'd discussed it with CTO, who didn't realize this was a bad idea. When things hit the fan, CTO threw Gerald under a bus rather than to admit that it was something he'd approved.

  • Jay (unregistered) in reply to boog
    boog:
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO
    What makes you think that didn't happen? Just the fact that the story doesn't include the scene where one of Gerald's subordinates approaches the CTO, who says he'll talk to Gerald about it and never does? I'm not sure how omitting such a situation would make the whole story bullshit.

    Or, I once had a situation where our chief architect made a technical decision that I thought was really dumb. Without getting into all the details, the gist of it was, that configuration management on code changes is a lot of work, so to save having to make code changes when certain key logic changes, we should write the code for that key logic in a different programming language, deploy it on a different server, and then create an interface between the regular production servers and this new server to pass requests across and get the answer back. So sure, there's now a new language for all the programmers to learn, a new server to maintain, a new code base to be managed, and new interfaces on both sides to develop and maintain. But because the new language is not Java, changing this code is not "changing Java code", and therefore is by definition "not programming", and so configuration management on the new code is, by decree, not a problem. Oh, and just to reinforce the idea that configuration management of the new non-code is not a problem, we could not manage the non-source code in SVN like our Java code, but had to write our own, proprietary library system to manage it.

    I went to the CIO about it. He set up a meeting with myself and several other key people who all basically agreed with me that the chief architect's decision was a bad idea. And then the CIO went to the chief architect who told him that, no, his decision was really a good idea, and we were all told that that was it, the decision was final. It was all very nice and polite, there was no shouting and no one was fired or anything, but basically the CIO said that, hey, your objections are noted, but the chief architect has that job because we trust his judgement, end of story.

    I took that as the last straw in a string of bad decisions and about a month later had another job.

    But my point is, it's incredibly naive to say, "If someone made a bad decision, his superiors would logically and inevitably overrule him." It just doesn't happen that way in real life. 9 times out of 10 the big boss doesn't understand all the technical issues. He gives someone a position of authority because, rightly or wrongly, that person has convinced him that he knows what he's doing. And then he relies on that person's judgment. If he thought Al knew more about how to architect systems then Bob, he would have made Al the chief architect and not Bob.

  • (cs)

    It's Directive 595 FROM OUTER SPACE.

  • Jay (unregistered)

    "A directive is such that all reasonable discussion has taken place and as such is not open for debate."

    It is surely true that there comes a time when you have to make a decision and move forward. There are occasions when people have valid objections, or at least objections that sound plausible, but you have gone around and around and you cannot come to a concensus, and it is clear that going ahead with a debatable decision is perhaps risky but better than doing nothing except argue some more.

    But that said, I am extremely suspicious when someone syas that he doesn't have time or can't be bothered to explain the reasons that went into a conclusion or decision. Usually, if someone has a convincing reason, he is anxious to explain it. People usually love to tell all the trials and travails they had to go through to find the right answer.

    I just don't buy it when someone says, "We don't have time to find out the facts, this is a crisis and we have to make a decision NOW!". Or, "All the experts agree that this is the right answer. We can't be bothered to explain our reasons, we're the experts and you should just trust us." Or especially, "This is Truth, and if you don't agree you must be some kind of anti-intellectual, anti-science, probably religious extremist."

  • Viktor (unregistered)

    This story seems like fiction. I really can not believe that such people exist :)

  • (cs)

    The really scary part of this WTF is realizing how much longer the power-mad chief architect would have been allowed to keep his job if he hadn't made an error in his code.

  • Jack (unregistered)

    This is a truly beautiful story... I only wish it would happen more often.

    Yes, it sucks for the slaves who had to work several days in crisis mode, but events like this are the only thing that will teach non-technical upper management this isn't a fucking TV set we're dealing with here, it's your business and if you don't keep skilled professionals where they're needed you're going down the tubes, hard!

    Occasionally management lacks the ability to learn even after an adventure like this, in which case the entire company fails. This, too, while painful, is ultimately a Good Thing for the world in general, because it takes morons out of positions where they can do so much damage.

  • Ken B. (unregistered) in reply to dkf
    dkf:
    “All delegates are entitled to exactly one car parking space unless special dispensation is granted by the Car Lot Management Committee.”
    "That parking space is 13-B, which shall be allocated on a first-come-first-served basis."
  • vacation taker (unregistered)

    Why didn't he quit first and use his owed vacation as his two week notice ?

  • (cs) in reply to Paul
    Paul:
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO
    I was once in a situation very much like this. The chief architect said that foreign keys and null constraints were just one way to do things, and that we wouldn't be using them on our project. I went to the CIO and was promptly terminated for insubordination. I had worked at the company for 8 years, our new "architect" had been around about 9 months.
    Yep, because what you failed to realize was that the chief architect and CIO were old school college buddies and love to play golf together on the weekends.
  • baffled (unregistered)

    sequence column v. sequence trigger? A column is one thing, a trigger is another, and a sequence another still.

  • (cs) in reply to Anonimous
    Anonimous:
    boog:
    Dan:
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.

    Foreign keys are useful for blah blah tl;dr blah...

    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Or in this case, a two-headed troll (nag-geoff = nagesh-geoffrey).
    Listen to this man. If anyone can spot a troll, it's booger.
    I don't only spot trolls; I can also make them striped, argyle, tartan, or houndstooth.

  • OWS (unregistered) in reply to Jack
    Jack:
    Occasionally management lacks the ability to learn even after an adventure like this, in which case the entire company fails. This, too, while painful, is ultimately a Good Thing for the world in general, because it takes morons out of positions where they can do so much damage.
    And that, ladies and gentlemen, is why "too big to fail" means "too big to exist"!
  • Carl (unregistered)

    Directive 597: rigid data entry forms limit flexibility and evolution and thus fail to provide necessary services as our business evolves. All forms shall be replaced by a single large free-form text field.

    Captcha: wisi -- don't question my wisi-dumb.

  • (cs) in reply to snoofle
    snoofle:
    This is also a good way to let the boss know just exactly how much he depends on you.

    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.

    A long time ago, I worked at a place with a grossly overloaded server which was never replaced due to shortsighted budgeting. As such, I ran lots of cron'd scripts to monitor and fix transaction logs, full file systems and so forth for numerous applications - on my local unix box (it was new, reliable, and everything was on a shared drive). At some points in the day, the cron schedules intersected and my box basically died for ten minutes until it caught up. Some suit saw me reading the paper at that moment and in spite of my explanation, chastised me for goofing off.

    So, what, he saw your box blowing up and you reading the sports pages, and he said, "what are you doing reading the sports pages while your machine is blowing up?" And what did you do?

    I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my sabotage. I showed them that I simply needed to start doing my job again. They never hassled me again.

    By "hassled" you mean "paid", right? Or did you really blow up the company and keep your job? (Did you have pictures of the CEO in bed with a ten-year-old boy and a bassett hound, or how did you pull this off?)

  • (cs)

    This must have been sabotage...

    There is no way an "Application Architect" (bare minimum of seven years hands-on experience) would think that any of these "directives" was a good idea or do it just for a power-trip.

    I MUST believe it was sabotage because believing that anybody that stupid could ascend to the level of Chief Architect would shatter my reality...

  • (cs) in reply to trtrwtf
    trtrwtf:
    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.
    Yeahhh, that only works in shops where there's enough manpower to make that happen. In smaller shops, the managers need to know who's indispensable for what and to not fuck with them.

    Ick, I fed a troll.

  • (cs) in reply to Zylon
    Zylon:
    indispensable
    There's no such thing.
    Zylon:
    Ick, I fed a troll.
    Ditto.
  • (cs) in reply to C-Octothorpe
    C-Octothorpe:
    This must have been sabotage...

    There is no way an "Application Architect" (bare minimum of seven years hands-on experience) would think that any of these "directives" was a good idea or do it just for a power-trip.

    I MUST believe it was sabotage because believing that anybody that stupid could ascend to the level of Chief Architect would shatter my reality...

    It is the non-technical management-executive that pick who gets promoted, and they rarely base it on technical competence. It's more important who goes to the gym with them, or who gives the appearance of hard work by spending 60+ hours cranking out broken WTF code.

  • (cs) in reply to frits
    frits:
    Zylon:
    indispensable
    There's no such thing.
    Zylon:
    Ick, I fed a troll.
    Ditto.

    Yeah, only yours was actually a troll.

  • Geoff (unregistered) in reply to nag-geoff

    Are you serious? Independent of if its a constraint or not and the RDBMS being aware of the relationship an FKey is still and FKey. If you 'permit' some bad tuples to get written in one table, which have an unmatched key, and then later some legitimate tuple is written into the other table you have attributes which are really unrelated, now appearing to be related.

    You might get away with not having FKey constraints if you are using natural keys, which have their own inherent problems in most cases, or really bloaty synthetic keys like GUIDS, but any other scheme you are certain to run into trouble sometime.

  • (cs)

    Directive no. 598: Tools which generate html code lack flexibility and blah blah.

    From now on, all html that is experienced client-side will be written by the programmer by hand.

    : :

    Directive no. 634: No free software is to be used for any purposes in this company. If it's free, it can't be any good because no money will have been spent on quality control.

    : :

    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.

  • (cs) in reply to Matt Westwood
    Matt Westwood:
    Directive no. 598: Tools which generate html code lack flexibility and blah blah.

    From now on, all html that is experienced client-side will be written by the programmer by hand for every http request.

    MTMEFY

    (Made that more evil for you)

  • Gunslinger (unregistered)

    Directive 595 Part 4: profit!

  • Lick My Love Log (unregistered) in reply to Hortical
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?

    Hortie, love, are you a troll or pig-buggering idiot?

  • (cs) in reply to Lick My Love Log
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?

    Hortie, love, are you a troll or pig-buggering idiot?

    Why choose?

  • (cs) in reply to trtrwtf
    trtrwtf:
    snoofle:
    This is also a good way to let the boss know just exactly how much he depends on you.

    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.

    A long time ago, I worked at a place with a grossly overloaded server which was never replaced due to shortsighted budgeting. As such, I ran lots of cron'd scripts to monitor and fix transaction logs, full file systems and so forth for numerous applications - on my local unix box (it was new, reliable, and everything was on a shared drive). At some points in the day, the cron schedules intersected and my box basically died for ten minutes until it caught up. Some suit saw me reading the paper at that moment and in spite of my explanation, chastised me for goofing off.

    So, what, he saw your box blowing up and you reading the sports pages, and he said, "what are you doing reading the sports pages while your machine is blowing up?" And what did you do?

    I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my sabotage. I showed them that I simply needed to start doing my job again. They never hassled me again.

    By "hassled" you mean "paid", right? Or did you really blow up the company and keep your job? (Did you have pictures of the CEO in bed with a ten-year-old boy and a bassett hound, or how did you pull this off?)

    Methinks you missed what I was trying to say...

    I did mention that all the stuff was on a shared drive. Perhaps I should also have mentioned that others knew about it, but as I was always the first one in the office, I started everything up when I got in. Since I only had access to my box, that's where I ran everything.

    When the suit came over, my box was so heavily loaded that it just stopped responding for about ten minutes. I explained to the guy that it was running scripts to clean up various things in production, that it would finish shortly, and that there was no way to use the machine until it did as it didn't respond (and I showed him).

    The guy blew a gasket in my face anyway, so I just powered down, told my boss what happened and that I was going away for 2 weeks. My boss and several others knew about the scripts and how to run them, but they didn't want me too pissed off as I was the one coming in at 6AM and doing this for several teams, so they just let everything crash and burn (*) to illustrate that I was actually doing stuff.

    *Aside: the problems were all manually fixable as they occurred; it's just that my scripts weren't preemptively fixing them before they became visible.

    When I came back, the suit and 3 managers from the teams I was supporting were all there. They backed me up when I showed him that even though I was just sitting there, that my computer was working quite diligently. Then the four of us pointed out that if we had a properly sized server, that this stuff could be run there and I would be free to work continuously.

    The point finally got across, though we never did get the new server.

  • Anon (unregistered) in reply to Hortical
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?

    A good effort. Would have been better if you hadn't so obviously contradicted yourself. I give it 6 bridges out of 10.

  • Lick My Love Log (unregistered) in reply to trtrwtf
    trtrwtf:
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?

    Hortie, love, are you a troll or pig-buggering idiot?

    Why choose?

    Indeed. The two are far from mutually exclusive.

  • (cs) in reply to Jack Foluney
    Jack Foluney:
    This story seems like it's made-up. It's funny though. Surely no one is that stupid are they??
    You mean, other than Nagesh?

    Sadly, tragically, unfortunately... yes.

  • Anthony Aloysius St John Hancock (unregistered) in reply to nag-geoff
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.

    Damn foreigners - can't go anywhere in the world without meeting them

  • jverd (unregistered) in reply to EatenByAGrue
    EatenByAGrue:
    My guess: He'd discussed it with CTO, who didn't realize this was a bad idea. When things hit the fan, CTO threw Gerald under a bus rather than to admit that it was something he'd approved.

    It's not "throwing somebody under the bus" when you fire him for demonstrating unfathomable incompetence and arrogance, and if the CTO approved it, that doesn't make him equally culpable. Though one can of course hold out the hope that he at least learned a lesson and in the future will solicit the opinions of other senior technical staff before approving such major changes.

  • (cs) in reply to snoofle
    snoofle:
    Methinks you missed what I was trying to say...

    Well, that's a different sort of story. The one you told at first didn't really put you in a very good light.

Leave a comment on “Directive 595”

Log In or post as a guest

Replying to comment #:

« Return to Article