Lessons from Facebook on Recruiting Elite Engineers

facebook

 

Following is a guest post from ff Venture Capital winter intern Max Segan, a Colgate senior majoring in computer science, who is starting at Facebook this summer as a software engineer. From our perspective, Facebook is both our friend (training hundreds of talented future entrepreneurs) and enemy (competing with our portfolio companies for top talent like Max.) Max obtained approval from Facebook for the post below.

 

As I’ve just finished the interviewing/hiring process at Facebook, I thought it would be helpful to share some of the insights I gained, particularly for our many portfolio companies who are searching for talent.  As the popularity of the recent Wall Street Journal article How to Ace a Google Interview shows, there is a great deal of interest regarding what should and shouldn't go into recruiting.

 

Here are my top 6 pieces of advice if you're looking to hire:
1) Fast turnaround between interviews. In a very competitive market for quality engineers they’re almost certainly interviewing elsewhere, too; it’s important to lose as few as possible due to poor response time or anything else easily preventable.  Keep candidates engaged.

 

2) In person interviews are a must. If you’re hiring for a full time position it can be very risky to hire after only using email/phone/Skype.  You can’t be certain of their ability or their fit, and the cost of a failed hire is incredibly high -- even more so when contrasted with the benefit of a good one.

 

3) Always ask for an implementation. A lot of people can be very good problem solvers, but an employee who can’t code will be a bottleneck on projects -- this is particularly true for smaller companies.  For phone interviews I recommend websites such as Collabedit to let you watch candidates code in real time.

 

4) Provide interesting problems. If a candidate is good enough that you want to hire them, they could likely get another job as well; entice them by explaining some of the difficult and interesting questions that they’ll face on the job.

 

5) Network the candidate’s contacts. It’s hard to find good engineering talent right now, and if you’ve found somebody who knows what they're doing they probably know others.

 

6) Use algorithms questions. Most places do this in addition to grilling their tech recruits on technical knowledge, but even non-technical candidates can tackle these problems if presented in an accessible manner.  These types of questions illuminate how bright, quick, and creative a candidate is.  The following are examples of such problems, and only the last requires any programming knowledge.  The answers to all questions are at the bottom of the post.

 

Example Question #1

 

You have an array of N unique numbers distributed uniformly at random.  You are searching for the largest one by starting at the beginning and iterating through, storing the current largest number at all times.  You store the first number and then as you iterate you replace it with the current number when it is larger than the current one stored.  How many stores should you expect to make, on average, in terms of N?

 

Example Question #2
You have two identical eggs and a building that is 100 stories tall that you're dropping these eggs from.  If an egg breaks it becomes unusable, but if it doesn’t break you can use it again and it is unaffected.  There is no random chance in the drops, and there is some floor, F, such that eggs dropped from floor F don't break while eggs dropped from F+1 will break.  F might be floor 0, i.e. the eggs always break, or up to floor 100, i.e. they never break.  You want to minimize the number of drops you have to make while determining this F.  What is the best systematic way can you go about finding F regardless of what F is?  In other words, find the smallest number K such that regardless of what F is no more than K drops are required to find it, and you'll never break both eggs without finding it.

 

Example Question #3
There are 100 prisoners in a line.  They each have either a red or a black hat on.  They are able to see the hats of every prisoner ahead of them, but are not able to see their own hats or the hats of any prisoners behind them.
The executioner will start at the back of the line and asks each prisoner, in turn, to guess his or her own hat color.  All prisoners in line can hear the guesses (but no information other than simply “Red” or “Black”).  If they get it right they are allowed to live, and if they get it wrong they are killed immediately.
The prisoners have not yet been lined up or given their hats and are trying to decide on a strategy for guessing.  They want to guarantee the survival of as many prisoners as possible, what is the best strategy you can come up with?

 

Example Question #4
You have an array of N integers, all between 1 and N-1.  Using O(1) extra memory, O(N) time, and without modifying the array identify a repeated integer.  Note that there may be multiple such integers.

 

__________________________________________

 

Answers to the Questions
Many questions have multiple answers that are all just about as good as one another.  I’ll first say how efficiently the problem can be solved, then give one such way of how to solve it that well.

 

