2015年6月29日 星期一

Mixer Lans應徵人的方式

Our 10 Step Engineering Hiring Process at Mixer Labs

 

Before my company, Mixer Labs, was acquired by Twitter, I spent a big chunk of every day on hiring.  A lot of entrepreneurs I help out ask about the process we used to hire a very strong engineering team and so I thought I would share the steps we would take in this post. 

 

1. Resume screen.

We would source people from friends, engineering meetups, LinkedIn, basically anywhere we could find someone who seemed good.  I think of approximately 100 resumes or profiles we looked at closely we hired 1 person.

 

2. Phone screen 1 - culture fit and "reasonable to set up technical call"

After choosing a subset of profiles or referrals to follow up on, I would do an initial "culture fit / is this person worth talking to" phone call or a "sell" call to people not actively looking.  In some cases people did not want to leave their job (if I was reaching out to them), or they might be a bad fit to begin with.  I would screen for things like:

·         What motivates this person?  What do they care about?

·         What are they exceptional at?

·         Do they think of themselves as a generalist engineer or a specialist (e.g. FE, mobile, etc.)?  We were looking for generalists.

·         Do they seem like a really strong engineer?

·         Are they excited to join a startup?

·         Will they be a good culture fit?

I would simultaneously try to sell the person on the opportunity, to get them excited about our company. Remember, all interviews go both ways as the candidate is also interviewing you as an employer.

 

These interviews would literally take 15-30 minutes and I set expectations up fron that the call would take 15-20 minutes (if someone is asked to block 15 minutes on their calendar, they usually block 30 minutes anyhow, so we never ran out of time).  These short blocks of time minimized the time spent on this first screen and often I would know within 5-10 minutes if the person was worth a second conversation. 

 

I would meet the really promising people in person for a coffee if they were somebody I was trying to convince to leave a comfortable existing job.

 

Of 100 people we started with, maybe 15-20 people got an initial phone calls or coffees. 

 

3. Phone screen 2 - engineering interview. 

