Slashdot Mirror


Why the New Guy Can't Code

theodp writes "'We've all lived the nightmare,' writes Jon Evans. 'A new developer shows up at work, and you try to be welcoming, but he can't seem to get up to speed; the questions he asks reveal basic ignorance; and his work, when it finally emerges, is so kludgey that it ultimately must be rewritten from scratch by more competent people.' Evans takes a stab at explaining why the new guy can't code when his interviewers and HR swear that they only hire above-average/A-level/top-1% people. Evans fingers the technical interview as the culprit, saying the skills required to pass today's industry-standard software interview are not those required to be a good software developer. Instead, Evans suggests: 'Don't interview anyone who hasn't accomplished anything. Ever. Certificates and degrees are not accomplishments; I mean real-world projects with real-world users. There is no excuse for software developers who don't have a site, app, or service they can point to and say, 'I did this, all by myself!' in a world where Google App Engine and Amazon Web Services have free service tiers, and it costs all of $25 to register as an Android developer and publish an app on the Android Market."

17 of 948 comments (clear)

  1. Experienced only? by Pharmboy · · Score: 5, Insightful

    This reminds me of the old expression "I can't get the job because I don't have any experience, but how can I get experience if they don't give me a job?"

    Yes, on your own, but it is still saying "don't hire someone directly out of school" without considering that there are some advantages to this, such as being able to integrate someone into your system, before they have had the chance to develop "bad habits".

    --
    Tequila: It's not just for breakfast anymore!
    1. Re:Experienced only? by mikael_j · · Score: 5, Interesting

      I think the problem is that a lot of people, no matter how skilled and dedicated, may not have had any summer jobs or internships (at least around here those are very hard to come by) that led to them taking part in the creation of "real" applications as well as not really have any "finished" applications to show off (as in, they may have dozens or hundreds of little apps but you rarely want to show an interviewer that 900 line perl script you wrote that has half a dozen required and undocumented parameters and does something extremely specific to your home computing environment.

      I was actually in that sort of position after college, I ended up working tech support for over a year because I couldn't find a "real job", the reasons for why I either didn't get an interview or why they didn't find me interesting post-interview were split between no reason given, "You're not quite what we're looking for" and "Please try again when you have at least three years of experience, the ad might've said 'entry-level' but we really meant we were looking for someone with a few years of experience...".

      --
      Greylisting is to SMTP as NAT is to IPv4
    2. Re:Experienced only? by Fuzzums · · Score: 5, Insightful

      We hire inexperiences developers regularly. They're called JUNIOR DEVELOPERS and they require extra time. That's why they make less money than a medior or senior developer.

      --
      Privacy is terrorism.
    3. Re:Experienced only? by dkleinsc · · Score: 5, Insightful

      The thing is, most employers already follow this rule. As someone who's career started in 2004, the first 3 years of it were extremely difficult because almost everybody in the industry needed 3 years of full-time development experience on the resume before they'd even talk to me. And of course, these same employers have the audacity to say "We can't find any good young developers!" as if making it difficult-to-impossible for anyone to join the industry (oh, and if they're large enough for age discrimination laws to apply, acting on that sentiment is illegal) would have no effect. I've gotten over that hump, but that was by taking any job that came my way, being willing to work 70 hours a week for about $7 an hour, and I'm sure having recruiters lie a bit to get my foot in the door.

      And the reason for all this isn't hard to figure out: This "don't hire anyone without experience" is a pretty smart rule if one employer does it, but a really really dumb rule if every employer does it. In addition, because it takes 3 years for the negative effects of this to really sink in, the system looks great for a while. Basically, everyone wants the experienced demonstrably-capable programmers, but wants the responsibility of giving them basic practical experience to fall on somebody else. To do otherwise would require the vision and the funding to think about a picture bigger than "my company this fiscal year".

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    4. Re:Experienced only? by drinkypoo · · Score: 5, Insightful

      Nobody wants to train anybody any more. They want to be able to hire and fire at will and they know that they are not capable of fostering loyalty when they feel no responsibility to their employees. There's no point in spending money to train someone who is just going to go somewhere else, and that's what they will do.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    5. Re:Experienced only? by Vectormatic · · Score: 5, Insightful

      i do enjoy coding a lot, as in i cant think of anything i'd rather do for a living. But in my free time, i can think of thousands of things i'd rather spend my time on, so i hardly have any hobby-projects, certainly nothing that i would use to show off at a job interview.

      Making your hobby into your job is a sure-fire way to lose it as a hobby by the way, all the managerial crap that comes with a work environment is not something you want to asociate with your hobby

      --
      People, what a bunch of bastards
    6. Re:Experienced only? by Homr+Zodyssey · · Score: 5, Interesting

      I agree with Vectormatic. Just because its my job which I enjoy and I'm good at, does not mean I'm going to sit around doing it for free. If I have extra time on nights/weekends to do some coding, I'm going to bill for it.

      I've been a developer for 13 years, at a half-dozen jobs. I've never been asked for a code sample, and I wouldn't have one to provide if I were.

    7. Re:Experienced only? by JustOK · · Score: 5, Insightful

      Saying you can do surgery full time with only the experience and training you got in medical school is really misplaced. If you say you enjoy doing surgery and being a doctor, then surely you must do some of it simply as a "hobby".

      --
      rewriting history since 2109
    8. Re:Experienced only? by kannibal_klown · · Score: 5, Insightful

      I've been at my current job for 10 years, coding. I'm supposed to work from 8 to 4:30 but it usually turns into 8 to 5:30 as well as having to check emails in the evening. All of my apps are behind the company's firewall so I can't show them off to anyone.

      Meanwhile I'm also a 2nd-level admin for our servers and web apps. Meaning at least a couple of times during the month I have to do something to the server over the weekend, get a support call at 3AM in the morning, test things after a server move, etc.

      As much as I like coding, after 10 years of the above I'll be honest... I don't have any personal projects of my own to show.

      The above takes too much of of day/week/etc as it stands. I really don't want to have to sit behind my computer and then do a personal project on top of everything else.

  2. Why is this a nightmare? by hughperkins · · Score: 5, Interesting

    Firstly, why is this a nightmare? Who wants extra competition?

    Secondly, "technical interview" is a misnomer. They're actually "potential colleague" interviews. Who is going to pick someone who is smarter than them, or who is going to give them competition for promotion?

    Those who get through technical interviews are either smart enough to bluff to the interviewer that they're not quite as smart as the interviewer, but an ok guy to hang out with; or are genuinely not as smart or talented as the interviewer, but are an ok guy to hang out with.

    Quick tip: when you attend a technical interview, answering the questions correctly doesn't get you the job. Being amazed at how much the interviewer knows does.

    1. Re:Why is this a nightmare? by giorgist · · Score: 5, Interesting

      Who is going to pick someone who is smarter than them, or who is going to give them competition for promotion?



      As the rule goes ... A class managers, hire A class people.
      B class managers hire C class people.

      A class managers do not feel threatened, so they hire the best there is. The result is a great workplace.
      B class managers on the other hand want to make sure their staff is dumber than them selves, so they make sure they hire C class staff.

      So the rule is, if your boss is a moron ... you should be worried.
  3. Evan, the best programmer evah by Anonymous Coward · · Score: 5, Insightful

    There is no excuse for software developers who don't have a site, app, or service they can point to and say, 'I did this, all by myself!' in a world where Google App Engine and Amazon Web Services have free service tiers, and it costs all of $25 to register as an Android developer and publish an app on the Android Market."

    There is no excuse for self-proclaimed software authorities who don't know that software development covers much more than just Web-related or mobile apps. I've been developing software since before the Web was invented and I still don't have a website, I don't write apps for Android and there's no service on the Internet that I can point to and say "I did that all by myself!" I'm a systems programmer and I make a nice living writing code for embedded systems that make it possible for this Evan guy to post his ridiculous rants on the Internet.

  4. Fair enough, if you need an urgent job done by Lemming+Mark · · Score: 5, Insightful

    If someone who's clever enough and can program is still a drag on productivity then it sounds like a problem of technical management in providing appropriate tasks, guidance and training. If you're in need of urgent productive programming (and / or you're a small start-up - *maybe*) then, yes, hire someone with substantial experience so you get returns quickly. Otherwise, it's your job to train them in stuff they might not know. Industry used to be responsible for training and educating workers appropriately beyond their academic career.

  5. New guys do not get senior pay. by Smoodo · · Score: 5, Insightful

    New guys do not get senior pay. People with experience usually command higher wages.
    You can get people out of school fairly priced to their abilities. That fair price can be significantly under what an accomplished senior engineer will make.

    The best question is, "Who are you fishing for and why?"

    Hopefully your company is willing to spend the coin for the experience implied by this article.
    If not, your company may see the time slow down as worth it. From an investment side, management must consider timing of future cashflows and likelihood they will arrive (risk). Slow and steady can win the race, despite how frustrating it can be to 'bring someone else up to speed.'

  6. Hungarian Notation by TheRaven64 · · Score: 5, Insightful

    Wow, a footnote devoted to a dig about Hungarian Notation, with a link to Wikipedia, and a display of complete ignorance of the subject. The Wikipedia article that he went to the trouble of linking to, while deriding the inventor of the notation, tells you that there are two forms, Apps Hungarian and Systems Hungarian, and no doubt goes on to tell you that the person that he is deriding invented Apps Hungarian. The point of this notation is to include units in variable names. For example, you might prefix a length with m or ft to indicate the units, or an index with row or col. It's then completely obvious that an expression like mHeight -= ftDistance is wrong. This is a very sensible convention and eliminates some very expensive yet simple to fix bugs. The author of the article calls it 'probably the dumbest widely-promulgated idea in the history of the field', which makes me quite glad that I don't work with him.

    He's probably thinking of Systems Hungarian, which is what happened when the systems group at Microsoft got ahold of the idea and started prefixing things with their types (language types, not semantic types), which is completely redundant information.

    --
    I am TheRaven on Soylent News
  7. What is your proudest accomplishment... by i_ate_god · · Score: 5, Interesting

    ..as a programmer?

    That question is one of the best filtering questions around.

    --
    I'm god, but it's a bit of a drag really...
  8. Re:'Don't interview anyone who hasn't accomplished by TapeCutter · · Score: 5, Insightful

    If you want to get a job programming, but have never written any software that you've published, then you are probably not worth hiring

    This is just plain crap, I've been programming for almost 30yrs, proffesionally for the last 20. I don't have any published code to show anyone at an interview, and never have. The stuff I write in my own time is mainly so I can learn something new, once I have the gist of it I usually throw the code away. I've also interviewed ~100 programmers over the years and if you can't tell if someone knows their stuff just by talking to them for 5-10min, then I suggest you don't know yours.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.