Monday, January 12, 2004

Compu College

This is about software, so if you're looking for a laugh, read a different post or perhapps another author would suit you today... (that was yet another plug for deonn's blog)

I've been in the position lately to evaluate work from another company and some of their team is fresh out of college. This is a good thing, but I see some definite software trends in college graduates and I think I know why.

  • They are encouraged to hide bugs

  • Long term maintanability has nothing to do with them

  • On time wins every time.



  • First off when the grader looks at their work they often look at output or run the code depending on the class and if it 'seems' to work then by god it works. No worries that there are lots of band aids in the code to stop bugs before the symptoms hit. Code that checks some condition you're not expecting and just returns. "does nothing" when I click here is better than "crashes like a muther every time I click over there". This becomes a habit and they think they are coding defensively but in fact they are not.

    number 2 at the end of ten or so weeks they are done with it. I mean done. Gone. nada mas. finito. or as in Mystery Men: "junk it!". So they aren't worried about having to add functionality to it. They make their class heirarchy with no thoughts of requirements changing because they won't. Why not? because the prof won't do that and besides after 10 weeks he's not your boss anymore. So simple and not flexible wins over a little more work up front everytime.

    And finally letter C. C for complete on time broken is better than even a single day late. For more than one reason. A letter grade a day means miss it by two days and you get a C if it works perfectly. I learned quickly to hand that piece of shit in like it was a hot potato rather than sit on it and make it a little better. This also had the benifit of when the lab was due on monday (as most were as to maximise the weekend wreck) you could really enjoy 20 cent wing night at BW-3's.

    Do I blame the student... um no. This is also just my personal experience and I went to a rather cheap and very large (read that "really fucking big" univeristy) OSU (and no that isn't in oaklahoma). It would be interesting to construct a class that that really addressed these points. Lots of kids would Get I's at first as they wouldn't be done and you know what? That's ok they have to finish. In the real world being a little late just means you keep working. Bugs would be graded harshly and hiding bugs would get you double points off. The funny thing is everybody who finishes gets an A. It an A or Fail kinda class. If you give up you fail. If you get the product done you get an A. Of course everyone will fail. Because the prof playing requirements god will just keep changing them. New features. More bugs... new features... more bugs... your college career in software engineering would go on for decades...

    thats enough about that.

    0 Comments:

    Post a Comment

    << Home