Disclaimer: I do not claim that I am a super star or rock star or a ninja or any dumb stupid names people intent to use to describe a great software engineer. I don’t brag anything about my skills, so if you feel offended, please get out of this article.

I just write some fact about recruitment.

Every day, from 6:00 AM to 6:00 PM PST time, I receive phone calls literally every minute from recruiters.

1. Wrong about communication mode

Nobody can answer phones every minute. If you have a job, just send email with job description. If the candidate is interested, he will contact the recruiter back. Otherwise, nobody wastes anytime.

2. Wrong timing

Many recruiters are in the east coast, but they fail to recognize the fact that I am in California. Calling me at 6:00 AM in the morning means nobody would answer the phone.

3. Wrong intention about talking

When recruiters cannot reach candidates via phone, they usually send emails asking: “I have so and so job. Do you have time to chat?”

Come on, good engineers don’t have time to talk bullshit. If they talk to each recruiter 10 minutes, they will need 48 hours or 72 hours a day, not 24. And they cannot do anything else.

On average, a senior software engineer earns $60/hr (Some earn more than $100/hr, some earn less, for argument sake, let say $60). So on average, 10 minutes means $10 right there. I don’t even give $10 to my friends for no reason, why should I give it to a stranger?

4. Wrong skill sets

I specialize in Ruby, Rails and all Ruby related technologies. I state in my profiles on Job sites that I look only for Ruby, Ruby-related jobs, or Elixir or Go. I make it clearly on job sites and in my resume that “DO NOT CONTACT ME ABOUT JAVA”.

A lot of recruiters still contacted me about Java, .NET, C#. Why?

If they cannot distinguish such basic things, they should not be recruiters in the first place.

Occasionally they contact me for jobs that completely have nothing to do with my skills, such as SAP, Oracle or IBM sucky products. And God forbids, even about Microsoft’s products.

5. Wrong preparation

Before wasting 30 minutes to talk to a candidate, it will save everybody a lot of time if the recruiters spend a few minutes to read the resume.

Questions like “How many years of Ruby experience do you have? or “Do you have any experience about PostgreSQL?” can be easily seen on my resume. Why would somebody want to spend 30 minutes to talk about things that can be read in 3 minutes? Unless those recruiters don’t know how to read.

6. Wrong way to write about jobs in email

Many recruiters seem not to be able to articulate themselves in writing. When they are asked via mail about job descriptions, some more details ..etc.., all they answer is “We need to talk”.

Talk about what? If you can not write clearly about the nature of the job, what the requirements are, what the candidate will get if he gets hired in your email, you are illiterate.

If you have usual questions such as full name, years of experiences of skills, visa authorization, salary expectation, for the love of time, just ask in the email. If the candidate likes the job, he will answer. Otherwise, nobody’s time is wasted.

If you have doubts about software design and coding ability, look at my github account, or ask for code sample.

If you can do REAL technical interview, I am happy to talk on the phone.

If you want a screen share live coding session, I am happy to work with you on the computer too. Now it is the 21st century, so everybody should know how to share screen over the Internet.

But don't use silly pre-screen questions as a miserable excuse to waste my time on the phone. Send them by emails. Who cares about those questions such as "Do you use ActiveRecord?" or "What is MVC?" or "What is Singleton design pattern?". Just stop asking stupid questions. Every idiot knows the answers for those questions, so they help you to filter nothing.

Bottom line: If you have a real job with real requirements and real things to ask, why don’t you just put it in an email?

Why do you like to talk so much? You are not my lover and I don’t want to talk to you.

7. Wrong about requiring candidates to apply jobs on third-party websites

A lot of companies, including Oracle, IBM, Cisco, Cyber Coder, require candidates to register to their web sites to submit for a job.

What is wrong with Monster.com, Dice.com, CareerBuilder.com? Those web sites are much better than buggy web sites built by Oracle, IBM or many other third-party web sites.

And nobody wants to waste hours of their precious life to fill in 100-field, 20-step wizard web pages, then get a 500 HTTP Error at the end. What is wrong with Word or PDF resumes?

Only people who have nothing to do will submit resumes to stupid third-party web sites. You can never hire a good engineer that way. It is one of the reasons why software from SAP, Oracle, IBM and other big corps are so terrible. They don’t have good engineers anymore.

8. Wrong about jobs

Hundreds or even thousands of recruiters contact candidates about bogus jobs.

For example literally thousands of recruiters contacting me about Walmart Labs jobs, State of SC jobs, Ruby jobs in Oregon, Cyber Coder remote jobs, hundreds of them contacting about the same job at the same time, and it is going for months at a time. Those are bogus jobs for sure, because if they really need a single engineer, it should not be that hard, so thousands of recruiters have to work for months without finding a candidate.

Suggestion to recruiters:

- Contact candidates only when you have real jobs. Don’t waste other people’s time. It's bad for your karma.

- Contact candidates by emails. Now it is the 21st century, not the 19th century, when Alexander Bell just invented the phone. Don't get too excited about talking on the phone.

- Spend 2 or 3 minutes scan the resume before you send email, so you can know about the skills set and objectives of candidates.When I say I don’t want Java job, for God sake, just don’t send Java and J2EE jobs to me. It costs me 2 mouse clicks to delete your mail. This is super bad for your karma too.

I even seriously think about writing a Ruby program that automatically reads my mail box and deletes all the mails with the word “Java” in there.

- Write as clearly as possible about the job you want to recruit for.

- Ask questions about details you want to know in the email.

- Don’t ask candidates for 10 minutes to chat just to ask how many years of experience in Ruby he has. If you cannot find that information on his resume, he is a bad candidate. He cannot even write his resume clearly, how do you expect he can write code clearly?

I know that recruiters have many candidates to filter too. They can have thousands or tens of thousands resumes to select from. Even so, for God sake, don’t use the phones. Use emails, use text filter processors. You can even use email templates. Why must you use the phone? And how can using the phone save your time, as oppose to using emails?

It worths to repeat: Now it is the 21st century, not the 19th century, when Alexander Bell just invented the phone.