Slashdot Mirror


How To Find Bad Programmers

AmberShah writes "The job post is your potential programmer's first impression of your company, so make it count with these offputting features. There are plenty of articles about recruiting great developers, but what if you are only interested in the crappy ones?" I think much of the industry is already following these guidelines.

38 of 359 comments (clear)

  1. Crappy programmers by Anonymous Coward · · Score: 4, Insightful

    Go to India?

    1. Re:Crappy programmers by infinite9 · · Score: 4, Interesting

      You got modded down for this, but it's true. You get what you pay for. Just low-ball the salary or billing rate. The people who are worth anything will be kept by the employers who know better. And you'll just end up bottom-feeding. There's a reason Indian programmers are cheap. I've worked with many. Some were awesome programmers. But by far, most were just cheap. And this is true regardless of whether they're Indian or not. Cheap people are cheap for a reason.

      --
      Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
    2. Re:Crappy programmers by lgw · · Score: 4, Insightful

      I've never had a problem with Indian programmers. I've often had problems with programmers working in India. Partly it's the time zone difference that makes every little thing a pain in the ass, but there is also a tendency for companies to bring the best to America. While this is finally starting to change, it's still quite rare for a senior guy still working from India to be better than average.

      So, yeah, the market does tend to sort out the whole price v quality thing in the long haul, but race doesn't really enter into it.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    3. Re:Crappy programmers by Maxo-Texas · · Score: 3, Interesting

      I've had a consistent problem with indian programmers.

      Regardless of quality level, they say "yes" to the most insane requirements by executives.

      We had a project which three groups had internally estimated at 2400 to 4000 hours (and a couple million in new hardware).

      The VP said, "it's a 600 hour project without needing new hardware!"

      They said yes.

      They did about $600,000 work on it- and now everyone (including the executive) is quietly ignoring it. It will never see production. It's "complete".

      The indians *never* stop the executives when this comes up.

      And the executives are happy because
      a) they were not told no.
      b) the people who worked on the project are anonymous or gone/transferred elsewhere.

      Meanwhile the company just dropped 2-3% of the annual budget down a hole.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    4. Re:Crappy programmers by fleebert · · Score: 3, Interesting

      This is true, and it's a problem which needs addressing. Keep in mind that they didn't say "yes" because they're ignorant, stupid, or bad coders. They may in fact be some or all of those things (which is a different issue), but those things are most likely not why they said "yes"; they did it because they're Indian.

      Note that I say this not as an Indian but as an expat who's been in India for a bit more than a year now. There are ridiculously complex reasons why this behavior exists (it's a multi-thousand year-old culture with a billion people; nothing's simple), but the treatment of the summary of the precis of the cliff's notes (which is pretty much all a single year here will give you) is that the junior folks, especially those who have not worked for US companies before, make the assumption that if they're being asked to do something then it must be doable because the people in power asked them to do it. Or at the very least, they're not going to call out the people in power of for thinking that it's possible.

      My advice? If you're working for a company which is running into this problem, make a very concerted effort to convince management to invest in Indian cultural training for your staff (both domestic and Indian) and ensure that management takes these classes as well. The cultural disconnect which exists between India and western countries in general (and the U.S. in particular) is huge, and throwing folks into a stewpot together and thinking things will just work is foolish.

      Having been to India twice (once on short-term assignment with no cultural prep and now again on a long-term assignment with several days of cultural prep), I can tell you the training makes a world of difference.

  2. Start a MU* by Wyatt+Earp · · Score: 4, Funny

    You want bad programmers? Start a MUD/MUX/MUSH and advertise for coders, you'll get the damned scum of the earth, a Mos Eisley cantina of crap coders

  3. Step 1 by BadAnalogyGuy · · Score: 5, Funny

    Step 1: Create an Ask Slashdot looking for (ironically) *good* programmers
    Step 2: Identify all self-identified good programmers

    Done!

    1. Re:Step 1 by ClosedSource · · Score: 5, Insightful

      There's definitely some truth in that. It seems like 80% of Slashdotters think that 80% of programmers suck but they're not part of that 80%.

    2. Re:Step 1 by forsey · · Score: 4, Insightful

      Most crappy programmers I know don't read Slashdot, nor do they read anything else that could be considered "industry material". Hard to stay crappy if you keep learning.

    3. Re:Step 1 by Curl+E · · Score: 3, Informative

      Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

      -- Brian W. Kernighan

      --
      Backups are for wimps. Real men post their data in comments and have slashdot mirror it
  4. Recruitment Agencies by hattig · · Score: 4, Insightful

    Use a recruitment agency.

    Most of them just do buzzword matching on CVs rather than actual filtering by skill, so you'll get some really rubbish dregs turn up with inflated CVs.

    Also, try to get one going through a relationship break-up (especially an expensive divorce), or one with criminal/drug addict children / wife. These will increase their productivity as they will want to stay in work.

    1. Re:Recruitment Agencies by lgw · · Score: 3, Funny

      My favorite result from a recruiter - and this was an "in-house" recruiter, which are often the best - is this story. We were building a Windows appliance, so I was looking for a UI programmer with Windows experience and any kind of background with industrial automation or appliance UIs. Any experience with blade server management a plus.

      I got resumes from guys who had done industrial automaiton for ... manufacturing window frames ... and turbine blades. There really is nothing going on in these guys' heads: it's just keyword matching, nothing more.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  5. Agism rears its ugly head again by Anonymous Coward · · Score: 5, Insightful

    Young programmers always say things like "proficiency with the technology is more important than years of experience" and "Old programmers probably can't make use of new technologies" and "I don't have much working experience but I guarantee I am a better choice that someone who does, just because I am that smart!"

    Once they work for a while, get bitten a few times by their own crappy code, learn a few things, and realize just how worthless they actually were right after they graduated...they change their tune. It never fails.

    1. Re:Agism rears its ugly head again by Nutria · · Score: 4, Funny

      Not cocky enough to be Good.

      --
      "I don't know, therefore Aliens" Wafflebox1
    2. Re:Agism rears its ugly head again by chaboud · · Score: 5, Interesting

      Proficiency matters more than years of experience, eventually. I haven't met a single fresh-from-the-mill coder with the architectural chops to lead a project or design major systems (though I know they exist), but I've also worked with plenty of 30-or-40-something senior devs who couldn't find their ass with a flashlight and two hours with Design Patterns (and, no, I don't think that the whole world lives in Design Patterns).

      There isn't just one type of good programmer, just as there isn't just one type of bad one. When I was 19 and starting my first job, sure, I wrote terrible code. When I was 22, I architected major systems that were fairly well thought out and are still in use today (I'm 30). My improvement came from having my ass kicked by some truly talented older coders.

      Of course, a good dev will look at what they wrote 2-3 years ago and say "who wrote this crap?!" Someone who thinks that any more than a few tiny gems of their prior code would be up to snuff today is a crappy coder.

    3. Re:Agism rears its ugly head again by rainmayun · · Score: 3, Informative

      Wish I had mod points today to mod this one up. Proficiency with a coding language or even frameworks or libraries only matters to a limited extent. Proficiency in triage and identification of issues, skills in enterprise scale design, preemptive anticipation of issues both technical and bureaucratic, understanding how costs affect your project... this is stuff that the vast majority of employees can only gain via experience. Coding at home with a stack of books or bookmarked Internet tutorials simply won't get you there.

  6. Re:I see lousy coders.... everywhere by oldspewey · · Score: 5, Informative

    You want a good coder? ... Have them write you something small for free.

    Most of the good coders I know would walk right on out the door if the first thing you asked them to do was write something for free.

    --
    If libertarians are so opposed to effective government, why don't they all move to Somalia?
  7. for a real class act by rubycodez · · Score: 4, Funny

    The really classy HR and Recruiter turds put down requirements for years of experience greater than the time the technology has been in existence. For developers, 16 years J2EE required! 10 years .NET a must! 8+ years Red Hat Enterprise Linux deployment!

    Bonus points for confounding distribution release numbers and internal software version numbers, or assuming only RedHat distributes GNU/Linux.

    1. Re:for a real class act by kgo · · Score: 5, Funny

      I'm hunting right now. The best case of this by far is:

      Visual Studio .NET 2008 - 5 years experience

      (1) DO THE MATH! (At least when people were asking for ten years of web development experience in 1995, the web wasn't called WWW-90)

      (2) WHAT THE HELL IS VISUAL STUDIO EXPERIENCE?

      --
      Can you construct some sort of rudimentary lathe?
  8. Re:I see lousy coders.... everywhere by GasparGMSwordsman · · Score: 3, Insightful

    Have them write you something small for free.

    I have seen exactly one instance of this happening. I walked right out. Four months later the company as charged with unethical buisness practices. They even got sued by a Church of all things.

    Asking to look at existing samples (a portfolio) or testing is one thing. Asking for free work is bound to get only inferior employees, lawsuits and criminal charges.

  9. You want bad programmers? by damn_registrars · · Score: 5, Funny

    You have definitely come to the right place!

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
  10. Simple by MightyMartian · · Score: 3, Funny

    Interviewer: "Do you code exclusively in PHP?"

    Answer: "Yup! Been using it ever since I gave up VB6."

    Interviewer: "You're hired!"

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  11. Wanted! by Quiet_Desperation · · Score: 4, Insightful

    Immediate need for programmer with 10 years experience developing Objective C 2.0 for the iPad. Experience with developing for Intel i9 based Mac Pros is a major plus!

  12. Re:I see lousy coders.... everywhere by s73v3r · · Score: 4, Insightful

    There's a difference between example or interview code ("Write a function to reverse a string"), and asking them to do part of the work, up front, for free. Anyone worth their salt will correctly balk when asked to do the latter.

  13. Re:Call Bill by X0563511 · · Score: 3, Insightful

    You only ever hear the fanboys. The real supporters are too busy doing things that matter.

    --
    For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
  14. Re:Resumes in Word not hard for Java/Unix people.. by oatworm · · Score: 4, Insightful

    The problem isn't about whether it's hard or not for those that don't wish to use proprietary software to open Word docs. The problem is that Word docs are not platform neutral - the font that you used on your resume' might not line up with the fonts that I have installed on my system and vice-versa. Plus, the version you're using might not be the same as the version I'm using and might get rendered differently if you use any sort of fancy-ish formatting (tables, columns, sections, etc.). This would be an issue whether the person on the other end wanted a Word doc, an ODF file, or any other non-trivial word processing document. Realistically, if you want to submit your resume' and have it look as good as possible, you want to know that the person on the other end will be able to see the same thing that you see when you created it; if they're making that functionally impossible by requiring it in a non-print safe non-vendor neutral format, it shows they don't understand such issues, which hints strongly at how well they pay attention to such issues with the rest of their work.

    Put another way, imagine working for an employer whose corporate culture can be summed up as "Works for me", then imagine how much fun it would be to fix the consequences of such an ethos when a major customer or the CEO finds something is broken.

  15. Re:I see lousy coders.... everywhere by pooh666 · · Score: 3, Interesting

    It is VERY rare, but I did run into one company that posted a sort of puzzle. It was a screen scrapping test with several layers. They did things like inserted hints in custom headers and if you didn't notice those, you would go on following the trail who knows how long to get to the end, which was a the email address to send your resume. So it only took about 30 min to do if you knew your stuff, it could take all day and more if not. It was FUN! btw I got the email address in about 2 hours, I did go down the wrong path for a bit and then went back and started looking at headers and cookies and found the clues.

  16. Re:I see lousy coders.... everywhere by Slashdot+Parent · · Score: 4, Interesting

    You want a good coder? Look at their code. Make them take some written tests and an oral exam. Have them write you something small for free.

    Maybe that is specific to rent-a-coder. I do a lot of interviewing for technical positions, and I don't give code challenges. Anything beyond CS101 fodder is too time-consuming, and asking CS101 questions doesn't really tell me anything.

    I'm a big fan of "what's the difference?" questions. I'll take two similar technologies from their resume and ask what's the difference between them. It tests both the candidate's level of experience, as well as the candidate's ability to think and articulate an answer.

    I have to say, I've gotten some pretty (ahem) creative responses, too. And for all you job hunters out there, if you put "C/C++" on your resume, I guarantee my first technical question is going to be, "What's the difference between C and C++?" All the while knowing that there is a >50% chance I'm about to get a "creative" answer.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  17. Careful! by gillbates · · Score: 3, Funny

    Some people here could fill that job!

    1. DOS
    2. Windows
    3. Linux
    4. MVS
    5. HP-UX
    6. Solaris

    And....

    1. Java
    2. JavaScript
    3. HTML
    4. XML
    5. C++
    6. C
    7. Tcl
    8. Natural
    9. Cobol (Gah, my eyes!)
    10. JCL
    11. Perl
    12. Lisp
    13. Visual Basic
    14. x86 Assembly
    15. ARM Assembly
    16. VHDL

    Okay, I have to write this to get past the lameness filter. But listing too many languages is likely to get you a very experienced engineer, not a bad programmer.

    --
    The society for a thought-free internet welcomes you.
  18. Re:looking for C/C+/C++ programmers by TheSpoom · · Score: 4, Funny

    Well, you'll certainly get bad programmers if you choose the ones with 'C+' on their resume.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  19. Easy... by warGod3 · · Score: 4, Insightful

    Let HR write the job requirements, conduct the interviews and hire, all without the input of ANYONE that knows how to do more with a computer, than just turn it on.

    --
    "Be polite, be professional, but have a plan to kill everybody you meet." General James Mattis
  20. Re:Just ask my boss by garyisabusyguy · · Score: 3, Interesting

    Good question...

    I had one candidate who sold their self as an experienced Business Analyst. By googling them, I found a posting by somebody with the same name, location and contact number who listed their experience as Admin Assistant with relevant skills in typing, scheduling and filing. Hardly what they claimed on their resume.

    In another case I flew a candidate out for an interview, only to find that they posted to their myspace how they 'jacked' a free trip out of some sucker and were heading to Mexico for a vacation after the interview since we flew them out here.

    Neither one got my recommendation, hardly grounds for any lawsuit

    --
    Wherever You Go, There You Are
  21. Treat similar things differently by Jiro · · Score: 3, Insightful

    For instance, requiring that prospective hires know how to use Linux, Unix, and Solaris. Or require knowledge of Visual Studio 2005 and Visual Studio 2008. An alternative is to require just one such thing with the implication that you'll throw out all the others, so your job posting says Visual Studio 2005, leaving the guys who used 2008 wondering if their resumes are going to be thrown out.

    Another is to be overly specific. We don't just want SQL, we want this brand of SQL from this company and this year. Yeah, they're not all exactly the same, but still. You can do this for non-language requirements too. "Experience with data driven applications involving medium-sized distributed computer systems which process customer orders in Swiss French in the used wristwatch industry. Swiss German not acceptable."

    Also, I could never figure out why companies who want C++ and not C always say "C/C++".

  22. Re:I see lousy coders.... everywhere by gestalt_n_pepper · · Score: 4, Insightful

    And as someone who codes, and has hired coders, I would reply "Please don't let the door hit you on the way out, and by the way, there are 199 other people waiting to interview for that position. Please try and stay out of their way as you go down the stairs."

    And by the way, the fact that you didn't get that "write something for free" means, a small, noncommercial piece of sample code that demonstrates that you know how to create class foo with a member function that loops from 1 to 10, exits appropriately and returns a string that says "I'm finished." is indication number two that you are a f***ing lamebrain with neither perspective nor common sense.

    In short, you just lost the job due to stupidity, an overblown sense of entitlement and childish arrogance. I have time for none of these.

    --
    Please do not read this sig. Thank you.
  23. Re:I see lousy coders.... everywhere by aclarke · · Score: 5, Interesting

    Early on in my career, I showed up for an interview. I drove 30 minutes to get there, was in my suit, and ready to rock. I got there, and the front desk person handed me a 10 page document, and told me to sit down and fill it in. I hadn't even met anybody else yet. It was a programming test. I filled in a page or two, decided I didn't want to work at a place like that, and walked out.

    I later interviewed at a large corporation as a Perl programmer. I passed all the interviews, and then they wanted me to write a Perl programme to show them I actually did know what I was talking about. I took their specs, which they said should take maybe an hour to finish. It took me 7 hours. I handed it in, along with my notes on where their specs were vague and why I'd taken the route I had. I got the job and they rewrote the test after that.

    Maybe I'm a good programmer or maybe I'm not, but I'm with you that programmers will be more likely to take a test when the risk/reward balance is topped to the correct side.

  24. Got a point, but he is to heavy handed by SmallFurryCreature · · Score: 3, Informative

    I know how to find one bad programmer at least. Hire the guy who wrote that article.

    Yes he does have a point, but he goes overboard and on several point shows a complete lack of being able to work within the system. No job environment is perfect.

    1. List a String of Acronyms for Technologies

    This is indeed bad, but you also need to be clear about what you want and the clearest way to list what technologies are needed for the job is to make a list. The list ain't bad, a long unfocused list is bad. If a job doesn't have a short list of what is required then I know they don't have a fucking clue what they are looking for. Only apply if you wish to hold their hand on every decision making process, which will turn out to have a lot of similarity with a random number generator.

    2. Put an Arbitrary Number Next to Each Skill

    Yup can be pretty bad but how else do you attempt to make it clear you need someone with experience with HTML, not just someone who has seen the acronym once? Personally I would use the experience level you must have for the job rather then years. Because years don't mean anything. I have used databases for 20 years now, but am not a DBA'er (I once talked to a girl after all).

    3. Say Nothing Positive About the Position

    Yeah, I do notice that. The old "what we offer" seems to have gone missing in action. But on the other hand, am I the only one who hates the boiler-plate "fresh and young company with an informal attitude"? Only put things here if they are relevant and true.

    4. Use Euphemisms for the Negative Aspects of the Job

    Oh boy. Don't forget the "flexible" one. Means: We are going to screw you every which way but whine like a girl if you ask for a single thing back. Basically, jobs are like girls. Nobody who doesn't have a multiple personality could ever hope to succeed.

    5. Require Resume to be in Word doc Format

    I like this one, good way to avoid MS shops. ALWAYS look for the desktops being used. All MS? Then run. Fast.

    I am actually working on a little site myself that will advise people on how to buy a website. How do you handle the process? How do you determine your true requirements so you don't get hussled? What can you do to avoid becoming the dreaded "scope creep" client and the huge costs that come with it?

    What the article/site will mostly focus on is trying to educate customers about the product they are buying and a LOT of companies hiring programmers don't have a clue about programmers or the job they are supposed to do. And this is odd, because if you are going to buy a car, you bring that friend who knows everything about cars. But anything to do with IT and those Luddites from HR can surely handle it. Would you let the guy who doesn't drive handle purchasing the company cars?

    So, here is my own list of how to find a GOOD programmer.

    1. Determine what it is you need. This is NOT a case of just listing every tech that ever been used in the company. If you need a web-developer it MIGHT sound reasonable to list everything from the server to image manipulation but really, what human can truly be an expert on all of them? Jack-of-all-trades, master of none. Yes, it can be handy for your frontend guru to handle his own images, but should he also know how to handle obscure database crashes? If the job requirement becomes to wide, then you either need to split up the job, use external expert services or maybe accept that what you need is a couple of juniors who are still looking what area to go for rather then a specialist in a certain area.
    2. Determine what kind of company you really are. Not every company is young and dynamic. Sure, you are advertising your company but that doesn't mean you have to sell it like Axe. Be realistic unless you want to attract the kind of person who falls for commercials. If you are a MS shop were everything is MS, don't try to sell yourself as an anything goes company, because your new hiree will run when he has to file a request in triplicate to h
    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  25. Re:Resumes in Word not hard for Java/Unix people.. by oatworm · · Score: 3, Insightful

    Fair enough - there's definitely value in having clear shop standards, so I can certainly understand wanting to weed out those that are too inflexible in their own ways to work properly with a team. Personally, I keep my resume' in a variety of formats so I can "play along" anyway, so it's not a huge deal; that said, I'll have to remember to create a Times New Roman vanilla formatting version one for companies like yours.

    This being Slashdot and all, though, I will note that binary Word docs are neither simple, clear, nor standard, even among versions of Word, much less non-MS products. I'll also note that allowing Word docs as your only standard opens the door to a ton of undesirable and unintended flexibility, such as using complex sectioning, versioning, and incompatible fonts, which might freeze up your OCR systems. Given what you've stated thus far, a far more simple and clear test of shop standard adherence would be just requiring plain-text resumes, which I've seen many places do quite successfully.

  26. Re:Call Bill by jc42 · · Score: 3, Interesting

    ...judging by the Microsoft engineers i've met (who were nearly all from the Mac Business Unit), they really don't have a shortage of coding talent over there. What they have is a mind-boggling surplus of bad management, starting with Ballmer.

    That's something that MS doesn't have a patent on.

    One of my favorite examples, that gets knowing looks from lots of good programmers: Some years back, I was hired to implement a specific standard (which one isn't important here, but you'd recognize the name). When I started, I was bemused to see written orders that explicitly included not implementing a critical part of the standard, because "it isn't needed in our system". So I did the sensible thing: I implemented the entire standard, but included a switch that disabled the part they didn't want. I was also a bit annoyed by the fact that they explicitly denied me the use of a downloadable compliance test package (which was even free).

    After a while, the project was working well enough that they delivered the first release to several customers. Among the bug reports, every customer included the fact that my part didn't pass their compliance test (which was the one I'd been denied access to), and they explicitly noted the one part that didn't work at all, which was of course the part I'd been ordered not to implement. Every customer said they wouldn't accept the product until that part was working. I got a "top priority" request asking how quickly I could implement the missing feature. I flipped the switch in my test setup, thoroughly tested it, and reported a few days later that it was ready for delivery. My managers were duly impressed by how quickly I'd done it, and the customers all accepted it.

    A few months later, they were setting up for the product's "2.0" project. I noted that my standard was included, and that they again explicitly required that I not implement that one part that they "didn't need".

    I sent my resume around, and a few weeks later, told them that I wouldn't be working on release 2.0.

    It's interesting how many of the good programmers that I know have stories very similar to this. And most of them don't work for Microsoft.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.