Answer to Question #1
The first number must be stored.  The second number will be stored only if it's larger than the first, so half the time.  The third is stored only if it's larger than the first two, and so on.  So we see inductively that this becomes the harmonic series, i.e. 1+1/2+1/3+...+1/N, which is O(ln(N)).

 

Answer to Question #2
Find the smallest number, x, such that 1+2+...+x >= 100.  Then start by dropping it from x, move up by x-1 and drop an egg, if it doesn't break move up by x-2 and drop an egg, etc until an egg breaks.  Then use the second egg to do a linear walk up from the last place it didn’t break up.  This can take at most x+1 drops.  For the 100-floor building this means 15 drops in the worst case.

 

This takes about sqrt(2n) drops for the mathematically interested.  I leave the proof of this to readers.

 

Answer to Question #3
Have the prisoner in the back count how many black hats they see.  If there is an even number they guess black, odd red.  This prisoner may or may not die depending on luck.

 

The next prisoner can also check if there are an even or odd number of black hats in front of them.  If the result differs from the guess of the prisoner behind them, they then know that their hat was black. Based on this guess the rest of the prisoners can update their knowledge and in this way continue to know if there is an even number of black hats from themselves to the front of the line when it's their turn to guess, and can always use that to figure if their hat is black or not.

 

For the computer science minded people odd/even is the same as doing bit-wise XOR of the hats (say black is one, and red zero).  It is an invertible function and after the first guess, all prisoners will know the XOR of all prisoners who still have to guess including their own, and can use this to get their own value.

 

Answer to Question #4

 

First view the array as a set linked list nodes, where each index is a node with an edge to the node at the index given by its value.  Viewed this way if we begin at index 0 and find a loop, the start of that loop will be a repeated value.  Starting from anywhere we must eventually reach a loop following the edges, as the node at index 0 cannot be in a loop as nothing can point to it, and all values are valid edges we can traverse the linked list indefinitely.  The head of the loop can be found a number of ways, though the most elegant in my opinion is Floyd's cycle-finding algorithm.  For more information on Floyd's algorithm see Wikipedia; it takes O(1) extra memory and O(N) time.  The index of the head of the loop must then be the value of one node in the loop and one node not in the loop, so it is repeated at least twice.

  • Share/Save/Bookmark

Posted By David Teten Make the first comment »
On February 3rd, 2012

How National and Local Government Can Promote Entrepreneurship

 

MOUNTAIN VIEW, CA - JANUARY 12:  California governor Arnold Schwarzenegger meets with Entrepreneur

I’ve recently met with several universities, nonprofits, and government employees who’ve all asked the same question: how can we promote entrepreneurship?  Just like me, they’re distressed about the poor economy and jobs situation, which contrasts dramatically with the growth and tight labor market in the technology ecosystem.  They’re concerned with this issue at both the local and national levels.

 

The first and primary role of a government is to provide basic public goods competently.  Like many Americans, I’m disappointed that our government sometimes fails to do this.  Above all, I’d like our friends in government and the policy world to figure out how the US government can deliver what it’s supposed to but sometimes doesn’t: sound money; an affordable budget; effective education; functioning infrastructure (e.g. airports, less-intrusive airport security); functional legal system (tort reform); logical immigration reform; and a functional tax system (tax simplification).  To Mayor Bloomberg’s credit, he is using his bully pulpit for exactly this purpose, e.g., decrying US immigration policy as ‘national suicide’.  Sadly, he doesn’t control our immigration policy.

 

There are a range of organizations that help address issues in the technology ecosystem, including: Women in Technology, Technology Policy Institute, New York Technology Council and various other state technology councils, Center for Policy on Emerging Technologies, Information Technology Industry Council, Silicon Valley Leadership Group, and Tech Policy Central. I support their goals of making entrepreneurship accessible to those who have the ingredients to become a successful self-starter. Like virtually the entire tech industry, I am particularly in favor of Startup Visa, which has the goal of stimulating our domestic startup community through acts to keep our foreign-born entrepreneurs in the United States.

 

Following is a list of some of the ideas I’ve working on (to various extents).  If you see something that piques your interest and want to get involved, please contact me.  I have ranked this list in ascending order of cost (defined as combined time and money).

-       Educating the VC/angel community on the city/state resources available to them to build companies. I’ll likely organize a Harvard Business School Angels of NY event on this topic in 2012.

