• (cs) in reply to caffeinatedbacon
    caffeinatedbacon:
    Imagine, if you will, explaining to your boss, an Office Manager, the GM, two VP's and your staff, that it's a bad idea to buy 5+ year old computer equipment, including laser printers, at auction (issues with lack of warranty, repair costs, parts availability, etc.). Fast forward the day of the auction and repeated reminders to not buy computer equipment, to the point of asking your boss to be allowed to attend the auction to help interfere with that eventuality. Then attending the auction and again, reminding the Office Manager not to bid on equipment, just furniture, then watching the Office Manager bid on every printer and Computer lot that came up, winning enough equipment to supply the current needs of the office.

    Fast forward 6 months; every PC is either broken or been replaced for performance reasons, the printers are now failing on a monthly basis and you, the IT person who VERY aggressively communicated all of the issues prior to purchase, are at fault for 'not maintaining the equipment properly' and causing considerable downtime. Oh, and to top it off, when suggesting that the downtime could be avoided with new equipment purchases, being told that retiring equipment is not in the budget, we only replace items that are broken.

    Yes, there are companies this retarded, but by no means all of them. Here's a possible strategy if you see this sort of thing coming:

    Ask the boss to buy a couple of reasonably new items before the auction. Just a couple. The office manager can do what the hell he wants for the rest.

    Six months later, the new items are still chugging along, while the office manager's auction crap is dying all the time. Now take the users who got stuck working with the crap, and make sure they know that you want to help them. They probably don't care whether the crap is fixed or replaced - they just want it to work. And look, their co-worker two cubicles over has something that does work. Let them convince the boss to let them in on the gravy train, too.

    And if the boss still doesn't budge? Well, you're still the employees' friend. Make sure they understand that the crap can't be replaced unless it's broken, mmmkay?

  • (cs) in reply to FredSaw
    FredSaw:
    b0bg0ats3:
    FIST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111!!!11
    I'd guess you're quite experienced at fisting.
    What, you didn't notice that he did this about two or three days ago?

    Shame on you, Mr Saw!

  • (cs) in reply to Ben
    Ben:
    Quinnum:
    I kind of prefer the 'I' standing for 'Independent' like it was supposed to before the marketing droids crapped on it and attempted to retcon the term.
    Patterson, Gibson and Katz of UC Berkeley invented and defined the term "RAID" using "inexpensive" (contrast "SLED"). Your preferred term is technically inaccurate; the disks are hardly independent since, by definition, they are taken together to constitute the array.

    I find it interesting that you have problems with using the original and proper definitions of these acronyms, but no problem at all, apparently, with the dubious words "retcon" and "droid".

    No offence meant, of course--I'm just pedantic.

    I stand corrected.

  • Matt (unregistered)

    Whoa- that is way too familiar sounding. Right down to the meetings, the IM, the db, the client app...

    Wonder if I worked with this guy. If so, the db problems were definitely not his fault. In fact, he helped a lot.

  • randomcoder (unregistered) in reply to Joshua Norman
    Joshua Norman:
    I want to know this myself. Admittedly I only spent a few minutes thinking about it, but I can't think of a single valid reason for any client program to be using ALTER TABLE. Is there one at all?

    Uh, the client is a database schema design tool?

  • Bob (unregistered) in reply to Matt

    Starr?

  • Stevenovitch (unregistered) in reply to Joshua Norman

    it was CRM data with multiple client sets that required different fields according to each departments needs?

    No idea why'd they'd be going off all the time though...

  • Vlad Patryshev (unregistered) in reply to BiggerWTF

    See, while you are perfectly right, it took me a long time to figure out that I have to do my investigation before jumping in. One of the reasons being that after Russia all these things did not matter much; now they do.

    So, my suggestion - pay more attention to why the person does not ask anything. :)

  • Disc cusser (unregistered) in reply to gary k
    gary k:
    trouble with his RAID array? not to be grammar police, but isn't that kind of redundant (get it?)
    That was a cheap shot.
  • Jackalope (unregistered) in reply to Joshua Norman

    There is no valid reason to do that. Besides, you're granting the clients authority to do all manner of bad things to your database.

  • Ringo (unregistered) in reply to Zemyla

    Yeah, that's what I'm wondering. It's so stupid it actually hurts to think about.

  • parser (unregistered)

    There's a reason why IT managers are managers - if you put someone with as much power as a IT manager has under everyone else in the hierarchy, nothing good can come out of it. (S)He has to be high enough in the hierarchy to be able to make decisions instead of just following orders.

    The Right Thing for the person in this example to do would have been to stand for him/herself, demand the correct position or quit.

    On the other hand, considering everything, (s)he probably should have quit the second day in any case, and clearly state the reasons in the exit interview (should there be one).

  • (cs)

    Colo factory?

  • Bo, the ancient mainframer (unregistered) in reply to Joshua Norman
    Joshua Norman:
    I can't think of a single valid reason for any client program to be using ALTER TABLE. Is there one at all?

    I have seen it done (usual disclaimer: I didn't design this - I just had to live with it!)

    Given a parent/child relationship enforced by referential integrety constraints in the database. Now, mess up the relationsship so it becomes recursive (parent points to child which points back to parent) (don't ask, just don't ask. PLEASE don't ask. I beg you - don't ask)

    Now you have created a design that won't allow inserts of data. In order to insert a parent she MUST have a child already inserted, but in order to insert the child, the mother MUST already have been inserted.

    So, the application issues a "alter table disable constraint xxx", does the inserts, re-enables the constraint and commits.

    Simple, elegant, neat.... Ahhh, no, not really.

    Bo

  • JB (unregistered) in reply to Steve

    I'm in this bas situation right now, and have also been forced to use Serena Dimensions in my previous job. I've always wondered how they can sell this crappy shit. A single look at a screenshot is sufficient to understand how crappy the program is. It's so unusable that we have in fact decided in our team to use Subversion and synchronize the "officiel" Dimensions repository from time to time.

  • Random array of rebuttals (unregistered)

    OK, I love wtf but this hits too close to home. It's strikingly similar to my employer so I'm writing up some counter points. I consider it unlikely that we're connected but I want to play devil's advocate. "Sergey", its likely you aren't the person I'm referring to so please don't take this personally.

    Para 1) Hiring manager mentioning sysadmin and database work this is possible due to management's lack of IT understanding. Give a point for Sergey for initiative and take two away for not re-reading the job description for the title on monster. The job was for a high level technical operations manager. Wtf does that have to do with database work? Sergey felt it was responsibility to hit the trenches and do the job of the dba's and developers with an idiots guides to sql under his belt and a severe case of IT arrogance. Yes, we were taking over a system built by consultants and boy did they do a number on us but we did not want someone with no proper training performing DBA work on the single most important server in the company.

    Para 2) I'm sure he felt this way but it was not the case. This was person was at a high level and many people had expectations. When is this not the case?

    Para 3) Meetings? It's easy to mock them but sometimes you have to actually communicate to your team instead of sitting in a closet. Sergey liked his office with the door closed and lights off.

    Para 4) IM, it was never mandated but we use it. Perhaps there's something to this IM thing considering that MILLIONS of people use it on a daily basis? And yes when something bad happens people are going to want to communicate that to you. Um duh?

    Para 5) Colo facility, yeah I didn't care for that decision. I would have hated the decision if I was the person "administrating" those servers but this person somehow liked the idea. I prefer to keep the servers close - they have feelings too!

    Para 6) Raid array, kinda like those computational computers? Intelligence level hint...

    Para 7) High load, yeah thats us. Like I said, the consultants did a number on us and we still have a lot to fix. Somehow this person felt it his responsibility to play whackamole with spids. What a hero. On two occasions our purchased software did go corrupt, the configuration was on the database but the database was not to blame. Yes, I'm living a real-life WTF but sometimes the WTFs even have wtfs.

    Para 8) Db is backed up nightly, its a 115GB database and isn't a screamer. Backup jobs would fail and I understand how someone with limited db knowledge would overhear competent database developers discussing the purchased software sending queries that dynamically compiled code MAY mistake this as an ALTER TABLE statement. It just wasn't happening and even if it was - the db software would process those backups just fine. There's a problem with ALTER DATABASE statement though... Hmmm, better check that book again?

    Para 9) We are throwing hardware at the db. It went from 2 cores to 4 and now 8 and we're eying 16. Perhaps these are small potatoes to some of the big companies. The company is small and growing. We struggle to fix the bad and build the new but we're starting to make progress. The applications and databases are our scope, the computers, and network was his.

    BTW - the last straw was when servers began dieing one by one across a number of weeks. Sergey was fired because someone brought up the point that he was supposed to be administrating the system.

  • Tom_fan_DK (unregistered) in reply to anon
    anon:
    Joshua Norman:
    I want to know this myself. Admittedly I only spent a few minutes thinking about it, but I can't think of a single valid reason for any client program to be using ALTER TABLE. Is there one at all?
    Apply an arbitrary list of actions to a list of customers: each action is a column. Each action may only be applied to one or more customers. Since you don't know what actions might be needed, or how many actions, change the DDL.

    Of course, you could do this in memory. Or a temp table. Or with joins...

    You're kidding, right? Please, tell me that you forgot the <sarcasm> tag, tell me!!!

  • JB (unregistered) in reply to Bo, the ancient mainframer
    Now you have created a design that won't allow inserts of data. In order to insert a parent she MUST have a child already inserted, but in order to insert the child, the mother MUST already have been inserted.

    Don't know for other databases, but Oracle at least has constraints that are only checked at commit time.

  • Martin (unregistered) in reply to gary k
    gary k:
    trouble with his RAID array? not to be grammar police, but isn't that kind of redundant (get it?)

    Yes. When mentioning RAID, there's no need to mention trouble.

  • No1 (unregistered)

    So if stupid people in this thread are hurting my brain, should I use the Report Abuse Link?

    Very appropriate CAPTCHA : Darwin

  • BuilderOfSystems (unregistered) in reply to Zemyla
    Zemyla:
    ALTER TABLE?

    What the hell are they doing, storing client data as column names?

    Well.. we once built a quite complex application that stored generic data. Like "Objects" with any kind of Properties. This forced us in the end to create and alter Tables representing the properties. This was simply needed because after a couple of millions of records the old approach with t_obj -> t_property turned out to be quite slow.

  • sweavo (unregistered) in reply to Vlad Patryshev
    Vlad Patryshev:
    Sure; they had hired a ritual scapegoat. This makes them happy. And it's been happening all around, since the beginning of the days. I would suggest not to worry about it, but just enjoy the show.

    I actually asked for my scapegoating skills to be taken into account in one review.

  • (cs)

    Garbage FPP

    Are these made up now?

    If it were me, and I was remotely interested in a sysadmin role, I'd be interviewing them.

    If it were me, I'd quit.

  • (cs) in reply to real_aardvark
    real_aardvark:
    FredSaw:
    b0bg0ats3:
    FIST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111!!!11
    I'd guess you're quite experienced at fisting.
    What, you didn't notice that he did this about two or three days ago?

    Shame on you, Mr Saw!

    Hurry! Start procrastinating before everyone else!

  • Matt (unregistered)

    This sounds eerily familiar- the db, the client app, the backups, the meetings, the IM's, the casual wasting of time by others. The RAID controllers, the all-encompassing DB.

    I seriously wonder if I worked at the same place as this guy. Named Sergey. Who was a DBA. I don't know if he's still there- I left awhile back.

    Weird.

  • (cs) in reply to bob the dingo
    bob the dingo:
    "You'll be our first real sysadmin maintaining some stuff that a bunch of consultants set up."

    Warning sign right there.

    Or another interpretation: "a bunch of consultants who we fired because they messed it up, were the last people to touch this."

  • (cs) in reply to Tinkerghost
    Tinkerghost:
    Adding to an Enum field?

    How do ALTER TABLE and adding an Enum field tie together? I can see having to INSERT to add an Enum value, but can't come up with a tie in with ALTER TABLE. Can you explain?

  • (cs) in reply to Tinkerghost
    Tinkerghost:
    Have you priced those things? It might be a RARAID, but it certainly wasn't a RAIRAID.

    Have you priced them lately? We just bought a 2TB Buffalo device (4 500GB drives) for under $900 from Dell, including shipping. Sounds pretty inexpensive to me - I'm even thinking about one for myself at home for HDTV recording.

  • (cs) in reply to Maosn
    Maosn:
    Actually, I can think of a reason that has been discussed in the past on this very board:

    The client side application includes a (runtime defined) number of flexible data entry forms. Which specific fields appear on the forms varies from form to form, and can be changed at runtime.

    This leaves you with two bad choices for database implementation:

    Neither of those choices are acceptable.

    The reason that apps like you describe exist is one of two:

    1. The developers (or more likely their managers) thought they were really smart to make their app so flexible that it could adapt to changing data collection requirements without them needing to make changes in the future.

    or

    1. The developers (or more likely their managers) were too timid to resist the client's demands to make the app so flexible that the client wouldn't need to pay later to implement changes in data collection needs.

    I've experienced both, and have been put in the position of pointing out how stupid this is, and how nasty the problems will be when later they discover that the attempt will cost big $$$ to fix.

  • Geekwad (unregistered)

    Sounds more like Sergey didn't have the balls to fix the situation.

  • (cs) in reply to Mason
    Mason:

    Well, there is at least one company that isactually selling a product that provides the same type of "flexible data entry" that you are talking about, and they have an impressive client list (Serena, with their TeamTrack product: http://www.serena.com/products/teamtrack/index.html. While it isn't clear from the web page, I can assure you that all the data entry fields are end-user defined, as showing this functionality off was 80-90% of the demo that I attended. I don't know exactly how this is implemented, though.

    Over and beyond this, if you are a small to medium size company with minimal (or no) programing support available on the payroll, it is highly desirable to have an applicaiton that you can add or remove a field without hiring a consultant to make the modifcaiton.

    <shrug>

    If you work in a place where all the data entry requirements are static and never change (or, at least, change very slowly with a devlopment team on hand to make changes), then that's great -- but that's pretty unusual in my expereince.

    I have to say a couple of things here, if you really believe what you posted. First, I'm glad I don't work with you, and second, I have to presume that you work for a company owned by a relative of yours.

    Any attempt to allow customers to alter database schemas on their own, without someone involved who knows what they're doing, is doomed before it starts. Anyone who doesn't have the experience to know that should only be allowed to work under the close supervision of someone who does.

  • (cs) in reply to real_aardvark
    real_aardvark:
    What, you didn't notice that he did this about two or three days ago?

    Shame on you, Mr Saw!

    Of course I did. Perhaps I wasn't specific enough... I should have said, "quite experienced at self-fisting". Stretching so as to accomodate his head, you understand.

  • Sergey L (unregistered) in reply to Random array of rebuttals

    This is almost correct. :) But it definitely was "ALTER TABLE".

  • barfman (unregistered)

    Man, that sucks... Hope he found better work elsewhere

  • barfman (unregistered)

    Man, that sucks... Hope he found better work elsewhere

  • (cs) in reply to Sergey L
    Sergey L:
    This is almost correct. :) But it definitely was "ALTER TABLE".
    ALTAR TABLE

    Sorry. It's Friday, my giveashitter's broken, and I'm in an odd mood.

  • (cs) in reply to caffeinatedbacon
    caffeinatedbacon:
    I fear the day you escape from the sheltered life in which you have lived lo these many years; your head will simply implode from the inaniety of a real-world existence. Believe it or not, it can be quite difficult to aggressively communicate with the right people when everyone is under the impression they are your boss, or worse, when the person who is your actual boss refuses to listen and instead refers you to the psuedo-bosses.

    ...all of your armchair quarterbacking is no substitute for exposure to the real world, where you would quickly come to realize that your misguided fantasies are like competitors in the Special Olympics... just fucking retarded.

    If life in IT is this horrific, perhaps you should be in a different business.

    If there's anything worse than clueless bosses and impossible working conditions, it's the pathetic wretches on this site who spend all their time talking about how IT is absolutely horrible, bosses are absolutely horrible, nobody does anything right, and there's nothing anyone can do about it.

    If it really is that bad, and you don't have the slight shred of guts necessary to get out of the business or start your own, you pretty much deserve what you get.

    Either learn to be happy with it, learn to change it, or find another line of work. But don't bitch at anyone who says that people should try to improve their situations - it just makes you look like a whiny, gutless brat.

  • ChiefCrazyTalk (unregistered) in reply to snoofle

    Why is that a WTF? Sounds like a typical IT job in a non-IT company to me. At least they were doing backups.

  • AGould (unregistered) in reply to gabba
    gabba:
    In his interview, did he ask any questions about what the job would entail? This is often done.

    I think I've never worked a job where the interview or the job description had any relation to the actual work.

    My rule is, if you see "other duties as required", the rest of the tasks are filler. My current job description is literally "duties as required". The rest of it is just to keep HR happy.

  • mainframe_java_guy (unregistered) in reply to caffeinatedbacon

    I agree with BCH.

    Communication is key. If there are this many problems, and his schedule is not allowing him to complete tasks due to interruptions.. where is the problem? How do you fix this problem?

    Sergey should have assumed the role of manager by action: telling everyone else what the problems are, the order they will be resolved and lay the down the law with security to manipulate the database. If he needed help, perhaps bringing in some hired guns to get the environment under control was required.

    As the first admin for the company, how would the company's management know what is needed or required? Management brought in a subject matter expert as a full time employee for a reason.

  • Beau "Porpus" Wilkinson (unregistered) in reply to Yokel
    Yokel:
    Speaking of Serena TeamTrack, at work I currently use Merant Version Manager + Merant Tracker which were bought by Serena. When we needed to branch for Maintenance and allow for forward development. We spent weeks talking to moronic support people, until we let them know we won't be renewing our contract for the Version Manager software. That is when they told us that they had a newer version of the software. Also they would get their expert to tell us like it is. He solution was one buy the server software (ok) and copy the current database, because the software didn't branch well. This is what they did with the software themselves at the office and it wasn't so bad. So the only highlight from this experience so far is now we are bringing in subversion but they already bought TeamTrack so we are stuck with that.

    So the moral of the story is ... If you hear Merant or Serana when you ask about Tools, I sincerely hope you do, used at a prospective job, remember the job market is good and find a better job.

    I used something called Merant PVCS at a previous job... OMG it was bad. I think it was actually a Java application, not Javascript or even a Java applet. The GUI looked like something from Windows 3.0 beta and keystrokes took up to 15 minutes to have any effect. What a POS that was... it still amazes my colleagues when I tell them that, yes, there are much worse systems than SourceSafe.

  • shadow of an elf (unregistered)

    he was hired so there would be somebody to blame.

    consultants, of course, are the ones that tell you there is a problem growing, and it needs more study, for X thousand dollars.

    so they can't possibly have anything to do with the patched-up whack jobs that are hitting the database, can they???

  • (cs) in reply to Steve
    Steve:
    I can't for the life of me understand why anyone would pay for something so wildly inferior to free and universal solutions like CVS, SVN, and others.

    Marketing.

  • Franz Kafka (unregistered) in reply to caffeinatedbacon
    caffeinatedbacon:
    Fast forward 6 months; every PC is either broken or been replaced for performance reasons, the printers are now failing on a monthly basis and you, the IT person who VERY aggressively communicated all of the issues prior to purchase, are at fault for 'not maintaining the equipment properly' and causing considerable downtime. Oh, and to top it off, when suggesting that the downtime could be avoided with new equipment purchases, being told that retiring equipment is not in the budget, we only replace items that are broken.

    I'd probably say something that means 'I told you so' and then go on to explain that since they bought broken stuff and won't spring for better stuff, that the office equipment will be broken with some regularity and that I can't be expected to perform miracles. And then they'd call me Not A Team Player and boot me.

    Of course, by then I'd have a new gig lined up with a place that actually is willing to pay for stuff that works.

  • (cs) in reply to ChiefCrazyTalk
    ChiefCrazyTalk:
    Why is that a WTF? Sounds like a typical IT job in a non-IT company to me. At least they were doing backups.
    But they did not use a wooden table!!!
  • Jeff (unregistered)

    One essential technique is to be sure to IM the person whose request is being interrupted. Let them know who has requested that it be superceded.

    Pretty soon upper management will be called in to set your priorites.

    That could be good or bad, but it's better than thrashing.

  • Franz Kafka (unregistered) in reply to BuilderOfSystems
    BuilderOfSystems:
    Zemyla:
    ALTER TABLE?

    What the hell are they doing, storing client data as column names?

    Well.. we once built a quite complex application that stored generic data. Like "Objects" with any kind of Properties. This forced us in the end to create and alter Tables representing the properties. This was simply needed because after a couple of millions of records the old approach with t_obj -> t_property turned out to be quite slow.

    I did that once, but it was a prototype that was never going to see light of day. Same problems, of course.

    I also killed one of those later in my career. At least that one had myriad small bags of properties and usually less than 20 per bag, so performance was ok. Maintainability was abysmal.

    Beau "Porpus" Wilkinson:
    I used something called Merant PVCS at a previous job... OMG it was bad. I think it was actually a Java application, not Javascript or even a Java applet. The GUI looked like something from Windows 3.0 beta and keystrokes took up to 15 minutes to have any effect. What a POS that was... it still amazes my colleagues when I tell them that, yes, there are much worse systems than SourceSafe.

    I remember that thing - USPS loves that thing. For what reason, I do not know.

  • (cs) in reply to KenW
    KenW:
    Tinkerghost:
    Adding to an Enum field?

    How do ALTER TABLE and adding an Enum field tie together? I can see having to INSERT to add an Enum value, but can't come up with a tie in with ALTER TABLE. Can you explain?

    Not adding a new Enum value to a specific row, but adding a new Enum value in general (one that previously wasn't a valid value for that column).

  • (cs) in reply to KenW
    KenW:
    Mason:

    Well, there is at least one company that isactually selling a product that provides the same type of "flexible data entry" that you are talking about, and they have an impressive client list (Serena, with their TeamTrack product: http://www.serena.com/products/teamtrack/index.html. While it isn't clear from the web page, I can assure you that all the data entry fields are end-user defined, as showing this functionality off was 80-90% of the demo that I attended. I don't know exactly how this is implemented, though.

    Over and beyond this, if you are a small to medium size company with minimal (or no) programing support available on the payroll, it is highly desirable to have an applicaiton that you can add or remove a field without hiring a consultant to make the modifcaiton.

    <shrug>

    If you work in a place where all the data entry requirements are static and never change (or, at least, change very slowly with a devlopment team on hand to make changes), then that's great -- but that's pretty unusual in my expereince.

    I have to say a couple of things here, if you really believe what you posted. First, I'm glad I don't work with you, and second, I have to presume that you work for a company owned by a relative of yours.

    Any attempt to allow customers to alter database schemas on their own, without someone involved who knows what they're doing, is doomed before it starts. Anyone who doesn't have the experience to know that should only be allowed to work under the close supervision of someone who does.

    I actually work with one product that offers this as a (mostly) non-WTF add-on, but the fields are (1) stored in a separate table, and (2) designed for human reference only (programmers can incorporate them into business logic, but you do run into a bit of a WTF at that point). The first generation was limited to a few major tables; the second generation is close to 100% comprehensive, but only for a few modules so far.

    A few different products (including this one) also include a poor man's version for free, i.e. a few major tables have a few arbitrary fields built in that can be labeled and used as the customer sees fit.

  • mh (unregistered)

    I would have handed in my notice on the first day, assuming I'd even accepted the job after hearing that description. Those people didn't want a sysadmin, they wanted someone to dump their crap on.

    I wonder if Sergey was experienced enough or even suitable for that role. Being a top-level sysadmin is not something you can walk into fresh out of college. You genuinely do need to work your way up the hard way. If you don't have experience of successfully pulling the systems out of at least two major meltdowns, you won't have a clue what to do when the next one happens and responsibility to fix it is entirely on your shoulders.

Leave a comment on “Doomed from the Start”

Log In or post as a guest

Replying to comment #:

« Return to Article