18

Possible Duplicate:
When Hiring Testers (and/or Developers) what do you do with resumes and spelling mistakes?

I'm looking at some sample code sent in by an applicant for a software development job:

//remembers the footter block
public FileFooter footer;

(edited slightly for anonymity) and I'm thinking "instant rejection". The same would apply to a spelling mistake on a resume.

In my mind, when you send your resume or example source code as part of a job application, you're saying "This is my best advertisement for myself". If you can't be bothered to spell-check it, and/or get someone reliable to proofread it, then you're lazy and/or careless and I don't want to hire you.

Am I being unreasonable? Am I rejecting candidates that would turn out to be great assets to the team? Perfect spelling ability isn't a requirement for a software developer, but attention to detail is.

(Edit: The candidate is a native English speaker.)

49

I would reject that person for commenting that line.

26

For a spelling error in a CV, I would reject the candidate. For a spelling error in the code sample - probably not.

Some people are bad spellers, and other people have fat fingers. When writing a program, one generally has a compiler and not a spell checker handy.

I'm not sure who first misspelt the HTTP header referrer. It could have have been Sir Tim Berners-Lee. Would you want to reject the next Tim Berners-Lee over a spelling mistake?

22

alt text

me fail english, that's unpossible!


sorry, but someone had to do it.

It's a sliding scale really, do you have other candidates that have sent some sh*t hot sample code with superb code comments?

There may still be room to give the person a chance, at least they are writing comments! Also, english may be their second language, but that doesn't mean they wont make an excellent code monkey.

17

I'd dock him points for adding such a trivial comment! Seriously though, there are some great candidates who speak English as a second language and might warrant a little more leeway. Spelling is important, but I shudder to think of what my resume would look like in another language.

13

With only your example, perhaps slightly out of context, noticing one duplicated character is probably being too anal about spelling. Look, he obviously knows how to spell "Footer", and apparently managed to spell it correctly twice, so maybe rejecting him on this is going a little too far.

For example, you didn't tell us how many lines of code this one typo is in, or how well he writes in his business letters or other documents, or anything. Is this one typo in 4k LOC? Is there a typo every other line? What are the chances that you yourself would make a similar mistake in a comment?

11

I think you nailed it:

Perfect spelling ability isn't a requirement for a software developer, but attention to detail is.

Personally, I like to quote a persona (called Silk) from David Eddings? Castle of Wizardry:

It?s a question of style ? Sloppy work tends to be habit-forming.

Submitting a reference work that contains mistakes is sloppy. This is part of the application just as much as the CV or the letter of application. Why should different standards apply?

9

Attention to detail notwithstanding, if their written communication is otherwise poor, that's a big drawback as well. Programmers who can communicate well, whether verbally or in writing, are a breath of fresh air.

See Jeff Atwood's "Is Writing More Important than Programming?"

9

Contrary to most people I've seen here, spelling doesn't bother me too much. And I think a typo in a comment is a lot different than one on your resume.

But if it bothers you enough to ask this question, then don't hire him.

8

In my opinion spelling mistakes in a resume or spelling mistakes in the comments of the source code cannot be compared. There's spell checking in Word but no spell checking in code comments.

I think it's totally unreasonable to reject a candidate based on this if everything else is great.

7

Are you looking to weed out your resumé pool, have a list of much better candidates, or have a huge job pool to draw from? If so, why are you even wasting your time thinking about this?

However, if you are on the other side with only a few resumés and little chance of getting a good developer, is the candidate someone that you can mentor and develop? Some people just need a little help to get them going in the right direction. Does this person have the potential to learn and grow, do you have the intestinal fortitude to train and develop your employees, or do you hire robots you hope to never deal with?

If you're selection process is down to such a minor nit, and you're going to listen to the advice of a bunch of people on Stackoverflow who haven't seen the resumé, have never met the candidate, haven't read the job listing, and dare I say, never interviewed anyone for anything, then I think you'd have a better outcome with dice rolling.

With these questions I tend to think people are just stirring the pot by asking them. They already know what they think and want to show off in public. Or, on this site, rep-whoring.

6

For this example, the comment itself (and the public property if this is Java) bothers me more than the spelling error... Not unreasonable to reject at all, if this is supposed to be an experienced developer.

5

Depends if you are willing to pay for the upper percentile that you are looking for.

4

I thought that's why programmers always wrote things in terse abbreviations. The fact he didn't write the comment as "mem ftr blk" is the signal to me that he's not a real programmer. :-)