-       Studying best practices of VCs in supporting portfolio company operational improvement. I am now leading a Columbia MBA team (ex-Mckinsey and BCG) on a study regarding best practices of VCs in supporting portfolio company operational improvement.  This is effectively a sequel to my study of best practices in deal origination, published in the Journal of Private Equity, Harvard Business Review, Institutional Investor, and Business Insider. You can see preliminary results of this value creation study here.

-       Encouraging non-US companies to set up operations in the US. As the former CEO of an Israeli startup with a (modest) US and UK presence, this is an obvious way to create more jobs here.

-       Creating angel groups with other alumni organizations, using HBS Angels as a model, e.g., alumni of major NY schools (Columbia, NYU) and institutions (McKinsey, Goldman Sachs).  I’ve talked informally with some universities about doing exactly this.

-       Creating a for-profit business with the goal of helping students conduct research projects for businesses, so that they’re more connected with potential employers.  I wrote a blog post on this.

-       Organizing events for local mid- to large-company CIOs / CEOs to meet technology startups, in order to help startups get traction and keep their momentum going.  HBS Angels will likely execute this in 2012.

-       Publishing notes on local tech events. New York has an extremely active Meet-up culture; almost every night there are 3-10 tech-focused events.  However, no one systematically provides notes/videos of these events.  Here’s a win-win way to address this: recruit a team of students who would attend these events and publish their transcripts/videos, so that everyone learns more and faster and can network more easily.  I’m already doing this on an experimental basis on my blog.

-       Publishing joint research. See ffvc.com/topics for a full list of topics we want to research.  Part of our strategy as a VC is to do in-depth research on the questions that interest us, in order to make us smarter and to help improve industry best practices.  We typically do this by partnering with graduate student teams.  In particular, we think it would be helpful to the ecosystem if someone were to publish research on who are the most active and most successful New York-area angels, superangels, and early-stage VCs, in order to identify the leaders with whom entrepreneurs should most want to work.  (it is likely that ‘active’ and ‘successful’ are not synonymous.)

-       Creating a master operating checklist for New York entrepreneurs. Visualize a grid, with the standard entrepreneurial steps down the y-axis (ideation, market research, incorporation, etc.), and the major New York industries across the X-axis (internet, food, retail, fashion, etc.).  It would be valuable to have checklists for all of the intersections in this grid.  We’ve created some but not all of these checklists for the tech industry; see our presentation notes and links on our resources page.  Other useful checklists we’ve identified include Biztree, Wickedstart, Goodwin Founders WorkbenchAmerican Express Open Forum Crash CoursesStartupToDo , Entrepreneurcountry, and StartupPlays.

-            Organizing angel pitch nights focused on special-interest communities, including industries (healthcare, retail, fashion) and affinity groups (Women, Asian-American, Latino, LGBT, African-American).  I am now talking with some affinity groups in these domains about co-organizing such pitch nights  under the umbrella of HBS Angels.  Our goal is to source and fund great entrepreneurs, regardless of personal or industry background. We are planning a healthcare-focused evening on February 29, and are working on an evening focused on African-American entrepreneurs and on the mobility sector. Details to come.

 

Here are some much more ambitious and expensive ideas:

-       Setting up a ‘virtual seastead’, perhaps on UN headquarters territory, for high-quality entrepreneurs who do not have US visas. A team in California is already creating a offshore seastead for non-US citizens who want to build companies in the US.  The UN headquarters in New York is technically located on ‘international territory’.  I’m sure there are already some for-profit businesses there, e.g., restaurants.  I wonder if it is possible to set up an apartment building near UN HQ as a virtual seastead?  I’m unclear whether this legal arbitrage is possible. Is anyone else looking into this?

-       Launching a seastead accelerator offshore from New York.

 

What other policy initiatives should the local tech community, be working on?

 

(Image by Getty Images via @daylife)

  • Share/Save/Bookmark

Posted By David Teten Make the first comment »
On February 2nd, 2012

Funding Post Feb. 7, 2012

 

The New York Fundingpost VC and Angel Showcase will be next Tuesday, Feb. 7, 2012. ff Venture Capital will be there.

