The Perfect Storm



  • Our department has three teams. Our team builds our core product. The web team does the customer facing web UI. The DB team does reviews of the db designs/changes of other teams, but not the actual db work itself (that's done by floating DBAs).

    The task at hand was to add new functionality and expose it to the customer. Sounds simple.

    Ok, I design the change to the app and DB. I pass the db part to the DB team for review.

    Another guy on my team is assigned the seemingly simple task of wrapping my new feature (a single method call) with a web service, and providing a WSDL and jar to the guy on the web UI team. Unfortunately, that (web team) guy a) doesn't know java, b) doesn't know Linux, c) doesn't understand the concepts of "jar", "classpath" or "delete all old copies of the jar from your environment". So our web service guy has to hold the other guys' hand. After much back and forth, he ends up donig the other web team guys job for him. Some manager on the other team finds out who did the work and goes berserk, demanding the changes be undone, and that the work be done by their guy (the one who knows nothing).

    Meanwhile, back at the db ranch, the DB team decides that I need surrogate keys in my table. Nobody on my team can figure out why and they can't explain it to us, but we must add them (because they have veto power). Finally, we reneg as it's the only way to get this done, so I add all the unneeded surrogate keys and sequences and build the db part.

    What nobody knew was that the guy on the UI team knew we weren't using those fields, so instead of using the sequences, he was putting DATA in those fields. The interesting thing about data is that it can be mostly unique, but not always.

    After a couple of weeks of testing, the data in the surrogate key fields finally got to the point of logically rolling over on itself (nowhere near the limit of the field) and we started to get constraint violations.

    Then the finger pointing began.

    Now, the right thing to do is not to have the unneeded surrogate key fields and for this UI guy to not put data in a field not intended to store it.

    What we WILL do, I don't yet know, but I'm sure it won't be the RIGHT thing to do.
     



  • I don't know what you make Snoofle, but I hope your contracts include the ability to expense out your no doubt astronomical spending on cigarettes, alcohol, and ibuprofen.



  • @Master Chief said:

    I don't know what you make Snoofle, but I hope your contracts include the ability to expense out your no doubt astronomical spending on cigarettes, alcohol, and ibuprofen.

    What about crack and whores?



  • @serguey123 said:

    @Master Chief said:

    I don't know what you make Snoofle, but I hope your contracts include the ability to expense out your no doubt astronomical spending on cigarettes, alcohol, and ibuprofen.

    What about crack and whores?

    I think he meant in addition to the crack and whores.  Seriously, who doesn't partake in those from time to time?



  • @Master Chief said:

    I don't know what you make Snoofle, but I hope your contracts include the ability to expense out your no doubt astronomical spending on cigarettes, alcohol, and ibuprofen.

    I think the right balance is to care when you start, but make the amount you care inversely proportional to the amount of corporate WTF that is thrown back at you. You avoid ulcers and get a good laugh at idiots paying you large sums of money to do the same work over and over again, even when you give them what they ask for.

    Personally, I've taken to leaving the office at 3:30 (as opposed to the usual 7-9PM on Wall Street), and strolling through the (nearby) park on my way to the bus home. Upon arrival, I'm greeted by the REAL reason I work!



  • @snoofle said:

    The DB team does reviews of the db designs/changes of other teams, but not the actual db work itself (that's done by floating DBAs).
     

    Your DBAs are kept in a rowboat a discreet distance offshore? I approve.



  • @snoofle said:

    Unfortunately, that (web team) guy a) doesn't know java, b) doesn't know Linux, c) doesn't understand the concepts of "jar", "classpath" or "delete all old copies of the jar from your environment". So our web service guy has to hold the other guys' hand. After much back and forth, he ends up donig the other web team guys job for him.
    This, in and of itself, is not a wtf.  If he had been a Linux/Java guy, then it would have been.  (The manager going berserk is a wtf.)

    @snoofle said:

    we reneg
    I do not think it means what you think it means.



  • @Sutherlands said:

    @snoofle said:

    Unfortunately, that (web team) guy a) doesn't know java, b) doesn't know Linux, c) doesn't understand the concepts of "jar", "classpath" or "delete all old copies of the jar from your environment". So our web service guy has to hold the other guys' hand. After much back and forth, he ends up donig the other web team guys job for him.
    This, in and of itself, is not a wtf.  If he had been a Linux/Java guy, then it would have been.  (The manager going berserk is a wtf.)

    @snoofle said:

    we reneg
    I do not think it means what you think it means.

     Of course it does. Everyone knows snoofle has neg'ed in thhe past so why would be be a suprise that it happened again?



  • @snoofle said:

    Upon arrival, I'm greeted by the REAL reason I work!

    Your prostitute makes house calls?



  •  It could be worse, they could have been using Perl, rather than Java. :-)



  • @blakeyrat said:

    @snoofle said:
    Upon arrival, I'm greeted by the REAL reason I work!
    Your prostitute makes house calls?

    Or his dealer



  • @serguey123 said:

    @blakeyrat said:

    @snoofle said:
    Upon arrival, I'm greeted by the REAL reason I work!
    Your prostitute makes house calls?

    Or his dealer

    What got me was the fact that it seemed at first that he meant upon arrival at the bus. Yay bus!



  • @kilroo said:

    What got me was the fact that it seemed at first that he meant upon arrival at the bus. Yay bus!

    Haha. Imagine if his city got a light rail system, he'd explode with joy.



  • @Sutherlands said:

    I do not think it (reneg) means what you think it means.

     

     

    You are, of course, quite right. I am somewhat cixelsyd and sometimes interchange words without realizing it. I meant: reneg reneg reneg (fucking dyslexia) r-e-l-e-n-t.



  • @snoofle said:

    Upon arrival, I'm greeted by the REAL reason I work!
     

    You, sir, are a buddha among men.



  • @Someone You Know said:

    Your DBAs are kept in a rowboat a discreet distance offshore?
     

    lols!



  • @snoofle said:

    @Sutherlands said:

    I do not think it (reneg) means what you think it means.

    You are, of course, quite right. I am somewhat cixelsyd and sometimes interchange words without realizing it. I meant: reneg reneg reneg (fucking dyslexia) r-e-l-e-n-t.

    Oh wow.  I'd originally thought the same as Sutherlands, then kept reading, and concluded you had used the right word after all:

    • You told the DB group you'd use the surrogate key field they wanted.
    • Someone made the surrogate key field (whether it was you or them, doesn't matter.
    • You didn't actually use the surrogate key field they wanted you to use.
    • So far, this sounds like a reneg to me.

    • UI team guy commandeers the surrogate key field.  Nobody else was using it, no big deal.
    • UI team guy improperly uses the surrogate key field, such that errors happen.
    • Now we have our WTF.



  • @Someone You Know said:

    @snoofle said:

    The DB team does reviews of the db designs/changes of other teams, but not the actual db work itself (that's done by floating DBAs).
     

    Your DBAs are kept in a rowboat a discreet distance offshore? I approve.

     

    No, he meant "floaters". They call us that for a reason.

     



  • @tgape said:

    Oh wow.  I'd originally thought the same as Sutherlands, then kept reading, and concluded you had used the right word after all:

    • You told the DB group you'd use the surrogate key field they wanted.
    • Someone made the surrogate key field (whether it was you or them, doesn't matter.
    • You didn't actually use the surrogate key field they wanted you to use.
    • So far, this sounds like a reneg to me.

    They said he had to put it in... he relented and put it in.  The word reneg did not make sense there.  You can't say "it made sense because it makes sense if you move it to the bottom of the paragraph and make some really convoluted statements."

    Really, is this what you spend your time trying to do?


  • Discourse touched me in a no-no place

    @snoofle said:

    What we WILL do, I don't yet know, but I'm sure it won't be the RIGHT thing to do.
    I'll have my bet on adding another (useless) surrogate key, auto-increment.



  • Didn't Snoofle mean "renege"?



  • @dhromed said:

    Didn't Snoofle mean "renege"?

    No, he meant relent.



  • @Sutherlands said:

    You can't say "it made sense because it makes sense if you move it to the bottom of the paragraph and make some really convoluted statements."

    But... But... But... But my web browser does that all the time!


Log in to reply