• (cs) in reply to Schnapple
    Schnapple:
    But does no one think that perhaps if he had used a better tool, maybe something production-ready (yes, strike me down with your flames) that he could have made the deadline in the first place and this whole mess could have been avoided?

    No, the problem was not that working with Ruby was too slow. The problem was the project had been estimated as a 2 person job and 1 of them was unavailable.

    If they had used a faster tool, the estimate would have been shorter and they'd still be missing it because they only had 1 person on a job estimated for 2.

  • incoherent (unregistered)

    Hey guys, let's remove the ability for the customers to complain! Because if the customers aren't complaining, they're happy!

  • (cs)

    I'd think this was about Globalhosting, my ex-ISP, but they managed to destroy their entire system WITHOUT rolling out a new hosting platform, and they turned off their phone lines ENTIRELY during the multiple-week outage.

    They have this line on their 'about us' page about thanking Jesus for walking with them, or something... apparently Jesus doesn't help out much with web hosting back ends, though.

  • (cs)

    Why are people so anti-ruby? It's just a language, it's japanese, it's enjoyable to program in, thousands of "enterprise" sites are run on ruby, I don't need to rip on php or asp to make myself feel better, I know people who do both. What does it really matter?

    "A scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die and a new generation grows up that is familiar with it." - Max Planck

    Note I'm not saying Ruby is the end-all be-all, just that people always make fun of the new guy.

  • Coder (unregistered) in reply to xybre

    Hah. Adding more people to a project that is late, makes the project to be even later, because the original guys have to teach the new ones plus overhead of increased communication. But removing people from a project makes the project to be later too. And then removing all people from the project and replacing them with new guys who start from scratch...

  • SomeOtherCoder (unregistered) in reply to Anonymous
    Anonymous:
    COBOL is awesome, if you disagree, you're a troll.

    <smartass webcomic, probably xkcd, to which I regularly masturbate>

    When you make fun of a post at least make sure you can comprehend it. I didn't say ruby was awesome. I don't feel the need to hold one language over another, but I will make fun of people who just bash a language, non sequitur.

    You fail at understanding context and at making a good mock joke.

  • (cs) in reply to kwerle
    kwerle:
    Devek:
    The real problem was the use of ruby.

    I have never heard of a successful migration to Ruby in a production environment.

    ...

    Yeah. Because there are just so many big migrations that are a screaming success.

    Ruby is a language. It does the things most other languages do.

    You must be new here. Don't you know that Perl and C are the only "real" programming languages?
  • Marcin (unregistered) in reply to Devek

    Well since article is about me....

    There was LOTS (I mean LOTS) of refactoring done on my original submission.

    BUT... Real WTF was that after a YEAR of "migrating" there was NOTHING migrated, after year of programming there was NOTHING done ... so they decided to buy external one.

    Choose of Ruby as langue was good - proved by migration script - done in 2 hours - and IT WAS WORKING!!!

    What's more - solution created for that company was actualy implemented in my new company - sold- and we only got positive feedback so far, and we're planing to keep working on it :P

  • Neil (unregistered) in reply to Marcin

    Ooh, taking code developed at one company to another one? Wow, that sounds like a lawsuit ready to happen. Maybe crappy hosting company will recover some of their loss. ;)

  • BJ Upton (unregistered)

    I love this:

    2 guys working on a project. This gets cut to one guy. One guys says he won't meet deadlines. It is just him now Mgt demotes him. Management then assigns a team of guys to the project.

  • Franz Kafka (unregistered) in reply to BJ Upton
    BJ Upton:
    I love this:

    2 guys working on a project. This gets cut to one guy. One guys says he won't meet deadlines. It is just him now Mgt demotes him. Management then assigns a team of guys to the project.

    But remember: it's all Ruby's fault.

  • Moekandu (unregistered) in reply to PeriSoft
    PeriSoft:
    They have this line on their 'about us' page about thanking Jesus for walking with them, or something... apparently Jesus doesn't help out much with web hosting back ends, though.

    But, but, Jesus saves!

    ...Right?

    Maybe Jesus doesn't restore.

  • Moekandu (unregistered) in reply to fzammetti
    fzammetti:
    Look, I hate to be *THAT* guy, but...

    Where's the WTF exactly?!?

    Stupid managers is not a WTF, it's par for the case. Junior developers (which this guy clearly was if he couldn't get enough Ruby in his brain after two months to get things on-track) being given too much responsibility is not a WTF, it too is par for the course. A company that has one guy that can do what's necessary and then proceeds to bog him down with other stuff is not a WTF, it's all too common (I've been that guy on numerous ocassions). Idiots who take a manual approach to what is obviously a task ripe for automation (as evidenced by the fact that Marcin had ALREADY AUTOMATED IT) is not a WTF, it happens every single day unfortunately.

    No, I don't see WTF(s) here, I see what is all-too-typical in the business world when it comes to IT. Unrealistic goals, expecting miracles (and then not giving the reigns to the actual miracle workers who might stand a chance at pulling it off), RAMPANT stupidity at every level. Sorry to say, that's the world we live in, this story isn't atypical in any regard, which means by definition it can't really be a WTF (unless you expand WTF to mean "pointing out sutpidity that is blatantly obvious to most of us", then ok, fine, I guess I'm wrong).

    Aw right! That's it! I can't tell you that I hate to be 'that guy' because frankly, I'm enjoying this. It's kind of the mood I've been in all day.

    Just because it is COMMON does not mean that it is not a WTF! They are not mutually exclusive groupings. Think it through. If all this "RAMPANT stupidity" was so blatantly obvious, then why does it occur so 'frakking' much? Remember, half the population is below average intelligence. Do the math, I'll wait. :-P

    Think of WTF as short for: "What the 'frak' were you thinking?! Are you stupid or something?! Forget your helmet today?"

  • (cs) in reply to Phleabo
    Phleabo:
    Devek:
    The real problem was the use of ruby.

    I have never heard of a successful migration to Ruby in a production environment.

    There might be one or two successful sites somewhere using it, but that doesn't detract from the massive amount of failed sites that tried.

    The real problem is that you focused on a detail that had absolutely nothing to do with the failure of the project. It's pretty clear from the story that the failure was caused by the cluelessness of the management and the lack of planning for such a significant move.

    Ruby had nothing to do with it, and this isn't a story about not using the correct magic hammer to fix the problem.

    While I agree with you, I get the impression that Ruby was just a buzzword being thrown around the office at the time so management had decided to go with that thinking it WOULD be a magic hammer. When they found out it wasn't, they scrambled to find another one.

  • (cs) in reply to PeriSoft
    PeriSoft:
    I'd think this was about Globalhosting [...] They have this line on their 'about us' page about thanking Jesus for walking with them, or something

    I don't see anything about Jesus on that page, but I do see a copyright statement proudly proclaiming "1996-2004". Nice to see they're keeping everything up to date.

  • (cs) in reply to Tigress
    Tigress:
    Sounds scarily familiar to what I went through a couple of years ago. I was working for a hosting provider, where I was responsible for a migration project. The scope of the migration was not properly explained to me (I know, my fault for not checking before I accepted) and things got severely delayed. Things didn't get better when the developer that was assigned to me was hounded by three of his bosses (in perfect Office Space style) and had absolutely no time to give to me at all.

    In the end, I was fired from that job, something which I honestly didn't object too much to. I picked up my pieces and left to find myself a better job.

    I'm now upper management for a consulting company, making almost three times as much as I did in the previous job. I'm appreciated for my efforts, and I have a great team of competent people to work with. The hosting company in question has shed people constantly and are likely still in the same sad shape.

    And your story sounds very familiar to me too. Except the "fired" part. I was laid off in a round of cost-cutting after the company was bought but that's still pretty close to "fired".

    I'm much happier and the old company is barely hanging on by the skin of its teeth and has had 95% turnover (only one guy I worked with is still there) in the 3 years since I left.

  • El Chupanebre (unregistered) in reply to JOHN
    JOHN:
    I started reading, and saw "Java", and thought "Ah, that's going to be the WTF. Such a retarded language."

    Then I saw "Javascript" and thought "Oh man, now THAT's got to be the WTF. Javascript is such a little troll of a language. Too bad it's a necessary Evil for web development... until Silverlight is out at least."

    Then I saw "Ruby" and thought "LOL, oh shit, it just keeps getting worse! Now that's going to be the real WTF for sure! Ruby, what the hell. The only thing that could make this worse is if they mix a little Perl or PHP in."

    Then I saw "PHP" and thought "Well, they're boned. Now they truly have reached the bottom of the barrel."

    I find it odd how in an article with 4 WTF languages, Java actually ended up being the least WTF of them all.

    TRWTF is that you're not writing articles...

  • Mark (unregistered) in reply to Dance
    Dance:
    Thanks for the reminder to transfer my last few accounts away from iPower

    Hahaha, as I was reading this I was thinking. This sounds like iPower.

  • Rune (unregistered) in reply to Zygo
    I'm still trying to figure out how they can screw up so badly that a commoditized service like email can be out of commission for 120 hours (five days). What did they do, reformat the drives of the old server machines before turning on the new ones?

    My thoughts exactly.. Even IF you screw up your production mailserver that badly, it's quite easy to build a quick postfix box to function as a mailserver during the outage (15 mins from scratch, for a capable unix admin). Ok, you've lost your mail history temporarily, but at least you have the communication possibilities while the old mail is being restored.

    Btw.. If I see a company trying to migrate a complete critical environment they way stuff was going here, I would surely try to get out of there as soon as possible after the demotion. Would be a matter of time before you would start losing clients.

  • Anonymouse (unregistered) in reply to Mizchief
    Mizchief:
    Our company is starting to face these issues. We lost about half of our dev staff due to prolonged poor compensation, and now our CTO is putting is foot down and refusing to let his devs work on custom projects that have nothing to do with our core product.

    So what does management do? Do they listen to the CTO and focus on selling the product? No, they hire outside contractors to do their custom projects. Since the boss is scared of pissing off the CTO and having him leave and take the devs with him, the contractors don't communicate with the devs even though the work requires integration with our product.

    Wow, this sounds way too familiar. We lost 2 of our main developers because of under-compensation and overall frustration with development decisions. Unfortunately, these were our two best developers, who had worked on the project for over a year and a half.

    Then because management said we had to have all of these tangentially-related non-core projects finished, we hired some contractors in India to work on them. Integrating their code and fixing the bugs they introduce has almost become my full-time job. But, in the eyes of our CTO (who thinks they're doing a good job overall), things are going fine. Never mind the fact that it's killing morale in our department or that I could do the same projects in half the time it takes them, with 1/4 the bugs.

    Leave it to management types to think that adding more warm bodies to a project will make it get done faster.

  • dkf (unregistered) in reply to xybre
    xybre:
    Why are people so anti-ruby?
    Standard anti-language backlash. Happens to every language I've ever seen as the "jump on the latest big thing" idiots realize that it's not actually Clark Kent in fancy underwear, but just a programming language. Consider it to be part of the growing-up process.
  • Sebastian Melmoth (unregistered) in reply to DeLos

    Reminds me of the time when I had to pull up a developer for not regularly updating/committing code to the repository. He claimed that SVN generated conflicts in his code. No SVN, no conflicts :-o

  • csrster (unregistered) in reply to akatherder
    akatherder:
    php_learner:
    In my mid-size company the Managing Director has been put in overall charge of IT. I understand that in departmental meetings his most frequent response is "So, if this was a car - what would the problem be? I know about cars."

    I had a manager who wanted me to use car metaphors too. I informed him that I know very little about cars, so I could only give him a range:

    "The issue's severity falls between the passenger side rear hubcap falling off and someone stealing your engine in the middle of the night."

    After I ran out of HUGE ranges, I started making up car parts: "It's pretty much like a cracked casing on the samoflange."

    It could be worse. I work in a development group so nerdythat only two out of fifteen could confidently identify the number of players on a football (soccer) team. Now imagine a boss who insists on using teamsport-metaphors ...

  • (cs) in reply to JOHN
    JOHN:
    I started reading, and saw "Java", and thought "Ah, that's going to be the WTF. Such a retarded language."

    Then I saw "Javascript" and thought "Oh man, now THAT's got to be the WTF. Javascript is such a little troll of a language. Too bad it's a necessary Evil for web development... until Silverlight is out at least."

    Then I saw "Ruby" and thought "LOL, oh shit, it just keeps getting worse! Now that's going to be the real WTF for sure! Ruby, what the hell. The only thing that could make this worse is if they mix a little Perl or PHP in."

    Then I saw "PHP" and thought "Well, they're boned. Now they truly have reached the bottom of the barrel."

    I find it odd how in an article with 4 WTF languages, Java actually ended up being the least WTF of them all.

    And which languages, in your opinion, don't qualify as WTF languages?

  • Neil (unregistered) in reply to hobart
    hobart:
    JOHN:
    I started reading, and saw "Java", and thought "Ah, that's going to be the WTF. Such a retarded language."

    Then I saw "Javascript" and thought "Oh man, now THAT's got to be the WTF. Javascript is such a little troll of a language. Too bad it's a necessary Evil for web development... until Silverlight is out at least."

    Then I saw "Ruby" and thought "LOL, oh shit, it just keeps getting worse! Now that's going to be the real WTF for sure! Ruby, what the hell. The only thing that could make this worse is if they mix a little Perl or PHP in."

    Then I saw "PHP" and thought "Well, they're boned. Now they truly have reached the bottom of the barrel."

    I find it odd how in an article with 4 WTF languages, Java actually ended up being the least WTF of them all.

    And which languages, in your opinion, don't qualify as WTF languages?

    The only real language - machine code. Everything else is just a crutch.

  • (cs) in reply to Neil
    Neil:
    hobart:
    JOHN:
    ...I find it odd how in an article with 4 WTF languages, Java actually ended up being the least WTF of them all.
    And which languages, in your opinion, don't qualify as WTF languages?

    The only real language - machine code. Everything else is just a crutch.

    I never need to code in any language anymore. 5 years ago, I made one program that does everything. That's all anyone ever needs now.

  • fluffy (unregistered) in reply to Sebastian Melmoth
    Sebastian Melmoth:
    Reminds me of the time when I had to pull up a developer for not regularly updating/committing code to the repository. He claimed that SVN generated conflicts in his code. No SVN, no conflicts :-o
    And that reminds me of a coworker whose idea of working with source control was to manually copy a source file out into his own tree, edit it there, and then when he wanted to check it in, he'd do a checkout and then clobber the file with his edited copy, nuking any changes anyone else had made. His reason was because "if there is a conflict from someone else editing my file, it makes compilation fail." Which is, you know, the point to conflict markers to begin with. (Thankfully, I got him to understand this - he'd never worked on a real dev team before - and averted some major WTFery down the road.)
  • Marcin (unregistered) in reply to Neil
    Neil:
    Ooh, taking code developed at one company to another one? Wow, that sounds like a lawsuit ready to happen. Maybe crappy hosting company will recover some of their loss. ;)

    Ideas (good) was taken, noa actual code (which was property of other firm) was used, I can use same open source libs right? :P

  • Marcin (unregistered) in reply to Marcin

    Sorry for double post but...

    One more thing about langue ...

    Ruby wasn't Magical New Thing, it was carefull choice (good), my direct supervisor was really good menager, and he balanced pros and cons. What he didn't forseen was stupidity of uper-menagement, who first complained that one guy did nothing(while he did), and then didn't fire whole team that only broke stuf from time to time

  • hobo (unregistered) in reply to Stupidumb
    Stupidumb:
    Neil:
    hobart:
    JOHN:
    ...I find it odd how in an article with 4 WTF languages, Java actually ended up being the least WTF of them all.
    And which languages, in your opinion, don't qualify as WTF languages?

    The only real language - machine code. Everything else is just a crutch.

    I never need to code in any language anymore. 5 years ago, I made one program that does everything. That's all anyone ever needs now.

    You wrote emacs?

  • guy smiley (unregistered) in reply to akatherder
    akatherder:
    I had a manager who wanted me to use car metaphors too. I informed him that I know very little about cars, so I could only give him a range:

    "The issue's severity falls between the passenger side rear hubcap falling off and someone stealing your engine in the middle of the night."

    After I ran out of HUGE ranges, I started making up car parts: "It's pretty much like a cracked casing on the samoflange."

    What the *** is a samoflange?!

  • Mithrandir (unregistered) in reply to guy smiley

    http://www.wowhead.com/?item=5054

    ...or did you mean the original samoflange?

  • (cs) in reply to Soviut
    Franz Kafka:
    Hey, ruby works fine - it's a matter of properly architecting a solution, not the details of which language you use. Sounds like they had a decent plan, got impatient, and fucked it up real bad.
    Well, no. I was at pains to point out that I have no problem whatsoever with Ruby (its relative speed and scalability not withstanding). I've read Dave Thomas' book. I used to work for Dave Thomas. You're no Dave Thomas, Senator .... aargh, these flashbacks. Where was I?
    Soviut:
    I get the impression that Ruby was just a buzzword being thrown around the office at the time so management had decided to go with that thinking it WOULD be a magic hammer. When they found out it wasn't, they scrambled to find another one.
    Like I said. There is a significant distinction to be made between the inherent suitability of a language for a given task -- although rebuilding any production system on-the-fly from scratch, in any language, strikes me as insane -- and the perception by cretinous management that said language is a silver bullet. Judging by what we hear of the original implementation, I would suggest that the latter factor is in play here.
  • regeya (unregistered) in reply to Franz Kafka
    Franz Kafka:
    Hey, ruby works fine - it's a matter of properly architecting a solution, not the details of which language you use. Sounds like they had a decent plan, got impatient, and fucked it up real bad.

    Well, maybe my reading comprehension skills aren't what they used to be, but to me, it seemed as if the company had devoted a whole whopping two devs to the project, then took the lead dev off to work on other random projects, leaving the flunkie to figure out what the heck was going on.

    I'd think that it'd seem pretty obvious to even a single-celled organism that the WTF is mainly that they were devoting one dev to a vital project...and anything else is assumption. I cannot confirm or deny, given the writeup, whether or not the Ruby solution was chosen for good or poor reasons, whether or not the architecture of the new project was good or poor, etc. All I know from this writeup is that for some reason Ruby was chosen, and that a depressingly low number of devs were devoted to keeping the business alive.

    Someone tell me where y'all are getting this information about these Ruby devs writing spaghetti code. If you're pulling it out of your behinds, the real WTF is that some of you making such blind accusations based purely on supposition are probably pulling down a lot more money than me by coding for a living.

  • regeya (unregistered) in reply to real_aardvark
    real_aardvark:
    I've read Dave Thomas' book. I used to work for Dave Thomas. You're no Dave Thomas, Senator .... aargh, these flashbacks. Where was I?

    You were about to go hunt down Dave so you can throw something at him for writing that shitty book. Seriously, I bought a copy of it, and wish I could un-buy it. I think it held me back for a couple of weeks, seriously, until I figured out how things really worked. Him and _why. Now _why may be a brilliant lad but he's the ruby equivalent of a bearded lisp nerd, slamming out code that works despite itself.

    I won't claim to be some brilliant coder (I'm not a professional coder and as such have produced some amazing WTFs) but cripes, I'd like to bitchslap Dave Thomas for this flaming piece of crud.

    But Ruby can be used for wonderful things, and is quite reliable. About a year ago I used it extensively while migrating a machine running MacOS 9 + ASIP to Debian running Netatalk. It proved indispensable. Could I have done it in another language, like Perl? Sure, but that would have required learning Perl. ;-) Considering how little time it took to complete the tasks I was working on, and that I was successful, I think I chose the proper tool. And yes, I'll admit, I had the godawful Pickaxe with me when I did this, and yes, it actually came in handy...damn it.

  • ChiefCrazyTalk (unregistered) in reply to Rene
    Rene:
    I don't see this as a big WTF. The director doesn't know about IT, but he's trying to put it into terms he does know.

    If the director doesn't know anything about IT, then why is he in charge of it?

    Good question. The new CIO of my former company was a marketing guy with no tech experience that was promoted after the former CIO quit.

  • Neil (unregistered) in reply to ChiefCrazyTalk
    ChiefCrazyTalk:
    Good question. The new CIO of my former company was a marketing guy with no tech experience that was promoted after the former CIO quit.

    I worked at a company where they put the VP of HR in charge of IT. Of course the moved an ERP project manager into the role of Director of IT to handle the day to day operations. Soon the department of 12 techs became 6 project managers, 3 desktop support and 3 programmers/sys admins to support a company of 750+.

  • CatBuff (unregistered) in reply to SomeCoder
    SomeCoder:
    Schnapple:
    Phleabo:
    Devek:
    The real problem was the use of ruby.

    I have never heard of a successful migration to Ruby in a production environment.

    There might be one or two successful sites somewhere using it, but that doesn't detract from the massive amount of failed sites that tried.

    The real problem is that you focused on a detail that had absolutely nothing to do with the failure of the project. It's pretty clear from the story that the failure was caused by the cluelessness of the management and the lack of planning for such a significant move.

    Ruby had nothing to do with it, and this isn't a story about not using the correct magic hammer to fix the problem.

    But does no one think that perhaps if he had used a better tool, maybe something production-ready (yes, strike me down with your flames) that he could have made the deadline in the first place and this whole mess could have been avoided?

    TRWTF though is that instead of bringing in a team to help him, they brought in a team to replace him. Or maybe it was that he, apparently, still hasn't tried to get the hell out of there yet and is content with being demoted from development to systems administration. Not to say that systems administration is akin to janitorial work or something but the fact that he hasn't even attempted to get another development job elsewhere seems to me that he was more of a "fell into programming" type.

    I think this could be argued either way: Ruby isn't really appropriate for most production environments in my opinion and could have led to the schedule slipping.

    On the other hand, assuming that one person can do the work of two (since the other guy was constantly pulled off for other projects) is a total management WTF, though a common one.

    In my opinion, the WTF is with management and not Ruby though you could easily argue that Ruby contributed.

    I'm glad that Alex does not do any sort of anonymizing of content. That way we all won't look like uh, something that looks really funny, when the actual language used was something like VB and not Ruby.

  • Harold (unregistered) in reply to xybre
    xybre:
    Why are people so anti-ruby? It's just a language, it's japanese, it's enjoyable to program in, thousands of "enterprise" sites are run on ruby, I don't need to rip on php or asp to make myself feel better, I know people who do both. What does it really matter?

    Not to disparage Ruby, but most enterprise sites can get by with static HTML created by "Save-As" HTML from MS Word.

  • Brian White (unregistered) in reply to real_aardvark
    real_aardvark:
    Like I said. There is a significant distinction to be made between the inherent suitability of a language for a given task -- although rebuilding any production system on-the-fly from scratch, in any language, strikes me as insane -- and the perception by cretinous management that said language is a silver bullet. Judging by what we hear of the original implementation, I would suggest that the latter factor is in play here.

    What was wrong with just fixing the javascript to be cross-browser and not use evals? Minimally invasive fix. Uses existing logic. Uses existing data structures. Increases speed. Increases usability. No down time. No hardware changes. No new language for dev to maintain. If you really want a fancy new something, use the Prototype framework for the cross-browser support, and to simplify some of the code. You would probably want to identify the other slow parts of the app next using tracing/timing and optimize just those places. They're probably not where you imagine, and they're probably not what you imagine. Without knowing your slow spots, if you manage to avoid those same issues in your new platform it would just be by luck instead of design.

Leave a comment on “Gears in Demotion”

Log In or post as a guest

Replying to comment #:

« Return to Article