- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Admin
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.
Admin
Really, in this day and age, we still have readers who can't spot a troll a mile off?
Admin
Admin
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.
Admin
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...
Admin
Wow. And here goes my tiny hope that such people, in fact, do not exist...
Admin
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.
Admin
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.
Admin
Admin
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.
Admin
Admin
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.)
Admin
It's called being on vacation for a reason...someone else can handle it.
Admin
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.
Admin
Admin
I stopped reading at part 2, because it wasn't believable and wasn't funny.
Admin
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.
Admin
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.
Admin
It's Directive 595 FROM OUTER SPACE.
Admin
"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."
Admin
This story seems like fiction. I really can not believe that such people exist :)
Admin
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.
Admin
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.
Admin
Admin
Why didn't he quit first and use his owed vacation as his two week notice ?
Admin
Admin
sequence column v. sequence trigger? A column is one thing, a trigger is another, and a sequence another still.
Admin
Admin
Admin
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.
Admin
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.
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?
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?)
Admin
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...
Admin
Ick, I fed a troll.
Admin
Admin
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.
Admin
Yeah, only yours was actually a troll.
Admin
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.
Admin
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.
Admin
MTMEFY
(Made that more evil for you)
Admin
Directive 595 Part 4: profit!
Admin
Hortie, love, are you a troll or pig-buggering idiot?
Admin
Why choose?
Admin
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.
Admin
A good effort. Would have been better if you hadn't so obviously contradicted yourself. I give it 6 bridges out of 10.
Admin
Indeed. The two are far from mutually exclusive.
Admin
Sadly, tragically, unfortunately... yes.
Admin
Admin
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.
Admin
Well, that's a different sort of story. The one you told at first didn't really put you in a very good light.