Skip to main content

选择startup公司的一点经验 

发信人: microbe (纵使相逢应不识), 信区: SanFrancisco
标 题: 【征文】选择startup公司的一点经验
发信站: BBS 未名空间站 (Mon Sep 22 21:28:45 2008), 转信


选择startup公司的一点经验


我从01年到现在已经在硅谷工作了七年,来的时候因为非常偶然的因素加入了一个
startup,回头看看真是改变了自己的人生轨迹。其间除了acquisition,全部是在
startup工作,有成功,当然也有失败。我想很多人来到湾区,并不甘心永远在一个几
千人的大公司做一块默默无闻的砖头,加入startup可以说是很多人的梦想。尤其从01
年到现在,经济从低谷走到高峰,眼前却又面临一个循环,但是跟我的经历一样,在最
困难的时候往往也会有最大的机会。我虽然不敢说很有经验,但是在其间有点心得,愿
意跟大家分享一下。

这篇文章主要面向符合下面条件的读者:
1. 有一定的大公司工作经验,却没有在startup工作过的工程师
2. 有找startup的自信和欲望
3. 最好已经拿到绿卡,否则很多事情也身不由主

一、如何找startup

硅谷有很多startup,但是怎么找到并联系它们?

和找其他工作一样,无非是三个途径:
1. 通过朋友refer。这个当然是最理想的。不仅仅是因为你的resume会受到重视,更重
要的是你可以通过朋友得到该公司的内幕消息。朋友一般会对你说实话。
2. 通过recruiter。recruitment对于startup是一个很大的问题,因为他们自己的
network有限,所以一般都会通过recruiter来达到目的。
3. 直接上公司网站递resume。这有两个前提,一个是你必须已经知道这个公司并对此
有兴趣,一个是很多公司在最初处于stealth mode,网站上基本没有任何信息,所以这
不是一个很实际的做法。

如果你本身并没有朋友的refer,最可能的是通过recruiter,那么你必须习惯跟他们合
作。需要注意的是以下几点:

1. recruiter本身素质是有高有低的,好的recruiter确实能给你提供很好的match和
interview的机会。如果你个人能力比较突出,interview的机会其实是不用发愁的,但
是如果给你找个不match的公司,而你个人又不是很有经验,很容易给弄得选择貌似很
多,结果却是浪费时间。但是即使是好的recruiter,也需要你自己清楚你的背景和想
要的职位。
2. recruiter当然都是对公司的前景唱赞歌的,自己需要鉴别。
3. 不要被recruiter牵着鼻子走。这点看似容易其实很难,因为一个interview下来,
马上就可能谈到offer。所以,如果你有timing方面的concern,需要自己控制
interview的数量和时间,interview以后如果确实需要时间考虑,也不要怕跟对方提出
。一般startup公司的职位不会这么快fill的。

从我个人的经历,唯一一个失败的startup就是通过recruiter找的。

二、如何判断公司的前途

硅谷有很多的startup,大部分都是失败的。失败的原因当然很多,也可能有execution
方面的原因,也可能有funding的原因,也可能是bad luck,但是一个成功的startup绝
对不是侥幸的。所以不要认为选择startup就是撞大运。成功的startup通常满足下面的
两个条件:
1) 有一个很好的team,both engineering and management
2) 选择了一个很好的市场切入点

找startup最关键的是对这个公司前途的判断。最基本的,是看公司的VC,founder,
management team,等等。如果你有同事或朋友以前认识里面的key employee,比如VP
或architect以上人物,最好能够问问他们的意见。这个可能性还是满大的,因为这些
人基本上都是你的领域里面的人。

在实际上,最重要的判断还是要来自自己自身通过interview的体验。Remember,你并
不愁找到一个工作,你所要做的是找到一个好的startup,所以Interview的过程不仅仅
是对方选择你的过程,更重要的是你选择对方的过程。因为interview就那么一两次机
会,你需要通过这个interview来决定对方是不是一个你理想中的公司。

从我个人的经验,最重要的是下面几条。

1. 对方是不是有一个很好的engineering team。

对于一个startup公司来说,technology比什么都重要,engineering team是决定成败
的关键因素。如果面试你的人让你觉得很junior,或者不知所云,或者问一些没有什么
深度的问题,那么我建议你三思,这样的人design出来的东西能够成功的机会很小。相
反,如果对方显得很sharp,很smart,这会给你带来很大的信心。物以类聚,人以群分
,smart的人做出的选择很多时候也是smart的,所以即使你对该公司不甚了解,也会给
你带来一些参考价值。

