Huge difference between FB etc & Google - I
Recently I interviewed at some of the top paying companies and I got rejected by almost all, here is my experience. I am not sad because I faced interview on my own terms and was willing to wait for another year/ goto tier-2 or so instead of compromising.
I am 15 years exp, domain expert in my domain, came to the US only 5 years back got reasonable success based on my expertise and was looking for career advancement in top company. Needless to say, very fewer folks know me as not much ex-colleague in various places nor any classmates.
FB: Recruiter and I came to the conclusion that senior level is the only for me as my current comp and bump expectation can only be matched at that level. Got direct onsite call after 2 round of levelling interview. first round by top manager but she came 10 mints late in 30 mints interview and could not prove much. She passed to the top engineer, who seems too smart young (<10 yrs and less the 3 years in my domain) guy, trying to understand the gravity of my work. Needless to say, he was not having that much expertise to understand work other. The conclusion they were confused but based on recruiters effort allowed me for domain expertise path. Onsite aced all interview ( 3code in 45 minutes) 2 code in (next 45 minute) a dumb design question( I think irrespective of level these are common) and then domain expertise system design was piece of cake and the interviewer immediately reflected his positive feedback. One more levelling round, the super smart engineer (6 years of exp post PhD) -- has 45 minutes to understand me, could not understand the gravity of my project work (in 5 minutes ) asked 12 more culture fit questions and eventually after 8 days recruiter came back to me saying we are passing on you, feedback great problem solving, design round but all the 3 levelling round - came to conclusion that you are not at that level.
My analysis: I am definitely not the great salesman of my skills else I would have convinced them. Having said that it also reflects a lot about FB work culture. Do the top-rated engineer they have, getting exposure to understand / design/ develop things from scratch. How many people really understand what it takes to design and develop the complex piece.
Can I expect a company like FB to come up with its own databases(not smart wrappers and indexes in a loosely clustered manner on top of existing core products) or can they design and develop any large-scale product from scratch? Isn't it the entire engineering culture is more based on smartness/swiftness rather than innovation.
Is it a waste of talent by paying them huge money and asking them to do relatively mediocre work in a super fast manner? My understanding is what you learn makes you long-term successful engineer not where you work. Remember companies like Cisco oracle etc were super paying and successful during 2000.
LinkedIn --> 3 design round -- 2 fairly experienced guys but standard questions - both of them gave positive feedback immediately after the interview. The third came. a super smart guy (based on his growth in the company) asked me an open-ended question with defined SLA.
My issue was that, he was not having enough understanding to appreciate my design. I realize that I should have provided basic design and he would have been super happy.
For example, tons of high performing threads work on pre-allocated memory to avoid uncertainty in performance during frequent memory allocation and deallocation. But how do you expect the interviewer to appreciate it if his understanding of the system is from using it and doing surrounding development?
So my suggestion - do not leave quality work for 20% - 25% extra money -- eventually after taxes it becomes 10-12% and much less in actual savings. This is true in younger age up to 5-6 years of exp. Join these companies only for work which they specialize in not for easy money, they are successful hence they can give you money (mostly shares).
I will continue in a different post -- google was a pleasant surprise