This second phone screen focused more on engineering questions and ensuring the person was strong technically and merited an in person interview.  This would take 30-45 minutes and be performed by a rotating set of engineers on our team.  Different engineers had different filters / set points (e.g. some were much harder "graders" then others, so I would take this into account when scheduling in person interviews, asking the candidate to do an additional phone screen (if they seemed marginal), or dinging them.

 

Of the 100 people we started with, 7-8 would probably make it through the phone screen to an in person interview.

 

4. In person interviews.

People would come in and be interviewed by each member of the technical team for ~45 minutes.  We would sometime put an extra 15 minute buffer for engineers who tended to take longer with candidates.

·         We asked the interviewers not to let each other know what they thought of the candidate as they came out of the interview, so the next interviewer would not go in biased.  Studies have shown that sharing your opinion of person A with person B (if B has not met A) biases the interactions B will then have with A.

·         I asked each interviewer what they thought of the candidate over IM immediately after each interview (basic thumbs up or down).  If enough people gave a thumbs down, I would cut off the rest of the interviews to save engineering time.  I.e. the time of our engineering team was too precious to waste on candidates that had people think they were not strong enough for the team.

Before we had multiple engineers on the team, we would ask out strongest technical friends to come by and interview people to help us.  This allowed us to ensure we always had ~4 engineers interview every candidate, even if we were just 2 founders to start with.  As we scaled to past 4 people, we still had every engineer on the team met every hire.

 

If one of our team had worked directly with the engineer before, we would skip them past phone screens directly to an in person interview.  We had *everyone* interview with everyone on the team, even truly exceptional engineers we had worked with in person before.

 

Of the 100 people we started with, 2-4 made it through the in person interview.

 

5. Discuss the candidate

We had each person write down their thoughts of the candidate before we discussed them and then asked each person for their opinion.  We also asked people how they would rank the candidate against all the other candidates we had interviewed.  I.e. below a certain bar they were not worth considering further.

 

For a while, we used to graph the stack ranked interview feedback vs years of experienceto look for outliers who are stronger then average.  We would pursue these outliers aggressively.

 

6. Half to full day work with team

We asked a subset of the people we moved forward with to come in to work with the team for a half day or full day to test their working style, how much they could get done in a day, design/engineering choices they would make, and also whether they were interested enough in us to actually take the time off to meet with us.

 

We would always give the candidate the same coding problem, and we would always through away they code at the end.  The purpose was to test their skills and fit, rather then have something productive come of the day.  At the end of the day, we would all gather around and the engineer would show us his or her work.

 

3 out of 4 people who came in to work with us we moved forward with to the beer test.  In some cases, having someone come in to work with us made us more excited about them as a candidate (i.e. it was someone we were going to ding based on interviews, whom we kept due to their performance coding).  They may have been medium on the in person interviews, but great coders who just got a lot done and were good to work with.

 

7. "Beer test"

We would take candidates out for dinner or beers to see if they were a good culture fit.  I.e. would our team enjoy having the person around, drinking beer with them etc.  In a small organization culture fit is paramount. 

 

We actually dinged a really exceptional engineer that made a lot of grossly off color comments in the beer test.  He was one of the strongest engineers we met, but felt he would be a bad fit culturally, and this only came out during the beer test.

 

1-2 out of ~100 people whose profiles we started with would make it through the beer test to be given an offer.

 

8. Reference checks

We would check ~5 reference per candidate.  Only one candidate who made it to the reference check phase got dinged because of his references (we actually always tried to back channel to references the candidate did not provide, and in this case the engineer had some politically driven conflicts with others, so we decided not to hire him).  As a small organization we did not want to take the culture risk, although that engineer went on to thrive elsewhere.

 

Great reference checking will be the subject of a future post.

 

9. Offer

We would make the offer to the candidate in person or on the phone, depending on our prior relationship to the candidate.  I may get into more details on making an offer in a future blog post.

 

10. Close

Of the people we made offers too, about 2/3 to 3/4 of them accepted.  Most of the people who did not join Mixer Labs, tended to stay with their existing employer.  We would use a number of tools to close the candidate, including e.g. having them meet with our investors to get our investors view of why we were a good company, or we would invite the candidate to events we had at the company, such as our speaker series (even when tiny, we invited CEOs and other industry execs or entrepreneurs in to our company to give talks on their experiences.  This was a really cool company perk everyone enjoyed).

 

Hiring is a numbers game

All numbers quite rough (e.g. 100 profiles to 1 hire is more or less what happened with us but I am pulling all the numbers from memory so they are rough estimates.  I actually had big spreadsheets with all the details but can not find them) - but hiring is very much a big numbers game.  You need to set up a funnel and optimize each step.  

 

 

All else being equal, we chose to optimize for false negatives over false positives.   We kept our bar really high, and due to this grew (painfully) slowly.  But it is was worth it as we ended up with a pretty extraordinary team.

 

Does your company do something differently that works really well?  Let me know in the comments what you do differently - I always love to hear how people approach hiring and what works and does not work.

 

以上內容來自 <http://blog.eladgil.com/2011/06/our-10-step-engineering-hiring-process.html>

 

如果你要fire人

最近在讀 Return Path 執行長 Matt Blumberg 的新書 Startup CEO: A Field Guide to Scaling Up Your Business,裡面名為 No one should be surprised to be fired 的一節中,建議了一個分手前數週、甚至數月就該開始的程序,相當值得參考:

1.       提醒那個同仁他的工作很有可能不保

2.       與他一起擬定一個「(限時) 改善工作表現計畫」(PIP, Performance Improvement Plan)

3.       大幅度增加對該員工的日常監督這些工作在時間內都沒辦法改善該同仁的表現,則在約定週期的最後,你再與他冷靜客觀的討論是否應該安排他找更適合他的工作。這個過程的注意事項:

1.       盡量維持透明,讓所有人明白不合適的原因

2.       盡力為該同仁安排下一個工作,這是尊重人才,也是公司文化的塑造

3.       了解該同仁的預期是什麼,並且確認他了解那與公司預間的差異

4.       藉此機會向整個團隊重申公司的價值觀

人與人間永遠是創業中最複雜的工作,雇用對的人已經很難,讓錯的人離開還要再更難。用心處理好人的事情,是每個 CEO 必修的課題,與大家共勉之。

 

以上內容來自 <http://mrjamie.cc/2011/11/15/fire/>

對新創組織傷害性的人格

 

受害者

「你相信他們居然要我們這樣做嗎?拜託,我們已經這麼忙了,怎麼可能會有時間?而且光憑這點爛薪水,還要我們做這麼多事情。這個老闆真是個吸血鬼!」

受害者認為所有的「問題」都該被「指控」,但卻不去試著「解決」。每個人或許偶爾都會覺得吃了一些虧,但「受害者」則是從早到晚都認為全世界的人、事、時、地、物、規則、法律、合約,通通對不起他。他們永遠都在生氣,一點小事就惡言相向,永遠都在抱怨。

受害者在找的不是機會,因為他們在找的是問題本身,而不是解答。製造問題卻不解決問題的人,是沒辦法幫助一個創業團隊的。所以碰到這種人,很抱歉,只好請他們離開。要注意的是,由於他們的受害者心態,離開之後很有可能會對公司採取報復,請你準備好你的相關文件和心臟,接受這個攻擊沒錯,這很棘手,誰跟你說創業是容易的?

悲觀者

「幹嘛這麼認真,這個東西不可能成功的。就算有使用者肯用,這種產品絕對沒辦法賺錢。況且就算狗屎運成功了,只要 Google 跳下來做一樣的事情,我們就死定了。我看我們還是再想更好的 idea 吧!」

Henry Ford 說:「無論你相信你可以或是你不行,你都是對的。」成功者和失敗者的差距,就是成功者勇敢的挑戰了不可能,而失敗者還沒開始就先放棄了。創業往往多半是在挑戰不可能,如團隊中有成員持反對意見,那不是你的 idea 真的太太爛,就是他的個性不適合。

全知者

「拜託,我跟你說,我早就知道了。基本上政府一定很快就會來找我們的碴,然後這麼做也必定會惹到一些大廠,重點是我們根本沒有技術門檻,我跟你打賭這個產品半年內就會被老闆砍掉。」

好的創業者應該是永無止盡的學生,而不是全知全能的上帝。所以一個好的創業團隊應該以「學習」和「進展」為目標,而不是被已經知道的資訊綁住。一個東西不試試看,怎麼知道結果。如果一個人在你們還沒真的嘗試以前,就不斷唱反調,或許偶爾他是對的,但長期來說會大大減少你們找到成功的機率。

當電報服務的領導廠商 Western Union 看到第一代的電話,他們管理團隊的反應是:「這個東西有太多的缺點,不可能成為真正的溝通工具,對我們一點價值也沒有。」當 Larry Page Surgey Brin Google 搜尋引擎介紹給 Yahoo,希望賣給他們 100 萬美金時,Yahoo 對這個東西嗤之以鼻。

要當受害者、悲觀者、反對者很容易,但是創業成功往往是在最困難、最不可能的地方發生。你需要一個願意挑戰機會,從中找到勝利的團隊。至於那些個性不合的人,相信我,讓他們回去大企業上班,對彼此都是更好的安排。

 

以上內容來自 <http://mrjamie.cc/2011/11/15/fire/>

 

2015年6月27日 星期六

送給每一個帶團隊的老大

【送給每一個帶團隊的老大】

如果真的愛你的員工,就考核他,要求他,逼迫他成長,如果你礙於情面,低目標,低要求,養了一群小綿羊,這是領導對員工前途最大的傷害! 因為這只會助長他們的貪婪、無知和懶惰。讓下屬因為你而成長,擁有正確的人生觀,價值觀,並具備了完善的品行,不斷的成長,就是主管對員工最偉大的愛!制度是絕情的,管理是無情的,執行是合情的:

1、管理是盯出來的,技能是練出來的,辦法是想出來的,潛力是逼出來的。

2、沒做好就是沒做好,沒有任何藉口。隨便找藉口,成功沒入口。

3、不是沒辦法,而是沒有用心想辦法。用心想辦法,一定有辦法,遲早而已。

4、結果不好,就是不好。

5、沒有執行力,就沒有競爭力。

6、選擇重於努力,成敗在於選擇之間。過去的選擇決定今天的生活,今天的選擇決定以後的日子。

7、執行力不講如果,只講結果。

8、思想的高度決定行動的高度,文化的高度決定企業的高度。

9、不要指望別人幫助你,要指望別人需要你。

10、請示問題不要帶著問題請示,要帶著方案請示。匯報工作不要評論性地匯報,而要陳述性的匯報。

11、敢於負責任,才能擔重任。簡單的才是有效的。

12、成功者常改變方法而不改變目標,失敗者常改變目標而不改變方法。

13、像老闆一樣當幹部,用老闆的標準要求自己,像經營事業一樣經營自己的崗位。慈愛是虛偽的,嚴肅的愛才是大愛!管理一定要嚴字當頭!