37 VC Funds & Angel Groups will be exhibiting their firms during a cocktail party setting from 6:00PM to 9:00PM. The event is sponsored by Credit Suisse, WeiserMazars, Morgan Lewis and SocialRadius. More information, a list of the Funds and Registration are here: RSVP

  • Share/Save/Bookmark

Posted By David Teten Make the first comment »
On January 31st, 2012

Ultra Light Startups Investor Feedback Forum, Feb. 9

I hope you can join us for the Ultra Light Startups Investor Feedback Forum and Pitch Showdown, Thursday, February 9 (6:30pm EST)

Pizza/soda provided for all attendees.  Pitching includes Gust (formerly Angelsoft) application and pitch coaching from Mac Lipscomb

Panelists (alphabetic order)

  • Steve Brotman (@stevebrotman) Managing Partner and Founder at Silicon Alley Venture Partners
  • Charlie Kemper (@ckemper) Partner at Revel Partners and Managing Director at ER Accelerator
  • Charlie O'Donnell (@ceonyc) Partner at Brooklyn Bridge Ventures
  • David Teten (@dteten) Partner at ff Venture Capital

Startup Pitches

  1. Farhan MemonWikiOrgCharts
  2. Nihal ParthasarathiCourseHorse
  3. Jason NadafSureDone
  4. Jonathan RosenGive.bz
  5. Julian BarnesBody Local
  6. Frank HarrisonMedCASH
  7. Rob CaucciSpaceSplitter
  8. David BakerSpins.FM

Agenda

  • 6:30pm – Pizza, networking and introductions
  • 6:45pm – Investor Feedback Forum – 10 startups pitch to an investor panel; the panel provides actionable advice for each pitch
  • 8:15pm – Pitch Showdown - audience voting via Twitter; winners announced and prizes awarded
  • 8:30pm – Drinks at nearby location

Format

The Investor Feedback Forum and Pitch Showdown is designed to:

  • Help early stage startups refine their investor pitch
  • Provide helpful, actionable advice on each startups business model from active, early-stage tech startup investors
  • Demonstrate to the audience how investors evaluate startup pitches
  • Award prizes to the most viable startups, based on audience and panel voting.

The three winning startups are automatically invited to pitch to the NY Angels.

RSVP.

  • Share/Save/Bookmark

Posted By David Teten Make the first comment »
On January 31st, 2012

Best Job Boards for Recruiting Startup Engineers


 

 

One of our portfolio companies asked me this week, “Do you all have a list of job boards your portfolio companies have had great success with in recruiting high quality engineers?”

 

The unemployment rate for quality computer scientists/engineers in the major cities right now is zero; everyone who’s not pursuing his/her own startup can easily get a good job.  Therefore, the best candidates are rarely perusing job boards.  Part of the genius and success of LinkedIn is it’s by far the best tool for soliciting passive jobseekers, i.e., those who are currently employed.

 

I’m a firm believer that the best way to recruit great talent is to make yourself a magnet for people to come to you, instead of the other way around.  In a Dreamit talk I gave on recruiting star engineers, embedded below, I discuss a host of ways to do this.  In a HBS Angels panel I spoke at last week, Chris Fralic of First Round Capital quoted Chad Dickerson of Etsy on this topic. Speaking at a First Round-organized event, Chad said Etsy requires 100% of their engineers to be active in the technical community: give talks, blog, etc.  As a result, they’ve had no problem attracting great talent to Brooklyn.

 

That said, while largely cumbersome and cluttered with spam, job boards still accounted for nearly 25% of hiring in 2010.  Nathan Hurst made a useful comparison of tech job boards based on cost/post, headhunter/confidential posts, company size, and word frequency.  Accolo uses its database of thousands of placements to identify the most effective job boards for its clients (Disclosure: I'm an Advisor). Social Recruiting Report ranks the top tech job boards by Google Page Rank.  Smashing magazine and Sociable Blog have lists of IT/Tech job boards, but don't do a detailed comparison .    Engineering Recruiting promises to put you in touch with the appropriate engineer recruiter, but I'm a bit skeptical of how effective or worthwhile a service like that is, given the conflicts of interest.

 

What do you find are the most effective recruiting job boards?

 

 

Thanks to Joan Xie for research help.

  • Share/Save/Bookmark

Posted By David Teten Make the first comment »
On January 19th, 2012