Daniel Lemire's blog

, 1 min read

Better job ads

Before writing your next job ad, look at companies successfully recruiting talented engineers.

According to a recent Google job posting, here are the requirements to work at Google:

  • BS or MS in Computer Science or equivalent work experience (Ph.D. a plus)
  • Experience programming in C++, Java or Python
  • Extensive knowledge of programming for Windows and/or Mac and/or Unix/Linux environments
  • Strong computer science foundation

Here are the requirements for a typical engineering job at Facebook:

  • B.S. or M.S. Computer Science or related field
  • Knowledge of perl or PHP or python
  • Knowledge of relational databases and SQL, preferably MySQL
  • Knowledge of web technologies: XHTML, JavaScript
  • Experience with C, C++ a plus

It is entirely possible that both Facebook and Google have far more restrictive requirements than they advertize. But I am only worried about the job ads for now. What do you notice?

  1. There is no “5 years of experience required”. You know what? Linux Torvalds was 21 when he created Linux. Mark Zuckerberg was about the same age when he created Facebook. Time spent sitting in front of a computer is a really poor measure of tech. expertise.
  2. There is no long list of buzz words to match. Notice how Google states “C++, Java or Python” and not “C++, Java and Python”. Why is that? Because it would be stupid to reject people who have not mastered C++, Python and Java.
  3. Though Facebook and Google are at the leading edge, they rarely include specifics in their requirements. You want an expert in JBoss and Hadoop. Really? Talented people pick up the specifics on the fly.