• (disco)

    They might be time pod travelers, but at least they're not so backwards that they forbid introducing source control.

    Hardly interesting in the long term.

  • (disco)

    Without any incentive to learn tew processes and technologies, ITWerks became an isolated island of 1995 which was inexplicably transported to 2015.

    Interesting @accalia there. How do you accidentally replace an "n" with a "t"?

    Calvin’s first task was to fix a few bugs toin their web API. The API tied several different products together. He scheduled some time with Hank, the original developer, to get an overview withof the product.

    Oh look, some gramming, too!

  • (disco) in reply to abarker
    abarker:
    Interesting @accalia there. How do you accidentally replace an "n" with a "t"?

    They're right next to each other?

    http://www.computerhope.com/help/dvorak.gif

    Relevant: http://bash.org/?670375

  • (disco)

    A happy ending!

  • (disco)

    At least they seemed willing to change. Most places like this in my experience would see no reason to use any of that newfangled stuff and fire the person who kept pushing for it.

  • (disco) in reply to PJH

    Obligatory xkcd https://xkcd.com/1530/

  • (disco)

    Ive been reading articles for quite a whole on the site.. it's good for some entertainment. However.. this article tickles me the wrong way.

    You know beforehand that it's all very much ad hoc business.. and you know the coding most likely will not follow industry standards (hence : The Galapagos). The fact that you get surprised by having no source control.. is very surprising to me. You ought to have made that assumption already. (at my current employer it's excately like that, where I'm given free range to change it)

    Therefor.. having all your logic in a single file with thousand of lines.. is to be expected in this context. (doesn't happen that often, but if you're inside a company with 20-30 years legacy and a gray IT developers.. you can suspect this to happen)

    My Real WTF is the incapability of Calvin dealing with different situations..

    There might be a single exception, but it's never perfect anywhere.. Dealing with imperfect solutions.. is what a professional does.. A professional doesn't throw the towel in the ring after seeing things, he should've known beforehand.

    I'm sorry, but Calvin.. you wouldn't get hired.. it's an indication of a "dont want to" attitude. It's amateurism in my eyes.

    Other posts are entertaining, but this one I find almost insulting to the original company.

  • (disco) in reply to Brian
    Brian:
    Obligatory xkcd https://m.xkcd.com/1530/

    FTFM

  • (disco)

    I cant help but to read I-Twerk(s).

  • (disco) in reply to PJH
    PJH:
    They're right next to each other?

    Relevant: http://bash.org/?670375

    More like relevant: http://bash.org/?5300

  • (disco) in reply to guidow

    That too..

  • (disco) in reply to PJH

    Damn you both. I clicked the link and then Random. I'd forgotten what a deep, dark hole Bash was.

  • (disco) in reply to drex_ej

    Yer welcome.

  • (disco) in reply to PJH
    PJH:
    abarker:
    Interesting @accalia there. How do you accidentally replace an "n" with a "t"?

    They're right next to each other?

    http://www.computerhope.com/help/dvorak.gif

    Relevant: http://bash.org/?670375

    I dunno about that bash.org reference, because on my keyboard A and Z are right next to each other...
  • (disco)

    The article says:

    Hank had been with the company for thirty years now, and hadn’t learned anything new in at least twenty.
    followed by
    "I rewrote this whole thing with C#"
    Aren't those two contradictory? C# is only 15 years old, yet he learned it didn't he? I realize he calling out to VB dlls for some stuff, but there's still apparently 100K lines of C# code written. I expect the VB dlls would be either to ease the rewrite or for legacy support.

    For example, start with a C# shell of a class that just calls the original VB code. Then slowly rewrite each original function and method in C# and call those instead of the VB ones. Eventually you reach a point when there are no more calls to the original VB code, and you can stop using it.

    Similarly, an old application would use a lot of older libraries, which may not be available or directly accessible from newer languages. To keep providing that legacy functionality you need to be able to keep using those libraries.

  • (disco) in reply to AwesomeRick
    AwesomeRick:
    C#

    I was also surprised by that - VB.NET would have been a lot more fitting.

  • (disco) in reply to WdMeaun
    WdMeaun:
    I'm sorry, but Calvin.. you wouldn't get hired.. it's an indication of a "dont want to" attitude.It's amateurism in my eyes.

    What, having basic requirements and standards? Like source control? Like code sanity?

    It's like telling a construction worker "what, you want a helmet on your head when demolishing a building? I'm sorry, but you know it's a very ad-hoc business, and I don't know how you can be surprised by us not following standard procedures. You know, I feel you have this kind of a 'don't want to' attitude."

  • (disco)

    A job in his field, close to home, in a stable company? Check. Company gives him leeway to implement his ideas and the resources he needs to do so? Check. Stable codebase that 'purrs like a kitten' but still has lots of low-hanging fruit to harvest? Check.

    He's got the opportunity to look like a superstar for not a lot of effort. If the pay is acceptable too, I'd say this guy won the lottery, in the short-term. His only danger is being bored in a few years once he's gotten things lined out; a small market sometimes means a dearth of new projects.

  • (disco) in reply to abarker
    abarker:
    Interesting @accalia there. How do you accidentally replace an "n" with a "t"?

    Should it be 'INWerks'?

  • (disco)

    find his muddy kids running up from the creek in the pasture to greet him

    There goes the american dream. Going back to the middle ages. In a few years he might be able to see them running from the explosion of their meth lab or moonshine distillery.

  • (disco)

    That's why you select Debug or Release mode before building. Duh!!!1

  • (disco) in reply to WdMeaun

    I thought maybe you were a troll, but it's clear you're a self-absorbed maniac.

    This isn't about not having source control. This is flat out source anarchy. The one person working on the code doesn't even have control over it. Builds are created right on the production server, in the production environment. There's no excuse for that. That was never OK... not in 1995, not in 1945.

    You don't even have good reading comprehension. Calvin stayed with the company, and helped fix their issues. He dealt with it. I wonder how you can deal with walking, what with the fact that when you were six months old, crawling worked just fine, so why change?

    ...

  • (disco) in reply to operagost

    Granted, I did miss the part, where he stayed with the company.

    It's just not a WTF. 20-30 years old coding with people, who are actually open to change. To find these practices surprising is the real WTF.

    I mean.. if he didn't live right next door.. he would quit, because they used 20 years old working code? Again: not professional

    There's loads of 20 year old codes, which can be entered as WTF.. but they arent.

    You haven't read it correctly yourself either. My issue was about him seeing this as WTF, which again.. it isn't. It's just not worthy to address very old legacy code as WTF..

    For your example.. if I started crawling and people were surprised I was crawling at 6 months old.. that would be a WTF. Not that I was crawling, but their surprise. (altho a lot of parents are surprised when it happens) Please think a bit longer.

  • (disco) in reply to PJH

    Really, really hate dvorak.

  • (disco) in reply to WdMeaun
    WdMeaun:
    There's loads of 20 year old codes, which can be entered as WTF.. but they arent.

    Mostly because we don't (generally) pick on targets this easy. That's also why there's a general "no student/inexperienced intern code" rule.

    WdMeaun:
    For your example.. if I started crawling and people were surprised I was crawling at 6 months old.. that would be a WTF. Not that I was crawling, but their surprise.

    On the other hand, if you didn't learn anything beyond crawling at the age of 30, we would be rightfully freaked out. Most people would also not want to familiarize themselves with you any further.

  • (disco) in reply to Maciejasjmj

    Heh.. somehow "On the other hand, if you didn't learn anything beyond crawling at the age of 30, we would be rightfully freaked out" is quite amusing.

    But I want to keep it short.. didnt want to be rude, but I kinda misworded myself.. so my apologies.

    I've got the same situation, when I started with my current job. Nothing at all (it was setup 10 years ago by non-developers and started from within Excel) Still in the middle of setting it all up.. being source control and such.. but I never considered it a WTF. (there's code snippets that are, but in context it's still pretty fine)

  • (disco)

    ....and they lived happily ever after.

    I like these programmer's fairy tales!

    unfortunately - the real world works different

  • (disco)

    I walked into a similar situation a couple of years ago, and quietly introduced source control and separate development and test environments. Followed shortly by SQL query parameterization.

    My higher-ups didn't understand exactly what I was doing, but they did notice that:

    • Their production servers were no longer having problems.
    • I was able to quickly undo any changes they decided to back out.
    • Their servers were no longer getting pwned every few months.

    And yes, that turned into a happily-ever-after gig for all involved, because they had never had a competent guy in my chair before.

  • (disco) in reply to drex_ej

    At least it's not TV Tropes.

    It would be horrible if there were some kind of crossover between the two.

    http://tvtropes.org/pmwiki/pmwiki.php/Website/BashOrg

  • (disco)

    I'm stuck in a place kind of like this, except much newer.

    Things we do have:

    • Separate Dev and Prod servers + databases
    • Old version control (CVS on Win2k)
    • ANT build scripts
    • Decent 3-layer code architecture atop Struts 1/2
    • A competent tester
    • Rudimentary bug tracking

    Things I wish we had:

    • Continuous integration
    • One-click deployment
    • Distributed version control
    • Automated testing
    • Better code architecture atop Spring or something
    • Requirements documentation
  • (disco) in reply to AwesomeRick
    AwesomeRick:
    The article says:
    Hank had been with the company for thirty years now, and hadn’t learned anything new in at least twenty.
    followed by
    "I rewrote this whole thing with C#"
    Aren't those two contradictory? C# is only 15 years old, yet he learned it didn't he?

    Having a single file with 100k lines of C# code doesn't necessarily imply that he learned anything.

  • (disco)

    I've been to places at all parts of this spectrum. From no source control, no backups, no testing, no backout procedures, to having the whole modern schmeer. The new stuff is somewhat helpful, much of the time, but the only constant are the people and the dumb processes that make progress difficult to impossible.

  • (disco) in reply to WdMeaun
    WdMeaun:
    but I never considered it a WTF.

    Even if something is expected from a certain sort of person or environment it can be a WTF. You're right that it's not surprising that they didn't use source control. It's still a WTF.

  • (disco) in reply to operagost
    operagost:
    I thought maybe you were a troll, but it's clear you're a self-absorbed maniac.

    Of course he's a troll! He's posting here, isn't he? Also, you say troll and self-absorbed maniac as if those are two separate things.

  • (disco) in reply to Steve_The_Cynic
    Steve_The_Cynic:
    A and Z are right next to each other

    http://i.imgur.com/U7Ghu2s.gif?noredirect

  • (disco) in reply to WdMeaun
    WdMeaun:
    I've got the same situation, when I started with my current job. Nothing at all (it was setup 10 years ago by non-developers and started from within Excel) Still in the middle of setting it all up.. being source control and such.. but I never considered it a WTF.

    You just demonstrated the WTF. Non-developers working on code IS a WTF. If you're running a business, you don't do your own plumbing, electricity, or construction unless your profession was in one of those things, so why do people tend more to give it a pass when non-experts try to code something? It's one thing if someone dabbles in it in their spare time, but when you're running a public facing business, you kinda want professional experts to do what they're trained to do.

    The WTFs in the article are as such:

    1.) Automatically deploying upon building in your development environment (or, in this case, probably using your development environment as your production environment). There's NO excuse for this. None. There wasn't an excuse for it in 1995, and there certainly isn't an excuse for it now.

    2.) Never looking ahead and keeping current with technology. These guys are lucky they survived Y2K... although given their setup, I wouldn't be surprised if there was an unwritten story where their business was offline for all of January, 2000 because they had Y2K bugs that they had to patch. Not to mention the very probable security holes that are present in old technology because they've outlived their lifetime. Again, there's no excuse for an 15-20 year old outdated system because you can't be bothered to keep up with the times. You can't be a tech company and think that's acceptable.

    3.) A monolithic garbled clusterfuck of spaghetti code that manages to work-around all of the benefits of object oriented programming. VB5 was object oriented. C# is object oriented. They decided to completely circumvent that because they're a bunch of idiots. Again, that sort of thing is not acceptable in 1995, nor is it acceptable now. If you're going to use a platform and language, you've got to use them correctly, or else you're going to have major problems later on, as these guys no doubt had.

    The guy in the OP is, in fact, a professional, given that he had such a WTF feeling when he looked at code that was very clearly engineered by non-professionals. It's no different than if a plumber had the same feeling if he/she came on-site to look at some installation that the business owners thought they could do themselves and find that they're using empty paper towel tubes instead of PVC pipe and believe that, because all they need to do is replace the rolls every week it's "purring like a kitten."

    The only non-WTF in this story is they were open to change and vast improvements to the way they were doing things before. Such a happy ending isn't always the case on this site, and I'm glad the OP found what became a great job, and I'm sure his patience and professionalism is what convinced his colleagues to comply with his wishes to bring them to sanity.

  • (disco)
    1. That's not how people in the South talk

    2. That's not even how people who make fun of how people in the South talk do it

  • (disco) in reply to Slapout

    What next, are you going to tell me that people in Hesse University in Dresden don't always quote the Book of Five Rings?

  • (disco) in reply to WdMeaun
    WdMeaun:
    Therefor.. having all your logic in a single file with thousand of lines.. is to be expected in this context. (doesn't happen that often, but if you're inside a company with 20-30 years legacy and a gray IT developers.. you can suspect this to happen)

    A certain large company (no names...OK Xerox) published a web service for a new SAAS which generated a Java file of about 80 000 lines and was steadily expanding by the time I stopped trying to deal with it. WTFery is not confined to small companies in the sticks.

Leave a comment on “The Galapagos”

Log In or post as a guest

Replying to comment #:

« Return to Article