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.
Go to India?
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
Step 1: Create an Ask Slashdot looking for (ironically) *good* programmers
Step 2: Identify all self-identified good programmers
Done!
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.
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.
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?
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.
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.
You have definitely come to the right place!
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
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.
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!
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.
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...
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.
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.
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
Some people here could fill that job!
And....
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.
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
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
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
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++".
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.
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.
www.clarke.ca
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.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
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.
...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.