4

You're not being at all unreasonable. As you pointed out, attention to detail is a huge requirement in software development, as is communication. One of the biggest factors in determining the success of any knowledge worker is their ability to effectively communicate.

In this case, it looks like a typo (they spelled it correctly below the comment line), however it still indicates an overall lack of concern for the accuracy of their submission.

3

This is not totally unreasonable, although the candidate should be judged on other qualities as well (not just spelling and grammar).

3

On a resume, spelling is important. But I've made typos in code because I turn off spellcheckers in IDEs - there are way too many false positives in all of them that I have used (although I understand Eclipse's has gotten better).

Like other people said, the use of comments and code style is far more important than spelling in comments, especially for something where the spelling has no impact on the understanding.

3

If there are glaring spelling and grammatical mistakes in the code and documentation, then yes.

If theres probably only a misspelled word one maybe two times in a large chunk of code, you probably should let it slide - seeing as how there are no spell checkers in most IDEs and that its hard to get someone to proofread your code.

2

Well, this may not be the candidate's native language so he might be doing this type of errors.

But obvious typos, yes, if it's not a single case but a repetitive pattern, I would also consider this a sloppiness.

2

I don't think that it is unreasonable myself. I completely agree with you that if you can't be bothered to run a spell check in the language you are applying for (whether it be Spanish, French, English or whatever), then you are lazy and careless, as you said.

While we are not technical writers, and not all of us are native English speakers, but it just shows your lack of attention to detail when you have gross spelling errors.

2

I'm also annoyed by spelling errors. However, in my experience, there is not a direct correlation between being a good programmer and being able to spell flawlessly.

Accuracy and consistency is very important for a programmer. I can understand that you'd think that someone who is sloppy with spelling will also be sloppy, inaccurate and inconsistent with programming. But this isn't always the case. I would not take a spelling error like that immediately as a reason for rejection.

I do agree however with the others above for commenting that line of code with a useless comment - that's a sign that the candidate does not have a lot of real programming experience.

The Coding Horror blog has a number of articles about good and bad comments, for example: Coding Without Comments (contains links to other articles).

(English is not my native language).

2

I'm guessing this isn't the only typo you spotted in this person's code, but another possibility is that he has a crappy keyboard and the T key tends to stick.

2

Having worked on code with a "Choice" variable (and database column!) spelled Chiose - I have to say that spelling is very important.

So, if the spelling mistake was in a variable name - immediate rejection.

I'd give the rest of the code a serious detailed look, and only because the typo (and there is a difference between typos and errors depending on the cause of the error) was in a comment, I'd treat it as a warning flag. If you look at the content of the comment (separate from its necessity at all), it seems to indicate a possible naming issue and a conceptual issue. Why use a public variable to "remember" the footer block? Should the variable have a better name to indicate which state is being saved (before changes?) since it is going to have wide visibility? If it has a very short life, then why is it public at all?

For instance, in a documentation header where a lot of text is being written (not necessarily to be read on a regular basis), I would overlook typos like this:

/* TODO: Logging here is inconsistent
 * Add loging and implement error handlign
 */

In addition, regardless of whether you are a native speaker or not, communication skills are possibly the most important skill when you are working on a programming team, and it's especially important (when people do not share the same language) that when they do communicate in English, they are not making it more difficult to understand the concept that they are trying to get across with bad punctuation, grammar or abbreviations that slow down comprehension, "if U no what I mn."

As far as a resume, it has to be proofread over and over. I put an incorrect year on a period of employment in what should have been a minor resume update and it was a total embarassment to have to correct the interviewer and send out new resumes. Luckily I had only sent it to two people.

1

I don't necessarily think spelling/grammar is a clear-cut indicator of an individual's ability to program or become an asset to your team as there is a lot more going on under the hood than just the outward appearance of their intellect.

You figure that they could be using English as a second language which is instantly a point against them in the spelling/grammar arena. Perhaps they are brilliant people but just can't get their head around i before e except after c and the other fun rules of the language. The list can go on.

No, I don't think barring somebody immediately based on their spelling and grammar is necessarily a good idea. That being said, I think it is a valid point to consider during an interview and take in stride with the rest of the material being covered by your questions. It may very well be an indication of lack of ability but the only way you can really tell is by interviewing them in person and going over your questions in detail.

1

