The Best, The TDWTF Interview, and The Storm-out

  • Cbuttius 2010-09-02 11:06
    So many interviews / hiring is based on "have you played with the right toys"?, often asked by people who are clueless (IT managers) and being able to answer questions like "what are you looking for".

    Poor hiring decisions and poor organisation ultimately leads to the WTFs in our industry.
  • Cbuttius 2010-09-02 11:15
    That the interviewee was asked to code-review their production code: Perhaps if you are not hired you should bill them for your services...

  • boog 2010-09-02 11:23
    TFA:
    When they came back, I complimented them on the clever examples of bad code and presented them with my rewrite. One of interviewers — the chattier of the two — didn't say another word; he was clearly upset, and I was half-concerned it might get physical.

    If it'd been my code, I'd have asked him to not only show his rewrite, but explain what's wrong with the existing code and why his code is better. If he could justify his remarks, I'd hire him and try to learn from my own mistakes. If he couldn't, I'd have told him why he was mistaken, thanked him for his time, and hoped the next candidate was better.

    Programmers shouldn't take criticism over code so personal. Code is not art. It's not something that you pour your soul into. It's just code. As long as it gets the job done and other programmers can maintain it, it doesn't matter who "likes" it.
  • Anon 2010-09-02 11:25
    What exactly does anybody expect to gain from the whiny "you picked the wrong guy" response to a rejection letter. Do they really expect the guy on the other end to suddenly come to their senses and exclaim "My God! He's right! What a terrible mistake we've made!"?

    I heard a story from somebody a while back that after sending a rejection letter saying they'd picked somebody else they go a terse reply "then you have picked poorly".

    Way to burn bridges.
  • anon 2010-09-02 11:27
    "The Storm-out" might be a WTF, but it's all too common.
  • Nexzus 2010-09-02 11:31
    Anon:
    What exactly does anybody expect to gain from the whiny "you picked the wrong guy" response to a rejection letter. Do they really expect the guy on the other end to suddenly come to their senses and exclaim "My God! He's right! What a terrible mistake we've made!"?

    I heard a story from somebody a while back that after sending a rejection letter saying they'd picked somebody else they go a terse reply "then you have picked poorly".

    Way to burn bridges.


    It's almost like suing your former employer to get your job back. I know the majority just up and quit on the first day back, but I bet there's a fair number of people that stay at the place they sued.
  • Julia 2010-09-02 11:32
    He also said that he'd taken the liberty of rewriting my resume to include a couple of things about my experience troubleshooting IIS...


    ...which is a sure-fire way to plenty of timewasting interviews where every answer meets the riposte "but your resume says you're an expert with (insert WTFware here)".

    And it's not just technical stuff they fake. I had the joys of meeting such an agency once. Told them that as a relatively new mother I wasn't going to relocate or stay away from home. They doctored the resume to tell the victim company I was fine for a contract that involved alternating 3-month periods between UK and Saudi Arabia...
  • Anonymous 2010-09-02 11:34
    Shouldn't this be in the "Tales from the Interview" section?
  • flyboyfred 2010-09-02 11:35
    boog:
    Programmers shouldn't take criticism over code so personal.

    You're right, but we're not machines either. It hurts to be corrected and to have your code be called a great example of bad code. Let's hope they learned something from it.
  • cystm 2010-09-02 11:35
    The sad part is that the company that this "technical recruiter" works for is actually going to charge the client for finding anyone they deem fit. Meanwhile they're actually filtering out anyone decent. By very nature the recruiter works there because the recruiting company needed someone "technical" to do interviews. I'm sure this guy spouted off for a bit about servers, ISPs and IIS and was hired on the spot.
  • Trevor D'Arcy-Evans 2010-09-02 11:35
    I had a telephone 'interview' once which went along the lines of:

    - what is a 'dataset'?
    - what is 'reflection'?
    - have you used any third party grid controls?

    I stumbled through some answers which I could tell the recruiter didn't understand and then named a contract rate which was 10% above the market rate. The next thing I knew the recruiter was asking me to start on Monday! Unfortunately, it was the project from hell and I left after my minimum agreed 3 months. The money was really good but not worth the stress.
  • Lone Marauder 2010-09-02 11:40
    Julia:

    ...which is a sure-fire way to plenty of timewasting interviews where every answer meets the riposte "but your resume says you're an expert with (insert WTFware here)".

    And it's not just technical stuff they fake. I had the joys of meeting such an agency once. Told them that as a relatively new mother I wasn't going to relocate or stay away from home. They doctored the resume to tell the victim company I was fine for a contract that involved alternating 3-month periods between UK and Saudi Arabia...


    I usually cut off stuff like this by handing them *my* resume. Had more than one interviewer find it interesting that what I gave the recruiting company is different than what I gave them.

    It honestly makes me wonder how people like that stay in business. Honestly, if I found out that a recruiter was falsifying applicant data just to put people in front of me, I would no longer use the lying sack of crap.
  • wtf 2010-09-02 11:40
    flyboyfred:
    boog:
    Programmers shouldn't take criticism over code so personal.

    You're right, but we're not machines either. It hurts to be corrected and to have your code be called a great example of bad code. Let's hope they learned something from it.


    It also sucks to miss the chance to say no to a job (or yes, who knows) because you can't phrase things in a reasonably safe way.
    A dispassionate approach - here's what I take to be the purpose of this code, here's why I'd do it this other way - might be a better tack to take in an interview situation.
  • Lone Marauder 2010-09-02 11:42
    Lone Marauder:

    I usually cut off stuff like this by handing them *my* resume. Had more than one interviewer find it interesting that what I gave the recruiting company is different than what I gave them.


    Gaah, stupid distractions. That should read, "Had more than one interviewer find it interesting that what the recruiting company gave them was different than what I gave them."
  • by 2010-09-02 11:48
    Recruiter: Have you ever felt the side of the server to see if it was frozen?
    Me: No, that's not what that means.
    Recruiter: Actually, that is exactly what it means--the computer will be cold if it is frozen.
  • Carl 2010-09-02 11:48
    Then they showed me two half pages of code in PHP.


    So...one page?
  • Huborice 2010-09-02 12:06
    Actually, I was just looking for the `close tab' button. *storms out*

    More seriously: Is TDWTF suffering a DDoS or something? Site's awfully slow, and it was downright offline for a few minutes. Maybe some actually decent attacker had his WTF posted here and he didn't like it...

    --
    Note from Alex: Slowness has been mostly caused by this, and it's since been fixed. Faster for all, I hope?
  • SomeCoder 2010-09-02 12:10
    Why do recruiters like to pretend that they are actually companies that want to interview you?

    A while back when I was looking for work, I got a call from a recruiter. From the sound of the call, it sounded like he was actually a company and wanted to interview me for an actual position.

    Once I got there, he had me take a Perl test which I passed with flying colors. It was only after going through the test that I realized that he wasn't a "company" but rather just a recruiter.

    I guess if they just say "Hey, I'm a recruiter" up front, then most people will just ignore them? *shrug*
  • frits 2010-09-02 12:10
    Me, to my Ex:

    "you could have had the best, now you'll just have the rest!"

    Yep.
  • onitake 2010-09-02 12:15
    and of course, the wtf here is going from perl to php. :)

    on the other hand, a capable perl coder with zero php experience should be able to grok out at least decent php code with a little learning...
  • Ryde 2010-09-02 12:25
    SomeCoder:
    Why do recruiters like to pretend that they are actually companies that want to interview you?

    ...

    I guess if they just say "Hey, I'm a recruiter" up front, then most people will just ignore them? *shrug*


    Pretty much. Its anecdotal, but recruiters seem to have a very bad reputation amongst the more skilled developers for exactly the reason demonstrated in this WTF.
  • pkmnfrk 2010-09-02 12:25
    Apache is iis, in the sense that it is a service that provides information over the internet. The distinction is in the lower case letters.

    Also,

    onitake:
    and of course, the wtf here is going from perl to php. :)

    on the other hand, a capable perl coder with zero php experience should be able to grok out at least shitty, perl-like php code with a little learning...


    FTFY.
  • wtf 2010-09-02 12:29
    Carl:
    Then they showed me two half pages of code in PHP.


    So...one page?


    Um, no. Two half pages. Two sheets of paper with approximately half a page of code on each.
  • wtf 2010-09-02 12:30
    pkmnfrk:
    Apache is iis, in the sense that it is a service that provides information over the internet. The distinction is in the lower case letters.

    Also,

    onitake:
    and of course, the wtf here is going from perl to php. :)

    on the other hand, a capable perl coder with zero php experience should be able to grok out php code with a little learning...


    FTFY.


    FTFY (your "fix" was redundant)
  • Anonymous2 2010-09-02 12:32
    Anonymous:
    Shouldn't this be in the "Tales from the Interview" section?


    Agree. Tales from the Interview, not Feature Article.

    Or is TFTI the same as FA the same as Apache the same as IIS?
  • Matthew 2010-09-02 12:33
    onitake:
    on the other hand, a capable perl coder with zero php experience should be able to grok out at least
    decent php code with a little learning...


    Why? They don't produce decent perl code. Nobody does.
  • wtf 2010-09-02 12:37
    Matthew:
    onitake:
    on the other hand, a capable perl coder with zero php experience should be able to grok out at least
    decent php code with a little learning...


    Why? They don't produce decent perl code. Nobody does.


    grok = understand, not produce

    go read some Heinlein, you'll like it.
  • Anon 2010-09-02 12:52
    boog:
    TFA:
    When they came back, I complimented them on the clever examples of bad code and presented them with my rewrite. One of interviewers — the chattier of the two — didn't say another word; he was clearly upset, and I was half-concerned it might get physical.

    If it'd been my code, I'd have asked him to not only show his rewrite, but explain what's wrong with the existing code and why his code is better. If he could justify his remarks, I'd hire him and try to learn from my own mistakes. If he couldn't, I'd have told him why he was mistaken, thanked him for his time, and hoped the next candidate was better.

    Programmers shouldn't take criticism over code so personal. Code is not art. It's not something that you pour your soul into. It's just code. As long as it gets the job done and other programmers can maintain it, it doesn't matter who "likes" it.


    Agreed, but I think this was the bit that did it:

    I complimented them on the clever examples of bad code and presented them with my rewrite.


    It's one thing to have somebody criticize your code, it's another to have somebody think it's actually a joke.
  • Cbuttius 2010-09-02 12:53
    Recruitment agencies are not working in the best interests of either the company they are hiring for or the candidate. They are working in their own best interests. They are businesses too.

    I have dealt with many of them - often too painful really. They always claim to have a good working relationship with the line managers, and most of the time they are lying.

    They also forget that today's candidate could be tomorrow's hiring manager. Once you have placed someone they will be an insider in the companies where you are trying to place. Give your candidates a proper service and have a good working relationship with them and if you place one, make sure you get feedback and insider information on new positions they are hiring for and their real requirements, and maybe some feedback as to what the work is actually like.

    If developers were opened up to better "real" information as to what jobs are available and what they are really like, and if proper real feedback were given back on developer's actual ability, there would not be nearly so many WTF stories.

  • boog 2010-09-02 12:54
    flyboyfred:
    You're right, but we're not machines either. It hurts to be corrected and to have your code be called a great example of bad code. Let's hope they learned something from it.

    Point taken. I suppose his wording could have been more tactful.

    Still, I'd have laughed and said, "really? what's so bad about it?" instead of getting all moody. But I suppose every developer is different.
  • davedavenotdavemaybedave 2010-09-02 13:06
    wtf:
    Matthew:
    onitake:
    on the other hand, a capable perl coder with zero php experience should be able to grok out at least
    decent php code with a little learning...


    Why? They don't produce decent perl code. Nobody does.


    grok = understand, not produce

    go read some Heinlein, you'll like it.


    That's an overly simplistic definition of grok. It seems that you don't grok grokking, or you could grok it to someone else better than that. :)

    If you grok something, you are it and it is you; the space it has in your head is an accurate picture of what it is, which is why you have also written it.

    If you've read Neal Stephenson's Anathem, you might agree that it takes a stab at the same problem from another direction.
  • boog 2010-09-02 13:08
    Anon:
    It's one thing to have somebody criticize your code, it's another to have somebody think it's actually a joke.

    Well, if the shoe fits...

    Still, I'd want to hear why he thought it was a joke. Is my code really a joke? Or maybe the guy who called my code a joke really doesn't get it or is an idiot (and if that were the case, it could make a great WTF story from the other side). Unless I swallow my pride and ask, I may never know.
  • davedavenotdavemaybedave 2010-09-02 13:16
    Cbuttius:

    They also forget that today's candidate could be tomorrow's hiring manager. Once you have placed someone they will be an insider in the companies where you are trying to place. Give your candidates a proper service and have a good working relationship with them and if you place one, make sure you get feedback and insider information on new positions they are hiring for and their real requirements, and maybe some feedback as to what the work is actually like.


    I am a hypothetical recruiter, Nick (*spit*). I place Bob at Smallco Ltd. Bob is happy with my service, and so are Smallco, but that's their recruitment done for the next year or eighteen months.

    I am another, unethical hypothetical recruiter, Mephistopheles (*double spit*). I see Smallco's requirements, and sell them Cedric, whom I know will not fit what they're looking for. I have now earned as much commission as Nick, but my clients are both looking for another spin on my magic merry-go-round -- because if I'm good, I've persuaded both of them that the mismatch was just an unfortunate clash of personalities, and not my fault. I send them Derek and Eric as the next two, neither of whom work out either. Meanwhile, Cedric is doing the job Derek just left, and so-on. Two or three iterations may pass before the companies in question wise up -- but by that time, I'm working for another recruitment co on a much higher salary, having made triple the placements Nick made.
  • Fred 2010-09-02 13:19
    pkmnfrk:
    shitty, perl-like php code
    Any code that doesn't look like line noise is for mental weaklings that don't deserve to be writing code in the first place. Give them a GUI and let them drag and drop buttons until they die.

    Anyone who doesn't know what line noise looks like is too young to work in this profession.

    You're not cool unless you've whistled into a modem and had it respond.
  • Sally 2010-09-02 13:48
    by:
    Recruiter: Have you ever felt the side of the server to see if it was frozen?
    Me: No, that's not what that means.
    Recruiter: Actually, that is exactly what it means--the computer will be cold if it is frozen.

    No that only works if the caller's name is Sally....
  • illum 2010-09-02 13:53
    Anon:
    boog:
    TFA:
    When they came back, I complimented them on the clever examples of bad code and presented them with my rewrite. One of interviewers — the chattier of the two — didn't say another word; he was clearly upset, and I was half-concerned it might get physical.

    If it'd been my code, I'd have asked him to not only show his rewrite, but explain what's wrong with the existing code and why his code is better. If he could justify his remarks, I'd hire him and try to learn from my own mistakes. If he couldn't, I'd have told him why he was mistaken, thanked him for his time, and hoped the next candidate was better.

    Programmers shouldn't take criticism over code so personal. Code is not art. It's not something that you pour your soul into. It's just code. As long as it gets the job done and other programmers can maintain it, it doesn't matter who "likes" it.


    Agreed, but I think this was the bit that did it:

    I complimented them on the clever examples of bad code and presented them with my rewrite.


    It's one thing to have somebody criticize your code, it's another to have somebody think it's actually a joke.

    So, what were they expecting? That he would look at the code and say, "Nope, can't find any problems with it."
  • RogerC 2010-09-02 13:57
    Fred:
    pkmnfrk:
    shitty, perl-like php code
    Any code that doesn't look like line noise is for mental weaklings that don't deserve to be writing code in the first place. Give them a GUI and let them drag and drop buttons until they die.

    Anyone who doesn't know what line noise looks like is too young to work in this profession.

    You're not cool unless you've whistled into a modem and had it respond.

    And I bet you've also punched a deck that makes the card reader sing "Mary Had a Little Lamb" while reading it, right?
  • NutDriverLefty 2010-09-02 14:04
    No, but I have written a print job that made the line printer do Beethoven's Fifth. :-)
  • frits 2010-09-02 14:05
    RogerC:
    Fred:
    pkmnfrk:
    shitty, perl-like php code
    Any code that doesn't look like line noise is for mental weaklings that don't deserve to be writing code in the first place. Give them a GUI and let them drag and drop buttons until they die.

    Anyone who doesn't know what line noise looks like is too young to work in this profession.

    You're not cool unless you've whistled into a modem and had it respond.

    And I bet you've also punched a deck that makes the card reader sing "Mary Had a Little Lamb" while reading it, right?


    I heard "Smoke on the Water" will get you more chicks.
  • A 2010-09-02 14:05
    Actually, Yahoo! is an ISP.

    You can get Yahoo! BB service in Japan.
    http://bbpromo.yahoo.co.jp/
  • Peter 2010-09-02 14:11
    Later that day, I just got an e-mail from him thanking me for his time

    I'll bet that made Joshua feel even more confident in the interviewer.
  • acsi 2010-09-02 14:11
    A:
    Actually, Yahoo! is an ISP.

    You can get Yahoo! BB service in Japan.
    http://bbpromo.yahoo.co.jp/

    Are you kidding me? Askimet didn't mark this as spam?
  • Franz Kafka 2010-09-02 14:11
    pkmnfrk:
    Apache is iis, in the sense that it is a service that provides information over the internet. The distinction is in the lower case letters.


    Why do you even bother justifying the cruiter's idiocy? IIS is a specific product, and the generic term is web server.

    /i know, don't feed trolls...
  • paratus 2010-09-02 14:14
    Peter:
    Later that day, I just got an e-mail from him thanking me for his time

    I'll bet that made Joshua feel even more confident in the interviewer.


    Joshua:

    He scribbled something down on his paper mumbling something about how a bank is probably an ISP and added, "have you troubleshot IIS?"

    "Not, but I have maintained several Apache servers."


    What, did he say it just to rhyme?
  • Tyler 2010-09-02 14:22
    Franz Kafka:
    pkmnfrk:
    Apache is iis, in the sense that it is a service that provides information over the internet. The distinction is in the lower case letters.


    Why do you even bother justifying the cruiter's idiocy? IIS is a specific product, and the generic term is web server.

    /i know, don't feed trolls...


    . <--- The joke

    * <--- Your head


    Apache is an "IIS" because it is a server of information on the Internet, just like Google is an "ISP" because it is a provider of services on the Internet.
  • frits 2010-09-02 14:27
    captchaMan:

    Joshua:

    He scribbled something down on his paper mumbling something about how a bank is probably an ISP and added, "have you troubleshot IIS?"

    "Not, but I have maintained several Apache servers."


    What, did he say it just to rhyme?


    He was doing the short form of a "Not" joke. The long form would be:

    "I have troubleshot IIS. Not! But I have maintained several Apache servers."

  • verto 2010-09-02 14:30
    frits:
    captchaMan:

    Joshua:

    He scribbled something down on his paper mumbling something about how a bank is probably an ISP and added, "have you troubleshot IIS?"

    "Not, but I have maintained several Apache servers."


    What, did he say it just to rhyme?


    He was doing the short form of a "Not" joke. The long form would be:

    "I have troubleshot IIS. Not! But I have maintained several Apache servers."


    Dang, you tell that joke almost as good as Borat.
  • danixdefcon5 2010-09-02 14:31
    TFA:
    His closing words were: "you could have had the best, now you'll just have the rest!"

    Am I the only one surprised that a 50-something would actually quote Hackers in a didn't-get-the-job rant?
  • Bill Clinton 2010-09-02 14:31
    Tyler:
    Franz Kafka:
    pkmnfrk:
    Apache is iis, in the sense that it is a service that provides information over the internet. The distinction is in the lower case letters.


    Why do you even bother justifying the cruiter's idiocy? IIS is a specific product, and the generic term is web server.

    /i know, don't feed trolls...


    . <--- The joke

    * <--- Your head


    Apache is an "IIS" because it is a server of information on the Internet, just like Google is an "ISP" because it is a provider of services on the Internet.

    That depends on what your definition of iis is.
  • danixdefcon5 2010-09-02 14:37
    Tyler:
    Franz Kafka:
    pkmnfrk:
    Apache is iis, in the sense that it is a service that provides information over the internet. The distinction is in the lower case letters.


    Why do you even bother justifying the cruiter's idiocy? IIS is a specific product, and the generic term is web server.

    /i know, don't feed trolls...


    . <--- The joke

    * <--- Your head


    Apache is an "IIS" because it is a server of information on the Internet, just like Google is an "ISP" because it is a provider of services on the Internet.

    I would have fun responding that interview, pulling off lines from The Princess Bride:

    Interviewer: We're an ISP, just like Google or Yahoo!
    Me: I don't think that word means what you think it means.
  • frits 2010-09-02 14:49
    verto:
    frits:
    captchaMan:

    Joshua:

    He scribbled something down on his paper mumbling something about how a bank is probably an ISP and added, "have you troubleshot IIS?"

    "Not, but I have maintained several Apache servers."


    What, did he say it just to rhyme?


    He was doing the short form of a "Not" joke. The long form would be:

    "I have troubleshot IIS. Not! But I have maintained several Apache servers."


    Dang, you tell that joke almost as good as Borat.


    Don't you dare accuse me of stealing from Borat when it obvious that I'm ripping off the entire decade of the 80's.
  • uuang 2010-09-02 15:33
    Lets get physical, physical...
  • pkmnfrk 2010-09-02 15:39
    Franz Kafka:
    pkmnfrk:
    Apache is iis, in the sense that it is a service that provides information over the internet. The distinction is in the lower case letters.


    Why do you even bother justifying the cruiter's idiocy? IIS is a specific product, and the generic term is web server.


    Although I was joking, I am unsure if you are.

    Franz Kafka:
    /i know, don't feed trolls...


    Oh shi-
  • Fred 2010-09-02 15:41
    NutDriverLefty:
    No, but I have written a print job that made the line printer do Beethoven's Fifth. :-)
    Back when there were "computer operators" one good way to see if they were awake was to schedule a tight loop of page feeds to the high speed printer at 2:00 AM. You could usually shoot clean through a box of paper before they could run to hit the "online" button.
  • Dade Murphy & Cypress Hill 2010-09-02 15:50
    danixdefcon5:
    TFA:
    His closing words were: "you could have had the best, now you'll just have the rest!"

    Am I the only one surprised that a 50-something would actually quote Hackers in a didn't-get-the-job rant?


    I think "best/rest" quotes are significantly older than Hackers.

    Besides, the actual Hackers quote was "Mess with the best, die like the rest." Not quite the same.

    CAPTCHA: esse -> "Who you tryin' to get crazy with, esse? Don't you know I'm loco?"
  • blakeyrat 2010-09-02 16:06
    wtf:
    Matthew:
    onitake:
    on the other hand, a capable perl coder with zero php experience should be able to grok out at least
    decent php code with a little learning...


    Why? They don't produce decent perl code. Nobody does.


    grok = understand, not produce

    go read some Heinlein, you'll like it.


    They all feature a main character with an uncanny physical resemblance to Heinlein, and who share all his opinions and prejudice, surrounded by gorgeous, intelligent woman half his age and way out of his league.

    The funny thing is he has some great ideas, but the self-insertion/fanfic-level wish fulfillment crap completely distracts me from the rest of the book.
  • Ken B. 2010-09-02 16:20
    Lone Marauder:
    Lone Marauder:

    I usually cut off stuff like this by handing them *my* resume. Had more than one interviewer find it interesting that what I gave the recruiting company is different than what I gave them.
    Gaah, stupid distractions. That should read, "Had more than one interviewer find it interesting that what the recruiting company gave them was different than what I gave them."
    I found your first wording more interesting, as it would mean the interviewer was blaming you for the different versions. :-)

    I hope you explained to the interviewer, in no uncertain terms, that the resume you gave them is identical to the one you gave the recruiter, and that any differences were caused by "editing" by the recruiter.
  • Ken B. 2010-09-02 16:22
    Carl:
    Then they showed me two half pages of code in PHP.
    So...one page?
    Two pages, each half-filled.
  • Troll Army 3 2010-09-02 16:25
    TRWTF is that they had to use two half-filled pages instead of a single full page.
  • Ken B. 2010-09-02 16:27
    frits:
    Me, to my Ex:

    "you could have had the best, now you'll just have the rest!"
    Yep.
    I guess he worked in a pizzeria for a while?
  • sholdowa 2010-09-02 16:37
    wtf:

    grok = understand, not produce

    go read some Heinlein, you'll like it.


    Grok = drink, not understand

    go read some Heinlein, you'll like it.
  • gravis 2010-09-02 16:43
    sholdowa:
    wtf:

    grok = understand, not produce

    go read some Heinlein, you'll like it.


    Grok = drink, not understand

    go grok some Heineken, you'll like it.

    FTFY
  • NutDriverLefty 2010-09-02 16:56
    Fred:
    You could usually shoot clean through a box of paper before they could run to hit the "online" button.


    Uh-huh. It's amazing how high in the air the tail end goes when it's thrown by a 1200 line-per-minute printer, too.
  • lolwtf 2010-09-02 16:56
    Of course Google is an ISP. They provide an Internet service.
  • AndyC 2010-09-02 17:15
    No they provide an Internet. I've got the google internet in my computer.
  • Stevie D 2010-09-02 17:20
    AndyC:
    No they provide an Internet. I've got the google internet in my computer.

    What are you using Google internet for? Firefox is a much better ISP...
  • Anon 2010-09-02 17:21
    illum:
    Anon:
    boog:
    TFA:
    When they came back, I complimented them on the clever examples of bad code and presented them with my rewrite. One of interviewers — the chattier of the two — didn't say another word; he was clearly upset, and I was half-concerned it might get physical.

    If it'd been my code, I'd have asked him to not only show his rewrite, but explain what's wrong with the existing code and why his code is better. If he could justify his remarks, I'd hire him and try to learn from my own mistakes. If he couldn't, I'd have told him why he was mistaken, thanked him for his time, and hoped the next candidate was better.

    Programmers shouldn't take criticism over code so personal. Code is not art. It's not something that you pour your soul into. It's just code. As long as it gets the job done and other programmers can maintain it, it doesn't matter who "likes" it.


    Agreed, but I think this was the bit that did it:

    I complimented them on the clever examples of bad code and presented them with my rewrite.


    It's one thing to have somebody criticize your code, it's another to have somebody think it's actually a joke.

    So, what were they expecting? That he would look at the code and say, "Nope, can't find any problems with it."


    Ha, ha, ha. That's funny. Where'd you find such a shitty post? Did that come from a brain-dead weasel? Did you get it from one of those trolling sites on the internet? Well done.

    See, big difference between that and me pointing out your mistake of not realizing that there is a vast gulf between "Nope, can't find any problems" and "Is this a joke?". They, presumably, expecting him to find a few places to make improvements and make a couple of suggestions. They weren't expecting him to laugh at it.
    Now, the fact that he laughed at it, probably means it was bad enough to be laughed at, but that's not the point. I'm not defending their shitty code. I'm saying their reaction is not surprising, and while it's easy to say that you welcome criticism and would take it as an opportunity to learn, I'm sure about 95% of people wouldn't be so ready to learn after being laughed at.
  • PinkyAndTheBrainFan187 2010-09-02 18:12
    I haven't got time to wade through all the bullshit today, so sorry if this has already been said.

    TRWTF is that he ignored the e-mail. If some clueless "Technical Recruiter", who thought Google was an ISP, was "fixing up" my CV and shopping it all over town I would want to tell him in the strongest possible terms to cease-and-fucking-desist and delete it from his "server". He obviously doesn't care about his reputation.

  • boog 2010-09-02 18:22
    Anon:
    illum:
    So, what were they expecting? That he would look at the code and say, "Nope, can't find any problems with it."


    Ha, ha, ha. That's funny. Where'd you find such a shitty post? Did that come from a brain-dead weasel? Did you get it from one of those trolling sites on the internet? Well done.

    See, big difference between that and me pointing out your mistake of not realizing that there is a vast gulf between "Nope, can't find any problems" and "Is this a joke?". They, presumably, expecting him to find a few places to make improvements and make a couple of suggestions. They weren't expecting him to laugh at it.
    Now, the fact that he laughed at it, probably means it was bad enough to be laughed at, but that's not the point. I'm not defending their shitty code. I'm saying their reaction is not surprising, and while it's easy to say that you welcome criticism and would take it as an opportunity to learn, I'm sure about 95% of people wouldn't be so ready to learn after being laughed at.

    True, being laughed at might push me into the realm of the disgruntled, though to be fair that may be exaggerating what TFA said happened. Either way, I'd say I have to agree that their reaction wasn't surprising.

    Nevertheless, I see the missed chance at a useful discussion there. Assuming they got past the "this-code-is-a-joke" awkwardness, discussing their code and his rewrite would not only give them a good idea of the type of developer he is, but he would get a good idea of the type of company/developers they are. I think this type of discussion is something that so many interviews miss out on, many times resulting in a job offer to a lesser candidate.
  • Dreadwolf's Jockstrap 2010-09-02 18:29
    boog:
    TFA:
    When they came back, I complimented them on the clever examples of bad code and presented them with my rewrite. One of interviewers — the chattier of the two — didn't say another word; he was clearly upset, and I was half-concerned it might get physical.

    If it'd been my code, I'd have asked him to not only show his rewrite, but explain what's wrong with the existing code and why his code is better. If he could justify his remarks, I'd hire him and try to learn from my own mistakes. If he couldn't, I'd have told him why he was mistaken, thanked him for his time, and hoped the next candidate was better.

    Programmers shouldn't take criticism over code so personal. Code is not art. It's not something that you pour your soul into. It's just code. As long as it gets the job done and other programmers can maintain it, it doesn't matter who "likes" it.


    Valid and reasonable argument, but as a corollary...a certain degree of pride is perfectly acceptable, nay, required to be a great programmer. Paraphrasing the jargon file (I think), hubris makes you write the best code you possibly can, precisely to avoid situations like this, where someone else looks at your code and says "Is this a joke? What were you smoking?". Taking ownership of, and pride in, "your" code prevents you from writing hacky shit and throwing it over the wall. Your pride should of course, as you point out, be tempered with the humility to realise that you are not perfect.

    TRWTF is academics getting all prissy because, in practice, theory is not the same as practice. Spend too long coddled by university walls and you believe your own hype. Every one of us, to a man, will or will have looked back on code we wrote fresh out of university and be overwhelmed with shame. To. A. Man. (Even the women)
  • vt_mruhlin 2010-09-02 19:11
    For the third one, would it be considered "too" bad to go ahead and give the guy the references, then when the client calls you, tell them what a moron their recruiter is?
  • boog 2010-09-02 19:50
    Dreadwolf's Jockstrap:
    Valid and reasonable argument, but as a corollary...a certain degree of pride is perfectly acceptable, nay, required to be a great programmer. Paraphrasing the jargon file (I think), hubris makes you write the best code you possibly can, precisely to avoid situations like this, where someone else looks at your code and says "Is this a joke? What were you smoking?". Taking ownership of, and pride in, "your" code prevents you from writing hacky shit and throwing it over the wall. Your pride should of course, as you point out, be tempered with the humility to realise that you are not perfect.

    TRWTF is academics getting all prissy because, in practice, theory is not the same as practice. Spend too long coddled by university walls and you believe your own hype. Every one of us, to a man, will or will have looked back on code we wrote fresh out of university and be overwhelmed with shame. To. A. Man. (Even the women)

    Well said. Short side note, IIRC it was Larry Wall who said hubris, laziness, and impatience were 3 virtues of a good programmer.

    Anyway, to clarify, I never meant to imply that one cannot have pride in their code. Rather, my pride in my work would push me to question the applicant's mockery, rather than get grumpy about it (well, maybe a little grumpy, depending on his choice of words). If he calls my code lousy, then offers up a worse solution as a rewrite, and in explaining it all demonstrates a total lack of understanding of the original code and programming in general, then the joke's on him.

    "Is this a joke? What were you smoking?"

    Crack! But what does that have to do with my code?
  • MarkJ 2010-09-02 20:33
    Fred:
    NutDriverLefty:
    No, but I have written a print job that made the line printer do Beethoven's Fifth. :-)
    Back when there were "computer operators" one good way to see if they were awake was to schedule a tight loop of page feeds to the high speed printer at 2:00 AM. You could usually shoot clean through a box of paper before they could run to hit the "online" button.

    Sure you could do that. You just couldn't expect to have any magnetic tapes mounted drives again. Ever.
    And no, I don't miss magtapes!
  • Brendan 2010-09-02 20:38
    Troll Army 3:
    TRWTF is that they had to use two half-filled pages instead of a single full page.


    TRWTF is that you would've used an entire sheet of paper, rather than half a sheet.

    {Completed reading side A. Please remove the disk and turn it over so I can continue reading side B...}
  • Brent 2010-09-02 20:40
    Stevie D:
    AndyC:
    No they provide an Internet. I've got the google internet in my computer.

    What are you using Google internet for? Firefox is a much better ISP...


    Don't be silly... Firefox is an IIS.
  • MarkJ 2010-09-02 20:41
    PinkyAndTheBrainFan187:
    I haven't got time to wade through all the bullshit today, so sorry if this has already been said.

    TRWTF is that he ignored the e-mail. If some clueless "Technical Recruiter", who thought Google was an ISP, was "fixing up" my CV and shopping it all over town I would want to tell him in the strongest possible terms to cease-and-fucking-desist and delete it from his "server". He obviously doesn't care about his reputation.


    It may take a court order to get some of these turkeys to desist. Too many recruiters write fiction for a living. Unfortunate, since it gives the few good ones a black eye...
  • foxyshadis 2010-09-02 22:13
    MarkJ:
    Fred:
    NutDriverLefty:
    No, but I have written a print job that made the line printer do Beethoven's Fifth. :-)
    Back when there were "computer operators" one good way to see if they were awake was to schedule a tight loop of page feeds to the high speed printer at 2:00 AM. You could usually shoot clean through a box of paper before they could run to hit the "online" button.

    Sure you could do that. You just couldn't expect to have any magnetic tapes mounted drives again. Ever.
    And no, I don't miss magtapes!

    I wonder how hard it really was to spin the drives around fast enough to either rip them off of their posts, rip the tape in two, or set the entire tape machine a'rockin'. Would have loved to see it.
  • hoodaticus 2010-09-02 22:23
    I can't stand recruiters who don't know enough to do their job. But then, for a tech recruiter, the amount of knowledge required would merit a quarter-million base salary, and due to unpredictability of candidate success on the job, would yield an insufficient return on investment anyway.

    It is therefore Adam Smith's creepy, invisible hand that causes technical recruiters to be ignorant and development staffs to be cursed with nincompoops whose aggressive stupidity compounds ignorance with arrogance.

    Indeed, it is capitalism that causes the WTF.
  • Cale 2010-09-02 22:35
    MarkJ:
    It may take a court order to get some of these turkeys to desist. Too many recruiters write fiction for a living. Unfortunate, since it gives the few good ones a black eye...
    Strangely enough, I feel more like giving bad recruiters a black eye ...
  • M-x post-comment 2010-09-02 23:47
    boog:
    ... it was Larry Wall who said hubris, laziness, and impatience were 3 virtues of a good programmer.


    However it's not possible to be a good PERL programmer.
  • RancidBeans 2010-09-03 00:04
    Why be safe? The interviewer handed out the code and basically said "do your worst on this". He should be prepared for any ensuing flames, or not be part of the interview.
  • Herby 2010-09-03 03:44
    Fred:

    You're not cool unless you've whistled into a modem and had it respond.

    Been there, done that. On a genuine Bell 103 modem in fact!
  • piskvorr 2010-09-03 03:48
    "an older gentleMEN" - oh God, they're multiplying!

    (also, "The The Daily WTF Interview"?)
  • ohrly? 2010-09-03 05:33
    danixdefcon5:
    TFA:
    His closing words were: "you could have had the best, now you'll just have the rest!"

    Am I the only one surprised that a 50-something would actually quote Hackers in a didn't-get-the-job rant?


    Really? Do you not mean: 'Mess with the best, die like the rest'? Has the words 'best' and 'rest' other than that I don't make your connection....
  • anon 2010-09-03 07:06
    "you could have had the best, now you'll just have the rest!"

    Dedication's what you need.

    www.bbc.co.uk/cult/classic/titles/recordbreakers.shtml
  • Kuba 2010-09-03 09:16
    Julia:
    And it's not just technical stuff they fake. I had the joys of meeting such an agency once. Told them that as a relatively new mother I wasn't going to relocate or stay away from home. They doctored the resume to tell the victim company I was fine for a contract that involved alternating 3-month periods between UK and Saudi Arabia...
    Julia, you made my day. I have to tell this to my wife. She's expecting our second one.
  • Proud Papa 2010-09-03 10:12
    boog:
    flyboyfred:
    You're right, but we're not machines either. It hurts to be corrected and to have your code be called a great example of bad code. Let's hope they learned something from it.

    Point taken. I suppose his wording could have been more tactful.

    Still, I'd have laughed and said, "really? what's so bad about it?" instead of getting all moody. But I suppose every developer is different.

    Would you chuckle "I don't think she's that bad!" if I crack wise about your amazingly ugly baby?

    Let's face it, it's a pretty rare (and probably marginally defective) human being that doesn't get defensive about the masterpiece of their craft or the fruit of their loins.
  • Kensey 2010-09-03 10:47
    I have very little good to say about third-party recruiters. In my experience they're either liars to all parties, lazy, or useless.

    Lately though I've been noticing a new twist -- job postings for direct hires that bear little relation to the actual job. E.g. for my last job search I was looking specifically for a VMware-ish admin position (having just gotten my VCP). So I searched for "vmware and linux" on Monster. I interviewed at about a half-dozen places and almost none of them had both VMware and Linux in their actual environments (I think one did) -- several had neither one!

    I think a lot of companies are (or were) looking at the rotten economy as a chance to pick up skilled staff at a bargain.

    I eventually ended up with a job after a friend fed my resume into his employer's system and an internal recruiter there called me out of the blue offering a Linux admin position.
  • Indrora 2010-09-03 11:02
    i've always wanted to use this line:

    You are promoted to your highest level of incompetence.

    obviously, this guy knew nothing about technology, at least on a high level and was asked to interview it.
  • boog 2010-09-03 11:03
    Proud Papa:
    boog:
    flyboyfred:
    You're right, but we're not machines either. It hurts to be corrected and to have your code be called a great example of bad code. Let's hope they learned something from it.

    Point taken. I suppose his wording could have been more tactful.

    Still, I'd have laughed and said, "really? what's so bad about it?" instead of getting all moody. But I suppose every developer is different.

    Would you chuckle "I don't think she's that bad!" if I crack wise about your amazingly ugly baby?

    Let's face it, it's a pretty rare (and probably marginally defective) human being that doesn't get defensive about the masterpiece of their craft or the fruit of their loins.

    So it's bad enough that these "code poets" treat their code like art, but now we're comparing it to our offspring?

    Code is code. It is not a "masterpiece"; it is a set of instructions to carry out a task. Maybe the finished product can be a masterpiece, but not the code itself.

    Code is also not the fruit of your loins, unless of course, you type it with your loins.
  • Chopper 2010-09-03 11:29
    Julia:
    He also said that he'd taken the liberty of rewriting my resume to include a couple of things about my experience troubleshooting IIS...


    ...which is a sure-fire way to plenty of timewasting interviews where every answer meets the riposte "but your resume says you're an expert with (insert WTFware here)".

    And it's not just technical stuff they fake. I had the joys of meeting such an agency once. Told them that as a relatively new mother I wasn't going to relocate or stay away from home. They doctored the resume to tell the victim company I was fine for a contract that involved alternating 3-month periods between UK and Saudi Arabia...


    Sometimes it works out okay. Some time ago my boss called in a candidate who was an expert in the "Transputer Layer Interface", just to find out what that meant. What it meant was that his agency had decided to rewrite his CV a bit ("Transputer" was a buzzword, once upon a time). As it turned out, he got the job and was very good at it (hi Neil :-)
  • whiskeyjack 2010-09-03 12:11
    boog:


    Code is also not the fruit of your loins, unless of course, you type it with your loins.


    A new kind of hunt and peck typing!
  • OSI Layer "Routing" 2010-09-03 13:40
    While that guy may have known the names of the OSI layers he sure as shit doesn't know what they do. Might want to stay on the development side of things.
  • Mordred 2010-09-03 13:53
    I was going to say, ive seen this interview dozens of times...it must be new to him. You have to treat head hunters like mud puppies. Brow beat them every chance you get because they truly are the dumbest people on earth.
  • Ben 2010-09-03 14:04
    I was certain that they had set me up with a TDWTF-style interview, where they'd pick out a fun code WTF (actually, it looked like this one) and have me turn a convoluted two-page mess into a two lines of code.


    And I imagine, in true TDWTF tradition, you made it marginally shorter, introduced a slew of new bugs, and translated it into the wrong language.
  • Amerrickangirl 2010-09-03 14:56
    Ah, recruiters.

    I walked out on them once.

    A recruiter insisted that he needed to meet me in person before referring me to any of their clients, so I drove 40 miles one way to be at his office by 9 am.

    I was on time. He was nowhere to be found. They stuck me in a little waiting room and I sat there for a while.

    After about 20 minutes I popped my head into the front office and asked if they had any idea what was going on. Someone finally got around to trying the recruiter's cell phone, which worked perfectly. Apparently he was stuck in traffic.

    He hadn't bothered to call in to the office to have someone inform his 9:00 appointment that he'd be late, but would I mind waiting another 45 minutes or so until he got in?

    Yes, I minded. Had he just made the effort to contact me I would have stayed, but I didn't need the job that badly, so I walked out and drove the 40 miles back home. Waste of a morning.
  • SuperousOxide 2010-09-03 15:01
    danixdefcon5:
    TFA:
    His closing words were: "you could have had the best, now you'll just have the rest!"

    Am I the only one surprised that a 50-something would actually quote Hackers in a didn't-get-the-job rant?


    I thought he was quoting pizza boxes.
  • Paul 2010-09-03 15:03
    On the storm out, I can honestly say I feel that tech recruiters are nothing but spineless leaches. GET A REAL FUCKING JOB!
  • 10PRINT"I am skill"20 GOTO 10 2010-09-03 15:17
    Now that the western world is in recession and IT jobs are fewer, the latest trend I've noticed from recruiters is to ring you up to "go through your CV" when want they really want is to find out which companies you've had interviews with recently so they can pester them with offers to undercut their rivals. Best advice here is to say "nope. I've had no interviews recently" and get them off the phone A.S.A.P.
  • nobody 2010-09-03 17:28
    [quote user="onitake"]and of course, the wtf here is going from perl to php. :)

    on the other hand, a capable perl coder with zero php experience should be able to grok out at least shitty, perl-like php code with a little learning...[/quote]

    FTFY.[/quote]
    You have no idea how correct you are. Sadly, I speak from experience correcting said per-like code.
  • woopass 2010-09-03 19:35
    Lone Marauder:
    Julia:

    ...which is a sure-fire way to plenty of timewasting interviews where every answer meets the riposte "but your resume says you're an expert with (insert WTFware here)".

    And it's not just technical stuff they fake. I had the joys of meeting such an agency once. Told them that as a relatively new mother I wasn't going to relocate or stay away from home. They doctored the resume to tell the victim company I was fine for a contract that involved alternating 3-month periods between UK and Saudi Arabia...


    I usually cut off stuff like this by handing them *my* resume. Had more than one interviewer find it interesting that what I gave the recruiting company is different than what I gave them.

    It honestly makes me wonder how people like that stay in business. Honestly, if I found out that a recruiter was falsifying applicant data just to put people in front of me, I would no longer use the lying sack of crap.


    Recruiters are like estate agents: they ALL lie.
  • YeOldeOperator 2010-09-03 23:14
    Back when I was a computer operator, events like that would eventually annoy us so we'd let the job run until it hit its maximum print lines (which most people would leave at the JCL default of "more than you could possibly ever need"). We'd then get the handcart and place the printout on the person's desk. On their *entire* desk, each stack all the way to the ceiling.

    Later in the day we'd have their manager trying to convince us to take back the blank paper. Sadly, we could not take it back without someone (perhaps the very programmer who wasn't doing any work because of their "desk access issues") inspecting every page to assure us that there was no confidential information printed in the middle of the job :-)

    Some managers would be clever, and offer to walk us through the code that produced the job (deletion on MVS being even less effective than deletion on MS-DOS). After a few minutes of "we operator, too dumb to read code", we'd suddenly "get it" and ask what else the code did besides eject pages. Leaving the manager mumbling and leaving to "chat" with his programmer.

    Later, we got an upgraded job accounting system. Which was nice because the default job print limit matched the default weekly print limit. So one infinite loop and no more output for the rest of the week. So programmers would need to confess to the systems team as well as to the operators. Which would naturally do nothing but increase Systems' contempt for Applications.
  • alister 2010-09-04 12:49
    Julia:
    He also said that he'd taken the liberty of rewriting my resume to include a couple of things about my experience troubleshooting IIS...


    ...which is a sure-fire way to plenty of timewasting interviews where every answer meets the riposte "but your resume says you're an expert with (insert WTFware here)".

    And it's not just technical stuff they fake. I had the joys of meeting such an agency once. Told them that as a relatively new mother I wasn't going to relocate or stay away from home. They doctored the resume to tell the victim company I was fine for a contract that involved alternating 3-month periods between UK and Saudi Arabia...


    Or in my case turned netware admin + Unix familiarity into 3 years of UNIX Admin - lets just say I told them NOT to submit my CV.

    The issue is that not only does it annoy the hiring company and potentially waste both hirer's and seeker's time at interview, it can screw you up if you are going for a job with the company later, as one CV says X but new one says Y, which is correct? It is easier for the company just to reject you.
  • IsRetro 2010-09-04 17:17
    boog:

    Code is not art. It's not something that you pour your soul into. It's just code. As long as it gets the job done and other programmers can maintain it, it doesn't matter who "likes" it.


    I beg to differ. Code *is* art - art that you *should* pour your soul into. You have to love it, and you shouldn't consider a particular code snippet done until it has matured into a state where you can love it with all of your heart.

    Mind you, I'm not saying you should act like these dicks/divas when someone explains what's wrong, and what's WRONG, and what's so wrong it's not even WRONG, with your code.

    I'm just saying that you can only create elegant, sleek, sexy code if you put your heart and soul in it. Note: That's a necessary condition, not a sufficient one. Heart and soul are not a suitable replacement for skills.
  • IsRetro 2010-09-04 17:42
    Fred:
    NutDriverLefty:
    No, but I have written a print job that made the line printer do Beethoven's Fifth. :-)
    Back when there were "computer operators" one good way to see if they were awake was to schedule a tight loop of page feeds to the high speed printer at 2:00 AM. You could usually shoot clean through a box of paper before they could run to hit the "online" button.

    So you're the bastard that made the original UNIX coders add the lp0 on fire error code.

    Lads, we found him! Bring on the torches and pitchforks! Empty the chad boxes over him and set him on fire!
  • fish2kill 2010-09-05 08:44
    He didn't burn any bridges - the bridge was already in the water. If you insist on using trite metaphors, what he really did was catapult a load of crap back onto their side of the river. Reminds me of my father-in-law's explanation of the dynamics of a lawsuit: It's just a formalized pissing contest. The unwritten rule of the game is that if they piss you off, they win; if you piss them off, YOU win. (He was a senior patent counsel for an aerospace giant). It's clear that the candidate won this contest.

    Similarly, once when I worked as a contract engineer for a small tech firm in RT128/Boston area, I returned from lunch and parked my car nose-in against the narrow landscaped area by the front door, in an open, unmarked, and unreserved space. Four hours later, I went to leave and found my car blocked from behind by another car that was also blocking the traffic lane of the industrial park. I found the receptionist and told her that some clown had parked me in. She looked out the window and then informed me that it was the CEO's car, I had inadvertently taken his space, and that he was in a meeting and couldn't be interrupted. I responded by saying that was OK, my big old American car was perfectly capable of moving that little Porsche, no need to bother the boss. About a minute later, the big man came out, fired me, and moved his car.

    Guess I really burned my bridges when I went out and had a sign made, and planted it in the lawn in front of his parking space about a week later: "RESERVED FOR CLOWN".
  • yername 2010-09-05 11:33
    gravis:
    sholdowa:

    Grog = drink, not understand

    go for some grog and Heineken, you'll like it.

    FTFY

    FTFY
  • Welsh 2010-09-05 19:41
    Fred:
    Any code that doesn't look like line noise is for mental weaklings that don't deserve to be writing code in the first place. Give them a GUI and let them drag and drop buttons until they die.

    Anyone who doesn't know what line noise looks like is too young to work in this profession.

    You're not cool unless you've whistled into a modem and had it respond.


    Let me guess, you no longer hear the modem, All you see now is blonde, brunette, redhead.
  • Jon H 2010-09-06 07:29
    > The TDWTF Interview (from Christian Riesen)
    ...
    > In addition, everyone used whatever the hell they wanted to
    > code on whatever operating system they wanted: Windows,
    > Linux, Mac OSX and one even swore on FreeBSD.

    You consider this as bad? This is of course a good thing for several reasons, like (1) It enhances robustness and (2) it makes the programmers more productive.

    /Jon
  • Anonymous 2010-09-06 09:08
    Jon H:
    > The TDWTF Interview (from Christian Riesen)
    ...
    > In addition, everyone used whatever the hell they wanted to
    > code on whatever operating system they wanted: Windows,
    > Linux, Mac OSX and one even swore on FreeBSD.

    You consider this as bad? This is of course a good thing for several reasons, like (1) It enhances robustness and (2) it makes the programmers more productive.
    /Jon

    Yeah, right - having a completely inconsistent IT architecture makes people WAY more productive. When you live in Opposite World.
  • Erm 2010-09-06 09:08
    Dreadwolf's Jockstrap:
    Every one of us, to a man, will or will have looked back on code we wrote fresh out of university and be overwhelmed with shame. To. A. Man. (Even the women)


    Not I. Sure, I churned out awful, rancid, amateurish code back then. Sure, I look back and laugh at it now. I'm just not ashamed of it. I'd be ashamed to churn it out now, but I wouldn't, so what's to be ashamed of?
  • Pretentious? Moi? 2010-09-06 09:15
    IsRetro:
    boog:

    Code is not art. It's not something that you pour your soul into. It's just code. As long as it gets the job done and other programmers can maintain it, it doesn't matter who "likes" it.


    I beg to differ. Code *is* art - art that you *should* pour your soul into. You have to love it, and you shouldn't consider a particular code snippet done until it has matured into a state where you can love it with all of your heart.

    Mind you, I'm not saying you should act like these dicks/divas when someone explains what's wrong, and what's WRONG, and what's so wrong it's not even WRONG, with your code.

    I'm just saying that you can only create elegant, sleek, sexy code if you put your heart and soul in it. Note: That's a necessary condition, not a sufficient one. Heart and soul are not a suitable replacement for skills.


    You represent almost everything that's wrong with software development. It's not art, at all. I pity you.
  • Jon H 2010-09-06 09:19
    Anonymous:

    Yeah, right - having a completely inconsistent IT architecture makes people WAY more productive. When you live in Opposite World.


    We are talking about development, not production environment. Do you and your fellow developers wear the same clothes, drive the same car model and so on?

    If your choice of language and architecture framework are so fragile that you need to use the same tools all over, I consider the risk is your choice of framework.
  • Anonymous 2010-09-06 09:33
    Jon H:
    Anonymous:

    Yeah, right - having a completely inconsistent IT architecture makes people WAY more productive. When you live in Opposite World.


    We are talking about development, not production environment. Do you and your fellow developers wear the same clothes, drive the same car model and so on?

    Clothes and cars have nothing to do with software development so your analogy is non-sensical in the extreme. We don't drive the same cars but you know what - we DO use the same development tools running on the same O/S running on the same hardware as each other. Because, unlike cars, those things are actually relevant to software development.

    Trying to rebut a valid comment with a totally unrelated analogy is the sort of thing they'd try to pull in Opposite World. But you've already made it perfectly clear that's your permanent place of residence.
  • Jon H 2010-09-06 10:26
    Anonymous:
    Jon H:
    Anonymous:

    Yeah, right - having a completely inconsistent IT architecture makes people WAY more productive. When you live in Opposite World.


    We are talking about development, not production environment. Do you and your fellow developers wear the same clothes, drive the same car model and so on?

    Clothes and cars have nothing to do with software development so your analogy is non-sensical in the extreme. We don't drive the same cars but you know what - we DO use the same development tools running on the same O/S running on the same hardware as each other. Because, unlike cars, those things are actually relevant to software development.

    Trying to rebut a valid comment with a totally unrelated analogy is the sort of thing they'd try to pull in Opposite World. But you've already made it perfectly clear that's your permanent place of residence.


    I give up. You only ridiculed my metaphore, not my point.
    WTF
  • Erm 2010-09-06 12:10
    Anonymous:
    Jon H:
    > The TDWTF Interview (from Christian Riesen)
    ...
    > In addition, everyone used whatever the hell they wanted to
    > code on whatever operating system they wanted: Windows,
    > Linux, Mac OSX and one even swore on FreeBSD.

    You consider this as bad? This is of course a good thing for several reasons, like (1) It enhances robustness and (2) it makes the programmers more productive.
    /Jon

    Yeah, right - having a completely inconsistent IT architecture makes people WAY more productive. When you live in Opposite World.


    It can do. In what way does, for example, forcing me to develop on Windows when I am much more productive with a bunch of Bash sessions on the go, help? Inb4 "use Cygwin" it's a poor substitute, and I still have to pick up a mouse to open another session.
  • Anonymous 2010-09-07 05:37
    Jon H:
    Anonymous:
    Jon H:
    Anonymous:

    Yeah, right - having a completely inconsistent IT architecture makes people WAY more productive. When you live in Opposite World.


    We are talking about development, not production environment. Do you and your fellow developers wear the same clothes, drive the same car model and so on?

    Clothes and cars have nothing to do with software development so your analogy is non-sensical in the extreme. We don't drive the same cars but you know what - we DO use the same development tools running on the same O/S running on the same hardware as each other. Because, unlike cars, those things are actually relevant to software development.

    Trying to rebut a valid comment with a totally unrelated analogy is the sort of thing they'd try to pull in Opposite World. But you've already made it perfectly clear that's your permanent place of residence.


    I give up.

    Giving up is merely carrying on when you live in Opposite World.
  • itsmo 2010-09-07 07:29
    Paul:
    On the storm out, I can honestly say I feel that tech recruiters are nothing but spineless leeches . GET A REAL FUCKING JOB!

    FTFY (no other changes required however)
  • boog 2010-09-07 10:55
    IsRetro:
    I beg to differ. Code *is* art - art that you *should* pour your soul into. You have to love it, and you shouldn't consider a particular code snippet done until it has matured into a state where you can love it with all of your heart.

    Mind you, I'm not saying you should act like these dicks/divas when someone explains what's wrong, and what's WRONG, and what's so wrong it's not even WRONG, with your code.

    I'm just saying that you can only create elegant, sleek, sexy code if you put your heart and soul in it. Note: That's a necessary condition, not a sufficient one. Heart and soul are not a suitable replacement for skills.

    I'll buy that it's important to love what you do, that you can only really do something well when you love doing it, and I'll even accept that people can love the code they write. That doesn't make it art.

    If I asked two separate artists to each paint an apple sitting on a wooden table, I would end up with two paintings of an apple, but they would be two very different paintings using different techniques, colors, styles, etc. The artists express themselves through their paintings, and there are many "right" ways to do it.

    However, if I asked two quality programmers to each write code that implements a given algorithm with given requirements, given parameters, in a given language, their code is probably going to look a lot alike. It's harder for programmers to really express themselves through their code and, as a customer, I would rather they didn't, lest I end up with code that does not integrate into my design/application. There are very few "right" ways to do it.
  • Jay 2010-09-07 12:49
    boog:
    IsRetro:
    I beg to differ. Code *is* art - art that you *should* pour your soul into. You have to love it, and you shouldn't consider a particular code snippet done until it has matured into a state where you can love it with all of your heart.

    Mind you, I'm not saying you should act like these dicks/divas when someone explains what's wrong, and what's WRONG, and what's so wrong it's not even WRONG, with your code.

    I'm just saying that you can only create elegant, sleek, sexy code if you put your heart and soul in it. Note: That's a necessary condition, not a sufficient one. Heart and soul are not a suitable replacement for skills.

    I'll buy that it's important to love what you do, that you can only really do something well when you love doing it, and I'll even accept that people can love the code they write. That doesn't make it art.

    If I asked two separate artists to each paint an apple sitting on a wooden table, I would end up with two paintings of an apple, but they would be two very different paintings using different techniques, colors, styles, etc. The artists express themselves through their paintings, and there are many "right" ways to do it.

    However, if I asked two quality programmers to each write code that implements a given algorithm with given requirements, given parameters, in a given language, their code is probably going to look a lot alike. It's harder for programmers to really express themselves through their code and, as a customer, I would rather they didn't, lest I end up with code that does not integrate into my design/application. There are very few "right" ways to do it.


    Hmm. If I asked two artists to paint a realistic picture of an apple sitting on a wooden table (presumably in preparation for being photographed with a digital camera and then scanned in, but that's another story ...) I would expect the results to show significant differences in style, but also to show obvious similarities, like both would show a roundish-looking fruit with a stem, probably red or green, and there would be wood grain visible beneath, etc.

    If I asked two programmers to write code to implement, say, updating a customer name-and-address database, I would expect the results to show significant differences in style, but also to show similarities, like both would include data entry fields for "name" and "address", etc, some sort of "save" button, etc.

    If I gave the programmers more detailed specs, I'd expect the code to be more similar. If I gave the artists more detailed specs -- like if we are talking about commercial art for an advertising campaign and not just "be creative" -- I'd expect their results to be more similar.

    Sounds to me like the two cases are very much alike. Code is a lot like art.

    We could, I suppose debate the definition of "art". I think of programming more as a "craft" than an "art form". That is, I think a programmer is like a carpenter who makes custom furniture or an engineer who designs machines to fulfill a specific purpose.
  • Jay 2010-09-07 13:01
    It's amusing that this compilation of stories includes at least three examples of "what do you expect to accomplish by doing that?"

    1. Sending a "you could have had the best" email. As someone earlier noted, do you expect the person who made the hiring decision to read that and say, "Zounds, he's right! Cancel the offer to the second guy and let's do whatever it takes to hire this guy!" Surely that's just not going to happen. It's difficult to imagine anything positive good coming out of such an email. And there's an obvious negative: You make yourself look like a childish, spoiled brat. Perhaps next year the company would be looking to fill another position and they would have remembered you and given you a call. Perhaps one of the people involved in interviewing you will move to another company that is looking to hire someone and will remember you. Etc. I've had a number of times in this business where someone I worked with at one company turned up again at another company I worked for later. I once had a case where I was working for company A, left there to work for company B, and then some time later company B bought out company A. If I had left A with all sorts of nasty comments about how stupid they all were, it could have been very embarrassing. Especially if someone from company A whom I had insulted had ended up as a coworker on a project ... or as my boss.

    2. "Review this code." So they give the guy an example of production code that they think is very good and that they're very proud of and ask him to review it. If he makes any criticism, their feelings are hurt and they get defensive. If he makes no criticism but declares it to be great code, then they've learned nothing about his abilities. What a pointless exercise. If I was going to conduct such an interview exercise, I'd give the person a sample of code that included some deliberate bugs and bad practices of varying degrees of subtlety, and see how many he finds.

    3. Storming out of the interview. Pretty much the same story as #1. Maybe it makes you feel good, but you gain nothing. Who cares if the recruiter is an idiot. You're not hiring the recruiter or even considering going to work for the recruiter, you're trying to use him to find a job elsewhere. If I'm on my way to a job interview and a traffic light along the way malfunctions, I don't turn down the job because there was a bad traffic light on the road to the company's headquarters. I probably just put up with it and work around it.
  • Franz Kafka 2010-09-07 13:20
    Jon H:
    Anonymous:
    Jon H:
    Anonymous:

    Yeah, right - having a completely inconsistent IT architecture makes people WAY more productive. When you live in Opposite World.


    We are talking about development, not production environment. Do you and your fellow developers wear the same clothes, drive the same car model and so on?

    Clothes and cars have nothing to do with software development so your analogy is non-sensical in the extreme. We don't drive the same cars but you know what - we DO use the same development tools running on the same O/S running on the same hardware as each other. Because, unlike cars, those things are actually relevant to software development.

    Trying to rebut a valid comment with a totally unrelated analogy is the sort of thing they'd try to pull in Opposite World. But you've already made it perfectly clear that's your permanent place of residence.


    I give up. You only ridiculed my metaphore, not my point.
    WTF


    Fine, I'll call you out: you're an idiot. If we all have different development environments, then how am I going to confirm a bug is in the code and not some difference to do with the environment? How do I know when it's fixed? How much time do I spend debugging the environments vs. actual work? When it comes time to make a new one, how much time will it take?

    Jay:

    3. Storming out of the interview. Pretty much the same story as #1. Maybe it makes you feel good, but you gain nothing. Who cares if the recruiter is an idiot. You're not hiring the recruiter or even considering going to work for the recruiter, you're trying to use him to find a job elsewhere. If I'm on my way to a job interview and a traffic light along the way malfunctions, I don't turn down the job because there was a bad traffic light on the road to the company's headquarters. I probably just put up with it and work around it.


    I agree with the guy in #3, although I would be very specific about him not submitting me anywhere - this recruiter is a walking disaster and I don't want any on me.
  • Lego 2010-09-07 13:33
    Jay:
    boog:
    IsRetro:
    I beg to differ. Code *is* art - art that you *should* pour your soul into. You have to love it, and you shouldn't consider a particular code snippet done until it has matured into a state where you can love it with all of your heart.

    Mind you, I'm not saying you should act like these dicks/divas when someone explains what's wrong, and what's WRONG, and what's so wrong it's not even WRONG, with your code.

    I'm just saying that you can only create elegant, sleek, sexy code if you put your heart and soul in it. Note: That's a necessary condition, not a sufficient one. Heart and soul are not a suitable replacement for skills.

    I'll buy that it's important to love what you do, that you can only really do something well when you love doing it, and I'll even accept that people can love the code they write. That doesn't make it art.

    If I asked two separate artists to each paint an apple sitting on a wooden table, I would end up with two paintings of an apple, but they would be two very different paintings using different techniques, colors, styles, etc. The artists express themselves through their paintings, and there are many "right" ways to do it.

    However, if I asked two quality programmers to each write code that implements a given algorithm with given requirements, given parameters, in a given language, their code is probably going to look a lot alike. It's harder for programmers to really express themselves through their code and, as a customer, I would rather they didn't, lest I end up with code that does not integrate into my design/application. There are very few "right" ways to do it.


    Hmm. If I asked two artists to paint a realistic picture of an apple sitting on a wooden table (presumably in preparation for being photographed with a digital camera and then scanned in, but that's another story ...) I would expect the results to show significant differences in style, but also to show obvious similarities, like both would show a roundish-looking fruit with a stem, probably red or green, and there would be wood grain visible beneath, etc.

    If I asked two programmers to write code to implement, say, updating a customer name-and-address database, I would expect the results to show significant differences in style, but also to show similarities, like both would include data entry fields for "name" and "address", etc, some sort of "save" button, etc.

    If I gave the programmers more detailed specs, I'd expect the code to be more similar. If I gave the artists more detailed specs -- like if we are talking about commercial art for an advertising campaign and not just "be creative" -- I'd expect their results to be more similar.

    Sounds to me like the two cases are very much alike. Code is a lot like art.

    We could, I suppose debate the definition of "art". I think of programming more as a "craft" than an "art form". That is, I think a programmer is like a carpenter who makes custom furniture or an engineer who designs machines to fulfill a specific purpose.


    The difference here is repeatability. Writing code should be a science. Identical inputs should produce identical results, uniformly and consistently. This is a deterministic process.

    Art, on the other hand, at it's highest form produces unique masterpieces. These are works of absolute brilliance never to be repeated or duplicated. This is not what I am looking for in a programmer.

    --Lego
  • boog 2010-09-07 14:26
    Jay:
    If I asked two programmers to write code to implement, say, updating a customer name-and-address database, I would expect the results to show significant differences in style, but also to show similarities, like both would include data entry fields for "name" and "address", etc, some sort of "save" button, etc.

    Exactly what significant differences in style would you expect? Naming conventions? Formatting/indentation? What do you classify as "style" when it comes to coding? Maybe you mean design? So, logic flow? Simplicity vs. complexity? Choice of sorting algorithm? Do these things express the emotions and experiences of the programmer? Will we feature these code snippets in museums? Will we all look at them, and interpret them in different ways? Seriously, how do you apply artistic principles to a set of instructions that the computer will use to perform a task?

    Regardless of the differences, if both programmers are experienced, they will probably arrive at mostly the same solution. If not, based on customer requirements, performance, etc., one solution will probably be better than the other, and the lesser will be thrown in the trash where it belongs.
    Jay:
    If I gave the programmers more detailed specs, I'd expect the code to be more similar. If I gave the artists more detailed specs -- like if we are talking about commercial art for an advertising campaign and not just "be creative" -- I'd expect their results to be more similar.

    While your point is valid, I think you underestimate the effect that artistic styles and techniques have on a work of art; even with very detailed specs, a single artist could come up with many different results. Concept artists generally arrive at many possible solutions (and iterations of solutions) which the customer reviews, choosing their favorites based on personal preferences and test audiences. I don't expect that this happens too terribly often with code.
    Jay:
    We could, I suppose debate the definition of "art". I think of programming more as a "craft" than an "art form". That is, I think a programmer is like a carpenter who makes custom furniture or an engineer who designs machines to fulfill a specific purpose.

    We could also debate the definition of "programming"; some consider it to be writing code only, while others include software design in their definition. While I personally am reluctant to classify the former alone as a "craft", I could easily agree with you that the latter is akin to a "craft".
  • pingmaster 2010-09-07 23:30
    danixdefcon5:
    TFA:
    His closing words were: "you could have had the best, now you'll just have the rest!"

    Am I the only one surprised that a 50-something would actually quote Hackers in a didn't-get-the-job rant?

    Hackers was made in 1995. So he'd have been a 30-something (maybe early 40's, for very large values of '50-something'), which would have been within the target demographic for that movie.
  • Jay 2010-09-08 13:13
    Lego:
    The difference here is repeatability. Writing code should be a science. Identical inputs should produce identical results, uniformly and consistently. This is a deterministic process.

    Art, on the other hand, at it's highest form produces unique masterpieces. These are works of absolute brilliance never to be repeated or duplicated. This is not what I am looking for in a programmer.


    You're telling me that if you asked two programmers to write a program meeting the same specs, that you would expect the resulting code to be identical or nearly so? Like, wow. I don't mean to be insulting, but I don't know how to respond except to say that that is absurd. You would naturally expect that two programmers would logically and inevitably choose the exact same field and function names? Okay, maybe you wouldn't go that far. But if your statement means anything at all, you must mean that you would assume that they would both decompose the problem into the exact same set of functions. For example, it would be unimaginable for one programmer to break the "calculate customer balance" operation into a separate function for enhanced readability while another puts it inline to a bigger function because it's only done once? There is no way that one programmer could store data in a linked list while another chooses a dynamic array? When writing queries, you can't imagine one programmer using a subquery while another uses a join?

    If I took a problem that I coded six months ago and sat down to write it again today, assuming I didn't remember how I'd done it the first time, I would be quite surprised if the resulting programs were the same.

    Of course I don't expect every program to be "brilliant" (or even "brillant"), any more than I expect every painting produced by everyone who aspires to be an artist to be brilliant. The average high school student just learning Java is not likely to produce masterpieces, just like the average high school student taking Art 101 is not likely to produce masterpieces.
  • Jay 2010-09-08 13:26
    boog:
    Jay:
    If I asked two programmers to write code to implement, say, updating a customer name-and-address database, I would expect the results to show significant differences in style, but also to show similarities, like both would include data entry fields for "name" and "address", etc, some sort of "save" button, etc.

    Exactly what significant differences in style would you expect? Naming conventions? Formatting/indentation? What do you classify as "style" when it comes to coding? Maybe you mean design? So, logic flow? Simplicity vs. complexity? Choice of sorting algorithm?
    Yes, exactly those sort of things. From naming conventions to choice of data structures and specific algorithms and functional decomposition and all the other thousands of decisions that go into writing a program.

    Do these things express the emotions and experiences of the programmer? Will we feature these code snippets in museums? Will we all look at them, and interpret them in different ways? Seriously, how do you apply artistic principles to a set of instructions that the computer will use to perform a task?
    Are you trolling or is this a serious comment? Of course I don't think of programming as an "art" in the sense that I expect to arouse an emotional response from the audience. At least, other than "hey, that's pretty clever". Actually, I don't see why particularly clever code snippets might not end up in a "museum of programming" some day. There are plenty of museums dedicated to old cars and farm machinery and other mechanical devices. Why shouldn't there be a museum of software? Aside from the fact that the audience that could appreciate it would be small. But really now, when people say that programming is an "art", I presume they mean it in the same sense that one describes architecture or carpenty as an "art". That's why I said "craft" might be a better term.

    Regardless of the differences, if both programmers are experienced, they will probably arrive at mostly the same solution. If not, based on customer requirements, performance, etc., one solution will probably be better than the other, and the lesser will be thrown in the trash where it belongs.


    This is simply absurd. See my previous post. There are many many ways in which two programs could both solve the same problem and yet be vastly different, and different in ways where it would be very difficult to say which is better. For example, one programmer might break the task into more functions than another. In some cases breaking something out into a separate function makes the code more readable by simplifying the top-level function. In other cases it makes it less readable by obscuring what is really happening. Which is better is a judgement call.


    Jay:
    If I gave the programmers more detailed specs, I'd expect the code to be more similar. If I gave the artists more detailed specs -- like if we are talking about commercial art for an advertising campaign and not just "be creative" -- I'd expect their results to be more similar.

    While your point is valid, I think you underestimate the effect that artistic styles and techniques have on a work of art; even with very detailed specs, a single artist could come up with many different results. Concept artists generally arrive at many possible solutions (and iterations of solutions) which the customer reviews, choosing their favorites based on personal preferences and test audiences. I don't expect that this happens too terribly often with code.

    So you've never attended a code walkthru then, eh?

    It is true that details of artistic style tend to be visible in the final result and thus important to the customer, while differences in coding style are often invisible to the user and thus not important to the customer. If the question is, "Is there any difference at all between painting and programming?" of course the answer is yes. But I didn't think that was the question.
  • Lego 2010-09-08 14:03
    Jay:
    Lego:
    The difference here is repeatability. Writing code should be a science. Identical inputs should produce identical results, uniformly and consistently. This is a deterministic process.

    Art, on the other hand, at it's highest form produces unique masterpieces. These are works of absolute brilliance never to be repeated or duplicated. This is not what I am looking for in a programmer.


    You're telling me that if you asked two programmers to write a program meeting the same specs, that you would expect the resulting code to be identical or nearly so? Like, wow. I don't mean to be insulting, but I don't know how to respond except to say that that is absurd. You would naturally expect that two programmers would logically and inevitably choose the exact same field and function names? Okay, maybe you wouldn't go that far. But if your statement means anything at all, you must mean that you would assume that they would both decompose the problem into the exact same set of functions. For example, it would be unimaginable for one programmer to break the "calculate customer balance" operation into a separate function for enhanced readability while another puts it inline to a bigger function because it's only done once? There is no way that one programmer could store data in a linked list while another chooses a dynamic array? When writing queries, you can't imagine one programmer using a subquery while another uses a join?

    If I took a problem that I coded six months ago and sat down to write it again today, assuming I didn't remember how I'd done it the first time, I would be quite surprised if the resulting programs were the same.

    Of course I don't expect every program to be "brilliant" (or even "brillant"), any more than I expect every painting produced by everyone who aspires to be an artist to be brilliant. The average high school student just learning Java is not likely to produce masterpieces, just like the average high school student taking Art 101 is not likely to produce masterpieces.


    My assertion here is that requirements, schedule, budget, environment, standards and best practices will tend to suggest an optimal solution to the skilled and experienced software engineer. While two such people may not produce results that are byte for byte identical, the basic structure, naming, internal documentation, etc. would be visibly similar.

    This type of discipline is what sets professional engineers apart from programmers. It is what is necessary for software engineering to receive the same credibility as the traditional professional engineering fields.

    You may not like my point of view, but the folks we work for want engineers, not brillant artists.

    --Lego
  • boog 2010-09-08 16:21
    Jay:
    Are you trolling or is this a serious comment? Of course I don't think of programming as an "art" in the sense that I expect to arouse an emotional response from the audience. At least, other than "hey, that's pretty clever".

    Definitely not trolling. Your post seemed to imply a correlation between stylistic differences in code and those of actual art forms. I wanted you to clarify and you did that (thank you). I took it a bit far with the questions (mainly to drive the point home), but I was dead serious about the last question: how do you (or anyone) apply artistic principles to a set of instructions intended for a computer to perform a task?

    Jay:
    But really now, when people say that programming is an "art", I presume they mean it in the same sense that one describes architecture or carpenty as an "art". That's why I said "craft" might be a better term.

    I presume they mean it in the same sense as well; artistic principles can be applied to architecture, and probably carpentry, so calling either "art" would probably be appropriate, but I get your point.

    As I said in my last post, I would agree with your term of "craft" over "art", assuming you include design aspects in your definition of "programming" (which it sounds like you are). Still, others continue to call it "art"; my beef is with their term, not yours.

    Jay:
    This is simply absurd. See my previous post. There are many many ways in which two programs could both solve the same problem and yet be vastly different, and different in ways where it would be very difficult to say which is better. For example, one programmer might break the task into more functions than another. In some cases breaking something out into a separate function makes the code more readable by simplifying the top-level function. In other cases it makes it less readable by obscuring what is really happening. Which is better is a judgement call.

    Absurd? No. TFA mentioned two half-sheet examples of code, so I assumed we were talking on that scale (my mistake). In a half-sheet of code there may be a few differences, hence the qualifier "mostly". And obviously as the scope expands, so will the potential differences.

    I guess to get back to the original point, do any of these differences imply that the coder is an "artist"?

    Jay:
    boog:
    While your point is valid, I think you underestimate the effect that artistic styles and techniques have on a work of art; even with very detailed specs, a single artist could come up with many different results. Concept artists generally arrive at many possible solutions (and iterations of solutions) which the customer reviews, choosing their favorites based on personal preferences and test audiences. I don't expect that this happens too terribly often with code.

    So you've never attended a code walkthru then, eh?

    I've never been to a walkthru where a programmer provided a few dozen versions of code that all perform the same task, and everyone glanced them over and chose one purely for subjective reasons. Maybe that's because I've never worked for a company that will waste that much time (money) writing code that they expect to throw away.

    Jay:
    It is true that details of artistic style tend to be visible in the final result and thus important to the customer, while differences in coding style are often invisible to the user and thus not important to the customer. If the question is, "Is there any difference at all between painting and programming?" of course the answer is yes. But I didn't think that was the question.

    It wasn't the question. In fact, I don't think there was a question. I simply mentioned that "code is not art" in my original post, and it seems to have sparked some interesting discussion.

    <soapbox>
    Personally, I get tired of people elevating coding to the status of an art-form, or magic, or state-of-mind. The geek culture is fun and all, but I'll be honest: writing code is the easiest part of my job. So much in IT is more challenging and more meaningful to the success of a project than writing good code.

    Good software design is more of a challenge than writing good code. Extensive and effective testing is more of a challenge than writing code. Requirements-gathering, troubleshooting, root-cause analysis, working with users/customers, attending meetings, documentation, deciding what to have for lunch, and getting out of bed in the morning are all more challenging than code.

    So if it's so easy, why do so many people act like it's some higher form of art? Furthermore, why aren't these other things I mentioned treated with the same respect?
    </soapbox>
  • Neuro 2010-09-10 15:09
    "what's the difference between layer 7 routing and layer 4 routing?"

    I am am a bit rusty not even sure that there is such a thing as layer 4 and layer 7 routing - I supose they also thought that MIDI is in presentation layer :-)


    BTW I used to be the main tester and a suport person for x.400 and x.500 of rthe bigest ADMD in the UK
  • Christian 2010-09-13 02:57
    About that TDWTF Interview, the code was horrid. One part looked copy pasted from the php manual, and then even from the wrong section. Imagine a function that declares a variable at the top (not taking any parameters), runs on for almost half a page, then returns said variable from the top, unchanged, not even doing anything external, like a database lookup or anything. If you want to one line it, it would be something like this:
    function wtf() { return 'somevalue'; }

    And that was half a page of code of their production code.

    The other one had a couple WTF's in them too, but it wasn't as bad. Still, how can anyone who has coded for more than a couple of days, think that first example is not some sort of test if you over think the solution, a ruse to weed out those guys who like to make a diagram before adding that missing semicolon at the end of some statement?

    And yes, some people take their code too serious. I look back at code I made with a framework I had no prior experience with a year back and I sometimes shake my head at the WTF's I built into that thing. But we all learn and get better at it, if there is someone to point out the errors or we learn more and find them ourselves.
  • Mike 2010-09-16 11:56
    Your comments are an excellent argument in favor of forbidding anonymous posting... At least have the balls to put your name on your bold statements. :)

    And insulting people by saying they 'live in opposite world' is the last resort of those with no logical argument.

    Perhaps you could discourse on WHY it is so heinous to allow creative people to use tools that they are comfortable with, as long as the end-result is compatible across-the-board with other developers that may need to work with it.
  • MikeFromIT 2010-09-16 13:12
    Mike:
    Your comments are an excellent argument in favor of forbidding anonymous posting... At least have the balls to put your name on your bold statements. :)

    And insulting people by saying they 'live in opposite world' is the last resort of those with no logical argument.

    Perhaps you could discourse on WHY it is so heinous to allow creative people to use tools that they are comfortable with, as long as the end-result is compatible across-the-board with other developers that may need to work with it.


    This was me. I registered! Cool perks from registering, btw!
  • Grig 2010-09-17 16:27
    I never stormed out of an interview, but those recruiters are terrible:

    One sent me to a site where it became apparent I was not applying for a system administrator job, but for some kind of application programmer with a PMP. Both of us were very confused until she realized that the job description I had (I showed her a copy of the recruiter e-mail on my iPhone) was NOT what they asked for at all. What a waste of time!

    "You have Linux experience. That's an OS. Windows is an OS, so you are a Windows administrator?"

    "No, I'm sorry, the correct answer is Java is written in JavaScript."

    And I can't count the number of times I have been told the job was local when instead it was for some Podunk town halfway across the country. Many don't even know where I am: "So, Raleigh is close to Washington DC, right?" I guess compared to Ganymede, yes, but not exactly a daily commute I am willing to take a 6 month contract for.
  • cindy 2010-12-16 02:45
    find for all kinds of amazing watches and women handbags

    http://replica038.com/
  • jim dorey 2011-02-02 23:43
    should have gone to the second interview, with a copy of the e-mail, and your original resume... 'i can't work for a company that would use such an incompetent boob as a recruiter' then walked out. there's also the option of naming names online... then sending them a link to it.
  • cindy 2011-03-01 02:34
    find for all kinds of watches and handbags

    http://replica038.com
  • Prism 2011-07-11 03:13
    boog:
    IsRetro:
    I beg to differ. Code *is* art - art that you *should* pour your soul into. You have to love it, and you shouldn't consider a particular code snippet done until it has matured into a state where you can love it with all of your heart.

    Mind you, I'm not saying you should act like these dicks/divas when someone explains what's wrong, and what's WRONG, and what's so wrong it's not even WRONG, with your code.

    I'm just saying that you can only create elegant, sleek, sexy code if you put your heart and soul in it. Note: That's a necessary condition, not a sufficient one. Heart and soul are not a suitable replacement for skills.

    I'll buy that it's important to love what you do, that you can only really do something well when you love doing it, and I'll even accept that people can love the code they write. That doesn't make it art.

    If I asked two separate artists to each paint an apple sitting on a wooden table, I would end up with two paintings of an apple, but they would be two very different paintings using different techniques, colors, styles, etc. The artists express themselves through their paintings, and there are many "right" ways to do it.

    However, if I asked two quality programmers to each write code that implements a given algorithm with given requirements, given parameters, in a given language, their code is probably going to look a lot alike. It's harder for programmers to really express themselves through their code and, as a customer, I would rather they didn't, lest I end up with code that does not integrate into my design/application. There are very few "right" ways to do it.


    I need to strongly object here. I suppose in the strictest sense of the word, 'code' is not art. Although parts of my balk at even that idea. Code is a map, and all maps are pretty.

    But-- coding, is a discipline, and all human disciplines are an art.

    Examples. Look at the space program. No frills here, pure technological endeavor. Is it a beautiful thing? Then it is art.

    We may be reinventing the wheel, or wiring up components - and it may be very mundane comparatively...

    Compare this to a gymnast. Basically he/she has his routine, nothing really groundbreaking or unique, its all been done before. yet-

    it is the sheer discipline behind a human endeavor that grabs our attention and our awe.

    This and the act of creation itself, what someone has once called the 'war against nothingness', the fight against the empty canvas. Therein lies the human drama.

    If I am Conan and I ask two blacksmiths to forge me a sword, they will create very similar objects according to my physique. It may be a 'plain Jane' sword, but I doubt that anyone could claim it is a thing without beauty, even down to its humble and sparse details.

    And isn't THAT what art really is -- the thing that happens between the viewer and the object?








  • Prism 2011-07-11 04:05
    Pounding nails is pounding nails. You want a nail pounder.

    Plenty of them out there. A very left brain occupation, this programming stuff.

    Do the words 'creative' and 'programmer' ever belong together?

    I think half the battle in creating a 'unique masterpiece', or in the software world, the 'killer app' -- is knowing what is possible.

    There are also plenty of right brain creative types out there too, but (typically) they don't swim in the world of possibilities and potentials that programmers do.

    Therefore, they don't have the palette to draw upon to create or imagine in this world.

    Maybe you are correct and the 'creative programmers' out there tend to be bad apples in a pragmatic sense. We've got all these nails to pound, right? No time to be mucking around.

    Question is, where do you think the next killer, or semi-killer app is most likely to come from, and do you care?

    I mean, its ok if you don't. Seriously, you got 'your thing', and it suffices.

    But it is wrong to discount something based on a 'too risky for me, not my bag' type of evaluation?

    The majority of 'artists/creators' in this world 'fail' and fail badly. They don't produce your masterpieces. And IMHO they don't produce much noteworthy, with some exceptions of course.

    Should they also drop their brushes alongside the forsaken keyboards of the 'creative programmers'?

    Is that whats best for the world and all concerned?

    Granted, I am putting some words in your mouth, based on your inferences.

    And I guess you're right in a way, if your the owner of a sweatshop churning out t-shirts, you really don't have much use for a limp-wristed Madison avenue designer full of crazy ideas. Why would you?

    Harsh analogy, I know. But maybe the shoe fits, and the reason it would is because you discounted those people you personally have no use for.

    Objection complete.