需要注意的是,你在面试中不仅仅是见engineer,也会见到公司的executive,比如CTO
之类,他们会跟你贩卖公司的前景,描述公司的发展前途,以我的经验不要因为这个而
被迷惑。因为你不是干marketing的,你很难去判断他们说的情况的真假,而且这些人
做到这些位置,主要和VC以及customer打交道,忽悠人是他们的工作。作为一个工程师
,你擅长的是去判断另外一个工程师的能力,所以你应该专注在这方面。

这并不是说,你不应该利用和对方高层交流的机会。如果可能的话,你应该在面试前到
其网站上去了解一下对方的产品,然后准备一些这方面的问题,在面试中得到你想要的
答案。

2. 对方的technology barrier如何

有一个好的team是公司成功的最基本条件,但是除非你深入了解,一般从外表也很难判
断。作为一个工程师,你还是需要专注于你擅长判断的方面,就是技术含量。

技术含量包括两方面的含义。第一,是否有市场。没有市场,一切免谈。第二,是否有
competitive barrier,就是说别人做你这个东西有多困难。从竞争者的角度来说,就
是是否有现有的竞争者,以及如果别人来与你竞争有多困难。

市场方面的东西判断起来稍微困难一点,如前所说,除非你很有经验,这方面了解不多
的话还是很容易被忽悠。你可以问问对方,他们的potential customer base和target
市场有多大。这可以看出很大的问题。如果整个market不是很大,那发展前景不会特别
看好。

第二个方面,就是technology barrier,是一个更容易判断的方面。作为一个startup
,如果要成功,很难跟现有的市场领导者硬碰硬的竞争,特别在某些比较conservative
的领域,那么它必须选择一个基本空白的切入点(如果这个公司的目的就是直接和大公
司head to head竞争,我基本上建议你放弃)。但是这并不容易,所以在很多情况下,
难免和现有的big player有一定的冲突,这就有一个问题:如果这些big player也开始
做这方面的产品,你能survive么?

我觉得这是一个必须回答的问题。在和对方面试的过程中你不妨提出来。了解对方的技
术是你面试中最关键的方面,通过这样的问题对方无法回避关键问题。

3. 你的个人发展

除非你具有startup的丰富经验,或者和founder有过较长的合作关系,一般来说你去了
startup也不会是一个如architect之类非常重要的位子。那么你需要仔细询问如果加入
后你将会在哪方面工作。如果对方也说不出个所以然,或者举出的一些Project并不显
得有什么技术含量,这都不是什么好的信号,建议三思。

以上三点,我觉得对于工程师来说都不是相对很难了解到的东西,一定要在面试中做到
了解透彻。其他的,就是经过这些信息,可以去和自己的朋友商量商量,听听别人的想
法。如果对方公司有你认识的人,约个lunch一起聚聚那是最好的。

如果你决定去了这家公司,关于offer的谈判什么的就没什么特别好说的了,无非不同
的就是关于option之类,这个我就不多谈了。

三、关于startup的一些误区

1. startup工作太累

这点其实不正确。我工作过的几个startup都很reasonable,除了第一个在早期周末加
过班,从来是来去自由很随意。我觉得一个好的公司,无论startup与否,是不应该过
多加班的。当然,太清闲也往往不是什么好事。如果你有这方面working style的
concern,不妨先多多了解一下。

2. startup就是luck

如上所说,这点非常不正确。luck当然有,但是一个公司是不是有前途,很多蛛丝马迹
还是能看出来的,不然我也不会写这篇文章。当然,如果你没啥这方面的经验,心里没
底,我不建议你直接进一个非常早期的startup(少于20人)。不妨加入一个发展前景
比较清楚的有几十个人的startup公司,先攒攒经验和人脉。当然,相对回报就会少一
些。

3. 去startup就是为了钱

钱当然是很重要的,但是不能只看到钱。你必须做好这个startup并不能给你带来过多
物质回报的准备。从这个意义上,你必须真正喜欢这个公司,确定在这个公司工作,即
使不能发财,其工作经历也能对你以后的职业发展有益。不要因为投机而去加入
startup。 这也是为什么我强调一个好的engineering team的重要性:这些人也许对
你的下一个startup的经历有关键作用。最后说句泄气的话,如今不比以往,靠startup
发大财的机会越来越少了,所以要有一定的心理准备。

最后重申,这些都是我的个人经历,我肯定不是这个版上这方面最有经验的人,只是自
己也走过一些弯路,希望写的这些对大家有点帮助,能有更多的人实现自己的理想。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...