Go with your gut instinct. Historically whenever I have overruled my "gut" instinct (whatever that might be based on; typos, appearance, the way they think too much/too little) and given more time to the interview and subsequently hired them, I have always regretted it. If you're after the best you don't want any nagging "hmm, there was that error they made..." doubts.

And we should all be striving to employ the best.

Look at it like this: if he's actually brilliant and you've misjudged him, no problem, he'll get another job really quickly. But if he's sloppy, you'll have dodged a bullet.

Better to let 100 excellent candidates "slip through the net" than employ 1 person who's not up to scratch.

1

Grammar and spelling mistakes like this in resumes and sample code are usually a good indication of poor overall communication skills.

1

It depends. If this is 100 lines of code and he did this, no you're not being unreasonable. If this is a gigantic project, you are being unreasonable. When I apply for jobs, I send out my open source project link with my resume. There are 20-30k lines of code in it (not all mine since I reused some projects). With a project of this size, there are bound to be at least a couple of misspellings.

1

Spelling errors on a resume are a major point against a candidate since they should have multiple people double check there resume for grammatical and spelling errors. I don?t understand the problem with spelling errors in code comments and internal documentation as long as it?s legible. If the developer is Dyslexic but a good programmer you could be removing them from the candidate pool with out seeing what there truly capable of. If part of the job description is to write documentation that will be shipped with the product and you don?t have any dedicated technical writers then you may want to have written language skills count for more.

1

You could easily be looking at a Dyslexic.

The difficulties with spelling you may be seeing, may just be that. While a Dyslexic may be rubbish as spelling, do also tend to have a very strong aptitude for software development.

So you could be loosing a good developer, simply because they have bad comments. And trust me on this, CV's and Application letters are easy to get proof read. No one ever corrects your code comments for you!

0

It depends on how badly you need someone.

If you have plenty of time, I'd agree with you: don't take him.
However, if you only have a couple of candidates and really really need a new guy, you'll be willing to take a little risk, will you not?

0

Most spell checkers can't handle code well, and it's not like it's a major error, the variable is named correctly. Normally I'd let it slide, even in a code sample. However, the comment itself seems to point out some undesirability. If this is the only thing against the person, I think you're being unreasonable, but it does count against the person.

0

I'm usually a stickler for spelling and grammar, but for a comment? I think you're being foolish. That is silly IMO.

If there are other reasons to reject the candidate, then reject him/her. However, a typo in a comment is not a big deal.

EDIT

Additionally, would you rather someone spend their time proofreading their comments or spend time working on design, learning new things, testing functionality, etc.

Some things (like the spelling/typos in comments) are not as important as other things.

Typos and grammar mistakes in sample code, comments and resumes are indicators. TO use those for the sole basis of rejection shows poor selection of priorities.

0

I'd say only worry about spelling and grammar in writing samples and resumes.

If spelling is an issue in the code, the compiler will let you know ;)

0

and I'm thinking "instant rejection"

Then you are a person with spell checker built in :)

You should reject him or you will have bad thoughts every time reading his code ;)

0

It depends one some factors

  1. Logic of the candidate.
  2. Salary and perks negotiation with candidate.
  3. Experience of the candidate.
  4. Most impotent thing is your expectations from him/her.

If work is like copy past and you are paying too much for good candidate. It is not worth while for the company.

0

You probably can't go on one typo to decide - especially if it is in a comment. However, if he had produced a public Property or Method featuring the Footter spelling, I'd be concerned; that would be a lack of attention to detail.

0

What all answers to this thread tell me is that there is no real answer to this. From the submitter's point of view, you depend on who reads your resume. As someone who will probably be looking for some new work soon, I must be absolutely careful about every tiny piece of text I put there as I will have roughly 50% chances of being read by someone who is really looking at every little detail.

Mel T. (A french speaking developer that, of course, ends up having to comment and write code in english. Please, allow us "non-englishers" to make some mistakes. There are other languages in the world that people or very fluent with....)

Edited: Just noticed the note added by author about native speaking candidate. My point still stands that around 50% of resume readers care about all details. This is what I will have remember.

0

I wouldn't reject a candidate based on a single spelling error, but it would bother me. This would lower his or her resume in the stack for sure.

The problem I have is that my company is small but growing. Because we're small each new developer has to be really talented and have directly relevant real world experience. It's hard to find the kind of person we want, even with the recession.

We just can't afford to reject a candidate who appears to have the qualifications we're looking for something that small.

There are great software developers who are physically attractive, posed, extroverted, and with great communications skills. But these are a tiny minority in the universe of otherwise good developers.