• Andrew (unregistered)

    Cool - In my experience they fire the dinosaurs anyway and hire a new set of "rock stars" to do version 3.

  • KattMan (cs) in reply to Andrew
    Andrew:
    Cool - In my experience they fire the dinosaurs anyway and hire a new set of "rock stars" to do version 3.

    And that my friends, is The Real WTF. The rock stars weren't rock stars at all, they were fresh grads with no experience. First WTF was moving the experiance out and letting the new guys try to build a full system with no guidance. The second WTF was giving up on all advancement because the first try failed so poorly. Nothing like refusing to learn from your mistakes huh?

    The only real solution was to let the old guys lead and help design while the new guys coded and helped update the old guys. yeah some of the old ones would leave and you won't have as many new guys, but you end up with a good diverse team that mixes experience with new technology.

  • A Nonny Mouse (cs)

    dibolical...

  • snoofle (cs) in reply to KattMan
    KattMan:
    Andrew:
    Cool - In my experience they fire the dinosaurs anyway and hire a new set of "rock stars" to do version 3.

    And that my friends, is The Real WTF. The rock stars weren't rock stars at all, they were fresh grads with no experience. First WTF was moving the experiance out and letting the new guys try to build a full system with no guidance. The second WTF was giving up on all advancement because the first try failed so poorly. Nothing like refusing to learn from your mistakes huh?

    The only real solution was to let the old guys lead and help design while the new guys coded and helped update the old guys. yeah some of the old ones would leave and you won't have as many new guys, but you end up with a good diverse team that mixes experience with new technology.

    You, Sir, offer a common sense, reasonable approach. Corporate America will have none of that!

  • Anonymous Coward (cs) in reply to KattMan
    KattMan:
    Andrew:
    Cool - In my experience they fire the dinosaurs anyway and hire a new set of "rock stars" to do version 3.

    And that my friends, is The Real WTF. The rock stars weren't rock stars at all, they were fresh grads with no experience. First WTF was moving the experiance out and letting the new guys try to build a full system with no guidance. The second WTF was giving up on all advancement because the first try failed so poorly. Nothing like refusing to learn from your mistakes huh?

    The only real solution was to let the old guys lead and help design while the new guys coded and helped update the old guys. yeah some of the old ones would leave and you won't have as many new guys, but you end up with a good diverse team that mixes experience with new technology.

    Mod parent up... uh wait... oh, nevermind...

  • vt_mruhlin (cs)

    The dinosaurs might also want to learn that lesson about evolution. It's amazing what wonders you can do with a copy of "Teach Yourself VB.NET in 20 Minutes" or a similar book.

  • Phleabo (unregistered)

    Wait... .NET, XML, and the Web weren't the magic fix for everything?

    The mind reels.

  • pscs (cs) in reply to Phleabo

    No, that's FRAMES

  • SomeCoder (unregistered)

    I love how the "Non-WTF Jobs" are currently saying "You are a rock star, not a rock"

    I don't want to be a "rock star" after this story!!

  • John Robo (unregistered)

    I just LOVE the way you're using my photo. I can't take my eyes off of it...

  • FredSaw (cs)

    Shouldn't this topic be titled, "Jurbuttic Programmers"?

    I guess, when it's dinosaurs versus rock stars, it's a case of "jurass or mine".

  • Procedural (unregistered)

    I'm always amazed when companies think that changing the eye candy (interface) also means dumping a good back-end. Couldn't they first start with webifying the old app's interfaces (interacting with data through green screen proxies if necessary, but more likely through a form of RPC) and keep the experienced devs in the loop to oversee the pups ?

  • Paul W. Homer (unregistered)
    Comment held for moderation.
  • Tim (unregistered) in reply to Phleabo
    Phleabo:
    Wait... .NET, XML, and the Web weren't the magic fix for everything?

    The mind reels.

    Clearly they needed a woodgrain table to solve all their problems

  • KattMan (cs) in reply to FredSaw
    FredSaw:
    Shouldn't this topic be titled, "Jurbuttic Programmers"?

    I guess, when it's dinosaurs versus rock stars, it's a case of "jurass or mine".

    Damn, I wish this comment was mine.

  • Chris (unregistered) in reply to FredSaw

    Literally lol'd. Thanks for making my day a little nicer.

    CAPTCHA: consequat

  • sweavo (unregistered) in reply to Paul W. Homer
    Paul W. Homer:
    It's not the technology, it's what you do with it that matters. You just can't magically gain decades of knowledge about the business domain and how to build stable systems; without it you are just guessing. A fancy new technology, even if it works, is useless if it isn't deployed properly.

    What Paul said.

    "I need someone to build a house. Does anyone know how?" "Easy - use uPVC double-glazed windows!" "Great! You've got the job."

  • jetcitywoman (cs)

    This is scarily close to my company. "Obsolete" product running on VMS (except we don't do Dibol), new "equivalent" (or "better") product on Windows and *nix. The VMS product is over 30 years old now, running strong, reliable and scalable, almost unstoppable. Cash cow. The new products continue to struggle and barely break even. Although we don't consider the staff who work on the new products to be "rock stars", we have the same problem of hiring fresh new people and giving them free reign without any training on what the product is supposed to do.

    On the reverse side of the coin, the major problem with the old VMS product? We can't hire any programmers to work on it, so it's supported by a gradually shrinking team of a handful of Cobol/Assembler programmers. An interesting case study of a rock-solid software application that eventually dies a natural death.

  • Brain Epstein (unregistered)

    If this is a Windows Vista parable, when do we customer get our downgrading? And when do they fire the dev team?

  • Yep (unregistered)

    Correction:

    DIBOL is not extinct. I work for the company that still maintains the language and continues to update it and release new versions. The language is now called Synergy, and you'll find that many of the big companies that have these old DIBOL systems now use our product and support so they don't have to develop completely new source bases.

    As of version 9 of Synergy, DIBOL now has OOP support.

  • mck9 (unregistered)

    Definition of "legacy system:" the one that works.

  • TroelsL (unregistered)

    The error here is obvious: they weren't using enough Ruby AJAX Service Oriented Architecture.

  • themagni (cs) in reply to SomeCoder
    SomeCoder:
    I love how the "Non-WTF Jobs" are currently saying "You are a rock star, not a rock"

    I don't want to be a "rock star" after this story!!

    When they say they want a rock star, that means they want you to:

    1. work late nights and weekends, since that's what rock stars do!

    2. keep yourself going by taking lots of stimulants, since that's what rock stars do!

    3. make money between now and Wednesday, longevity be damned, since that's what one-hit-wonder rock stars do!

    4. pretend that your whole life revolves around this job, since that's the rock-and-roll lifestyle. Hobbies are for amateur musicians.

    Nobody remembers that most rock stars either fail, end up doing kids shows, die at an early age, or end up on "where are they now?" shows.

    When you think about it, the whole industry is based on hiring people who can't figure out that x / 60 is less than x / 40. (Where x is salary paid by week.)

  • brazzy (cs)

    In my company, it's the dinosaurs who produce much of the WTFs. They might know the business domain and the COBOL backend inside out, but their programming practices stem from the 1970s as well. A feature request? Let's just patch the production system and not tell the frontend people about the interface changes. Regression testing? Who needs that? Unit Tests? Yeah, I'd like to test my unit on that cute new secretary, hur, hur.

  • James (unregistered)

    The thing that kills me is, the story would have been quite different if they had had one or two of the dinosaurs as the "business domain expert" and a team of good "rock stars" who had proven experience with the platform they were supposed to be developing for. The problem isn't that they kicked out the dinosaurs, it's that they used green coders and treated them like they knew what they were doing.

    We've got the same situation here, except we're doing it the right way. PL1 software (!) running on MVS (!) is simply not a proposition you can maintain, so we're building a replacement from the ground up, but we're using coders who know what they're doing. Gather requirements the right way, document your design and review to make sure you've got it right. We have the dinosaurs look at our designs from time to time to make sure we're not hitting any obvious pitfalls, but by and large it's not so much "Version 2" as a new product that can be seen as a competitor to the previous product.

    Like a previous commenter said, you wouldn't hire a whole team of people who graduated from DeVry last week to build you a house, and you shouldn't hire a whole team who graduated last month to design your software, whether it's a replacement for an old system or not.

  • FredSaw (cs) in reply to jetcitywoman
    jetcitywoman:
    On the reverse side of the coin, the major problem with the old VMS product? We can't hire any programmers to work on it, so it's supported by a gradually shrinking team of a handful of Cobol/Assembler programmers.
    Just curious... is your gradually shrinking team being compensated according to their gradually increasing (due to supply versus demand) value?
  • akatherder (cs)

    The lesson I garnered from the metaphor is that dinosaurs aren't extinct. They're just waiting for us to screw up badly enough and they'll retake the Earth.

  • FredSaw (cs) in reply to akatherder
    akatherder:
    The lesson I garnered from the metaphor is that dinosaurs aren't extinct. They're just waiting for us to screw up badly enough and they'll retake the Earth.
    Yes... when the raptor comes. Hallelujah, brother!
  • dtfinch (cs)

    I consume two rock stars every morning for breakfast.

  • streetpc (unregistered) in reply to Paul W. Homer
    Comment held for moderation.
  • PerdidoPunk (cs)

    It seems to me like a lot of people have something against the "fresh blood." I graduated from college last year. That doesn't mean that I don't know anything about data structures, or that I can't reliably test things, or design a system. Currently I'm just a lowly Associate IT Analyst, but I know that if I were asked to redesign the application I work on from the ground up, I could do a good job of it. TRWTF in my eyes is that there are so many people graduating with degrees in Computer Science, Information Technology, Information Systems, and what-have-you who don't really have a passion for Computer Science. That means there are going to be tons of young go-getters out there who have resumes and interview skills freshly beefed up by University Career Services who really have absolutely no interest or skill in what they're being hired to do. They just want to be hot-shots and make a lot of money. By the same token, though, there are many young people who are really driven to achieve in this field, whether it be in industry, academia, or on their own. I think the article, in this case, portrays young people in general as unqualified for important design work. I'd like to see some focus on the problem of the riff-raff making it through the (fairly poor) litmus test of undergraduate school.

    As far as the treatment of the "old-timers" goes, I think that's really rather unfortunate. I agree with the comments that development teams should be a mix of experienced and fresh talent. Both have something to learn from each other. Young people can be too willing to jump into new things with reckless abandon, and can benefit from the patience, caution, and discretion of more experienced professionals. At the same time, the experienced professionals can benefit from the fresh knowledge of the young talent; coming straight from college, their foundation is built on modern techniques, and they are still in an academic problem-solving state of mind (at least for a while). This can mean plenty of new ideas and new perspectives on existing technologies and systems.

  • real_aardvark (cs) in reply to FredSaw
    FredSaw:
    jetcitywoman:
    On the reverse side of the coin, the major problem with the old VMS product? We can't hire any programmers to work on it, so it's supported by a gradually shrinking team of a handful of Cobol/Assembler programmers.
    Just curious... is your gradually shrinking team being compensated according to their gradually increasing (due to supply versus demand) value?
    I think you're demonstrating a pitifully inadequate grasp of the Republicans' view of what constitutes "a Free Market," Fred.

    As the late Paul Raymond said, "Sex. Sex. Sex. Sex will always sell."

    Weirdly, this also applies to VB.Net; which is probably why we see so many glossy magazines devoted to the topic on the top shelves, these days.

    Oh, and did somebody mention XML? Obviously the perfect glue language for a system such as this. I honestly can't imagine why an architecture of "green-screen proxies" wouldn't have been a better idea.

  • Zonkers (cs) in reply to brazzy
    brazzy:
    In my company, it's the dinosaurs who produce much of the WTFs. They might know the business domain and the COBOL backend inside out, but their programming practices stem from the 1970s as well.

    Just because they don't speak your language doesn't mean that they are not the shiznit.

  • D-Coder (unregistered) in reply to Yep
    Yep:
    Correction:

    DIBOL is not extinct. I work for the company that still maintains the language and continues to update it and release new versions. The language is now called Synergy, and you'll find that many of the big companies that have these old DIBOL systems now use our product and support so they don't have to develop completely new source bases.

    As of version 9 of Synergy, DIBOL now has OOP support.

    Man... I used DIBOL in the 1970s. It was COBOL with all the intelligence removed.

    And now OOP? O... M... F'ing... G!

  • Outlaw Programmer (cs) in reply to PerdidoPunk
    PerdidoPunk:
    Currently I'm just a lowly Associate IT Analyst, but I know that if I were asked to redesign the application I work on from the ground up, I could do a good job of it.

    As one junior programmer to another, no you couldn't.

  • FredSaw (cs) in reply to real_aardvark
    real_aardvark:
    I think you're demonstrating a pitifully inadequate grasp of the Republicans' view of what constitutes "a Free Market," Fred.
    Republicans? Well, there ya go. [image]
  • Zonkers (cs) in reply to PerdidoPunk
    PerdidoPunk:
    It seems to me like a lot of people have something against the "fresh blood."

    Personally, it's not fresh blood that I have an aversion to its the common view that "fresh blood developers" == "rock star developers" that is commonly associated (buttociated) with them. This causes unfortunate evens like this WTF. It's a view that is commonly perpetuated by trade magazines and the like.

    You're obviously not on this foul wavelength but it's everywhere, elevating the fresh blood to an unreasonable status and responsibility. Which oftentimes ends up making prima donas of them thinking that they deserve this new found status and that the old timers just don't get it and are out of step with the times, etc. So yeah the new blood can be easy targets but I don't think it's really their fault in the end.

    It's really painful to see a new person accepted as a rock star with great fanfare, as someone who will make great changes for us all. They are being setup for a great fall which will probably hurt them and everyone around them.

  • blindman (unregistered) in reply to PerdidoPunk
    PerdidoPunk:
    Currently I'm just a lowly Associate IT Analyst, but I know that if I were asked to redesign the application I work on from the ground up, I could do a good job of it.
    I'm sure that's exactly what all the rock stars at Insurcorp felt as well.
    SQL Server had been abandoned for indexed files stored on VMS.
    Dumbasses.
  • KattMan (cs) in reply to PerdidoPunk
    PerdidoPunk:
    It seems to me like a lot of people have something against the "fresh blood." I graduated from college last year. <snip> Currently I'm just a lowly Associate IT Analyst, but I know that if I were asked to redesign the application I work on from the ground up, I could do a good job of it.

    Actually you probably could not do it. I'm not saying you definitely can't, I'm just saying the odds are really stacked against you. You are currently suffering from what you claim a lot of your peers are suffering from, without the experience you believe you know all you need to in order to tackle a system of this size. Recognize that you do not have the ability to do this on your own and things will be much better for everyone.

    With that said, most experienced programmers could not do this all on their own either. Most large systems take a team for a reason. There are so many small puzzles and problems to work out that eventually you find a few your experience has not prepared you for, in these times you go to the rest of the team and discuss different solutions to collectively find the best.

    This is why a mix of abilities is important in a project of any significant size. The "younger ones" get exposure to things they previously haven't and the "older ones" get exposure to the new technology that has improved beyond their current learning.

  • jetcitywoman (cs) in reply to FredSaw
    FredSaw:
    jetcitywoman:
    On the reverse side of the coin, the major problem with the old VMS product? We can't hire any programmers to work on it, so it's supported by a gradually shrinking team of a handful of Cobol/Assembler programmers.
    Just curious... is your gradually shrinking team being compensated according to their gradually increasing (due to supply versus demand) value?

    Well, it's a commercial enterprise in the U.S., so we're not allowed to know each other's salaries, or even the ranges. So I have no idea if the old-timers make more than the fresh new guys, but I doubt it.

    We do have another serious problem that tends to go under the radar: the small group of old-timers is very burnt out and bored with doing the same ole same ole. So the quality of support is slipping. I get the feeling that management feels caught in a catch-22 with them: can't discipline them because they might leave, and if they leave we can't replace them. On the other side of the coin, they can't allow them to have training to update their skills and keep them motivated because then they might leave....

    (OF course by "allow them to have training" I mean education assistance or reimbursement or training on company time. There's certainly nothing stopping them from getting training on their personal time and paid out of pocket.)

  • A Gould (unregistered) in reply to jetcitywoman
    jetcitywoman:
    On the reverse side of the coin, the major problem with the old VMS product? We can't hire any programmers to work on it, so it's supported by a gradually shrinking team of a handful of Cobol/Assembler programmers. An interesting case study of a rock-solid software application that eventually dies a natural death.

    Which leads to the next natural question - how come no-one is learning this tech? (My company works on an AS/400 system, and everytime I google for training material, all I get is loads of "help wanted" ads). Seems a shame that no-one is learning established systems anymore...

  • AT (unregistered) in reply to FredSaw
    Comment held for moderation.
  • FredSaw (cs) in reply to jetcitywoman
    jetcitywoman:
    I get the feeling that management feels caught in a catch-22 with them: can't discipline them because they might leave, and if they leave we can't replace them. On the other side of the coin, they can't allow them to have training to update their skills and keep them motivated because then they might leave....

    (OF course by "allow them to have training" I mean education assistance or reimbursement or training on company time. There's certainly nothing stopping them from getting training on their personal time and paid out of pocket.)

    Bad management highlighted once again. If they had kept the old guard trained on new technologies, they wouldn't need a separate team of newbies. The old guys could simultaneously maintain the existing software and design and create its replacement, all the while feeling useful, fulfilled and valued.

    I do the majority of my studying on my own. Lately my focus has been on WCF, Ajax, Generics, Visual Studio 2008, SQL Server Reporting Services, and Team Foundation System. Of those, my company provided a week's worth of training about this time last year on WCF and assorted topics relating to .Net 2.0 and VS2005, which kind of bled over into what we use now (.Net 3.5 and VS2008 Team Suite).

    It's about time for some more training. A couple of our guys are spending last week and this week over at Microsoft, learning something advanced about Sharepoint, which they'll pass on to us when they get back. When my time comes, I'll have a range of choices for classes to take. Likely, LINQ will be part of it, since I haven't gotten to that yet in my free-time study.

  • PerdidoPunk (cs) in reply to KattMan
    KattMan:
    PerdidoPunk:
    It seems to me like a lot of people have something against the "fresh blood." I graduated from college last year. <snip> Currently I'm just a lowly Associate IT Analyst, but I know that if I were asked to redesign the application I work on from the ground up, I could do a good job of it.

    Actually you probably could not do it. I'm not saying you definitely can't, I'm just saying the odds are really stacked against you. You are currently suffering from what you claim a lot of your peers are suffering from, without the experience you believe you know all you need to in order to tackle a system of this size. Recognize that you do not have the ability to do this on your own and things will be much better for everyone.

    With that said, most experienced programmers could not do this all on their own either. Most large systems take a team for a reason. There are so many small puzzles and problems to work out that eventually you find a few your experience has not prepared you for, in these times you go to the rest of the team and discuss different solutions to collectively find the best.

    This is why a mix of abilities is important in a project of any significant size. The "younger ones" get exposure to things they previously haven't and the "older ones" get exposure to the new technology that has improved beyond their current learning.

    You make a good point here. The one major thing I see as an obstacle for doing such a thing is time constraints. Given ample time to consider all points of the design, I am certain I could come up with a better design than what already exists. That's not to say that the people who have worked on this system are not good developers; the problem is that due to time constraints good design principles are often abandoned in favor of quick fixes. I had the good fortune of studying not only Computer Science in school but also Electrical & Computer Engineering. I took a variety of design classes that were specifically tailored to instill good design practices, including several courses on software engineering. I think the tripping block of many young developers is the tendency to rush into work without first considering a full design. There is plenty of room for coding-to-prototype, but I don't believe for a moment that a good application can be built without first carefully considering all of the data structures and algorithms that will be required as well as the architecture that will tie them together. This may seem obvious, but from my experience so far, it seems like these considerations are the ones that are most often skipped over during initial development.

    So, could I implement the whole system in a good way? Yes, given an appropriate time frame and proper documentation of our business workflow and services. I have actually thought about giving it a try as a diversion on my free time (then I remembered I have more interesting projects I want to work on).

    Would I run into problems? Almost certainly. This is what QA is for. I recognize that it's very difficult for one maverick programmer to create something and have it be completely bulletproof. Adequate testing and peer code reviews are important and powerful tools.

    Would I rush headlong into a project, only to find that I had bitten off way more than I could chew once it was already too late? Perhaps I would have a year ago. Now, though, I don't think so. I still feel like "fresh blood" around here, but maybe I've matured enough already not to fall into that category. I've only been employed in The Real World since June, but my approach to things is already different. Come to think of it, I have received a lot of great advice from people who have been here for 10, 20, 25 years. I've also butted heads a few times over what I considered to be obsolete practices or poor implementation. I've come out on top once or twice, and I think it's probably for the better... my ideas have been received well.

    Had I been given the development responsibilities I have now when I first started, though, maybe I wouldn't have lasted two months... :)

  • FredSaw (cs) in reply to AT
    AT:
    [image]

    Huh. I know plenty of smart folks who vote Repub, Dem, and Libertarian. Political positions are correlated with value systems, not intelligence. People who don't understand that fundamental premise have a pretty shallow understanding of human decision making and motivation.

    People who don't understand this cartoon have a pretty shallow understanding of humor.

  • businessmanprogrammersteve (unregistered) in reply to A Gould
    Comment held for moderation.
  • Franz Kafka (unregistered) in reply to Outlaw Programmer
    Outlaw Programmer:
    PerdidoPunk:
    Currently I'm just a lowly Associate IT Analyst, but I know that if I were asked to redesign the application I work on from the ground up, I could do a good job of it.

    As one junior programmer to another, no you couldn't.

    I have 10 years - I could do it, but that's because I'd start by talking to the guys who built v1 and getting an architecture planned out (again, talking to the old guard). Widgets are for after we make the base bits work.

  • ParkinT (cs) in reply to FredSaw
    FredSaw:
    akatherder:
    The lesson I garnered from the metaphor is that dinosaurs aren't extinct. They're just waiting for us to screw up badly enough and they'll retake the Earth.
    Yes... when the raptor comes. Hallelujah, brother!
    That, sir, was a BRILLIANT pun!
  • Petey (unregistered) in reply to PerdidoPunk

    I used to think I was a hotshot programmer 5 years ago when I graduated from college. Sure, I was better than average, but seriously kid, you really don't know much right now! I'm not saying you don't know anything, but wait 5 years time and you'll see the difference that can make.

  • Franz Kafka (unregistered) in reply to jetcitywoman
    jetcitywoman:
    FredSaw:
    jetcitywoman:
    On the reverse side of the coin, the major problem with the old VMS product? We can't hire any programmers to work on it, so it's supported by a gradually shrinking team of a handful of Cobol/Assembler programmers.
    Just curious... is your gradually shrinking team being compensated according to their gradually increasing (due to supply versus demand) value?

    Well, it's a commercial enterprise in the U.S., so we're not allowed to know each other's salaries, or even the ranges. So I have no idea if the old-timers make more than the fresh new guys, but I doubt it.

    We do have another serious problem that tends to go under the radar: the small group of old-timers is very burnt out and bored with doing the same ole same ole. So the quality of support is slipping. I get the feeling that management feels caught in a catch-22 with them: can't discipline them because they might leave, and if they leave we can't replace them. On the other side of the coin, they can't allow them to have training to update their skills and keep them motivated because then they might leave....

    (OF course by "allow them to have training" I mean education assistance or reimbursement or training on company time. There's certainly nothing stopping them from getting training on their personal time and paid out of pocket.)

    What if we train them and they leave? What if you don't and they stay?

    Truisms aside, why not offer them training and the opportunity to build v3? Like someone upthread said, hire some new guys who know the new tech and let them be a resource to the old guard - the old guys stick around and can support the system while doing something new that is actually interesting, or at least different.

Leave a comment on “Jurassic Programmers ”

Log In or post as a guest

Replying to comment #:

« Return to Article