Sunday, November 26, 2006

温哥华骑驴找马记(下):找到一匹高头大马

[上一篇 把驴骑丢了]
10月底的时候,我不得不再次开始了我的第二次找工历程。夏天时候的找工难在我的记忆中仍然鲜明,虽说自己已经算是有了一点本地经验,但是太短,怕反而会引起雇主的反感。自己莫名其妙把驴骑丢了,不得不再次杀入求职市场,心里的惨淡程度,不比夏天的时候低。

10月25日晚上重新整理了简历,加入了这三个月的本地经验,重新修改了cover letter。幸好我在找工辅导班学到的东西还没全忘,改好的简历让兔兔review一遍就过了,不然要是像夏天的时候那样,光简历就改个七八遍,心里就更难受了。

从10月26日,就开始疯狂网投。用我自己的话来说,就是绿着眼睛找工作,找到所有能找的网站,申请了所有能申请的职位。一共申请了35个职位:

10月26日 申请了3个职位
10月27日 申请了4个职位
10月29日 申请了2个职位
10月30日 申请了12个职位
10月31日 申请了5个职位
11月1日 申请了3个职位
11月2日 申请了3个职位
11月3日 申请了3个职位

11月1日的时候,在家赋闲的第一天。接到了一个公司的简短电话面试,一个游戏公司的email回复,让我答了一份卷子,还有另一个公司的在线逻辑考试。这是一个好兆头,夏天的时候,我可没有这么快就收到这么多的回复。

11月3日,我一直觉得那是个奇迹。其实我在前一天就看到那个职位在招人,但是这是一个中介的职位,而我在10月底的时候已经申请过同一个中介的另一个职位了,按理说我的信息已经在他们的数据库里了,所以我就没再申请。但是11月3日那天,我找了半天也才找到两个可以申请的职位,又看到了这个职位,又注意到虽然是同一个中介的职位,但是联系人的email不一样。于是想,管它呢,再投一份。
10:33AM 发出了简历
10:38AM收到了该中介的电话,约我11点面试,因为距离很近
10:45AM 收到了该中介的email confirmation, 和详细地址
11:00AM 中介面试,持续约1小时。面试时他告诉我,他下午就要去见客户,就会把我和其他两个候选人的信息给客户看。如果客户决定面试我,他会再跟我联系。
1:49 PM 收到中介邮件,确认客户要面试我,面试时间定在11月7日下午两点。之后,又收到了他的一些邮件,关于怎么准备HR问题,以及3个在线测试,分别是C#, ASP.Net和OO的测试。

11月7日下午,提前一小时出了门,结果坐skytrain下车后周围一片荒凉,心里有些慌,居然就走错了方向。走了大概500米才见到有建筑物,才发现门牌号的趋势不对,只好往回跑。而这个公司所在建筑物的门的结构又比较怪,最后满头大汗进入公司的时候,已经迟到了5分钟左右。一个看上去很和蔼的人接待了我,说没关系,这个地方不太好找,很多人第一次过来时都会找很久。坐在会议室中,擦了擦汗,心跳还没有平静下来,就开始了第一轮面试。第一轮是两个人,一个就是一开始接待我的那个白人,另一个是亚洲人,不太像中国人。先谈了谈我做过的项目,然后问了一些C#, Sql, XML, XSLT, AJAX的问题。这两个人都比较nice,经常说我回答的已经比他们期望的还好了。比如说让我去写一个使用AJAX的例子,我就写了if (browser.version….) obj = new XmlHttpRequest(); else …我说我已经记不清具体的判断条件了,可能是浏览器的版本高于IE6之类,如果版本较低则必须用另外一个类。他就说,已经非常好了,我本来只期望你写出XmlHttpRequest() 就可以了。还有他给了我一个XML和一个XSLT让我写出输出结果,我写出来了,后面他又给我了一个看上去更难的XSLT,有一些*.之类的符号,我看了看实在不知道到底什么意思,就告诉他不会。他马上说没关系,事实上这道题很偏,从来就没有人能做出来,如果你能做出来我们反而会觉得很惊讶。还有就是问我delegate是怎么回事,我说了几句,觉得比较难以说到点上,于是就去白板上举了个例子,于是他们看上去也很满意。我也不知道面试了多久,最后他们给我留了3套题让我45分钟内做完。一套C#的,一套好像是OO的,记不清了,另一套是SQL server或者ASP.net的,我选了SQL server的。题最后基本上做完了。
第二轮面试是一男一女,男的是白人,握手很轻,女的像是日本人,握手很有力。他们主要问javascript的问题,所以事实上也没几个问题。拿了几个打印出来的javascript和html code, 问我某些界面元素的behavior 之类的问题,还是相对比较简单的。因为实在也没什么可问的,他们俩还跟我聊了聊考MCSD的事儿,说在这个公司考证书老板会给报销费用的。最后那个女的还说最近公司要来好几个新员工,所以我过来之后不会觉得太孤单,呵呵,这话让我听得很高兴,好像已经定下要我似的。
第三轮面试是去了Director的办公室,由Director和他办公室里的另一个人一起进行的。这轮面试基本上没问太细节的问题,讲了讲在微软做的Automation test是怎么回事,另一个人问我关于我做过的项目的最大规模的问题,把我问住了,我说不知道如何回答,他说就是多少server之类的,我只好说这些事情BA知道,我不清楚。然后Director就给我解释说,这边的数据中心都是由我们公司维护的,所以developers一定要写高效的代码,否则我们就得买更多的服务器,花更多的钱,那么你们的bonus就没了。还问了我为什么会这么快就离开原来的公司,我实话实说,并且说我已经知道这样不好了,打算稳定下来,他并没有表现出不满。到了我问他问题的阶段,我就问了问公司的隶属关系,开发人员人数之类的问题。面试结束的时候,Director主动把他的名片给了我,并且把我送出公司大门,让我觉得希望还是挺大的。
此次面试一直持续了3个半小时。一出门,打开手机,居然收到了一个意想不到留言,是原来公司的老板留的,说他希望我能够再回去为他工作,让我感觉到BC省的劳工看来还真是挺紧缺的:)

第二天,收到了中介的反馈,说他们对我还是很满意的。我的C#, XML不错,SQL-Server非常强,是所有候选人中最强的,但是asp,javascript比较一般。所以他们考虑让我去做backend而不是frontend. 于是要再给我安排一个面试,定在了11月15日上午10点。

11月15日的面试,我特地提前10分钟到。这次的面试持续了2个半小时,面试我的只有一个人,就是我后来的team lead. 此人也是白人,说话没口音,但是不知道为什么坚持叫我Karry而不是Carol, 可能他觉得这两个词发音一样?呵呵。他一开始就说我上次面试得非常好,通常他的backend team是只要Senior Developer,而不要Junior或者Intermediate level的,但是由于前面面试我的人觉得我非常不错,所以一定要叫他过来看看我是否可以为他的team做点什么。
他一开始问我问题我就意识到这次面试果然跟前一次不一样,第一个问题是Stored Procedure和user defined function有什么区别。我说了几点他都说不是最重要的区别。他说比如这个查询select function1(id) from orders, 你猜一猜Microsoft是如何实现function的,我一时想不出来,他就说,ok, 你先把这个问题放一边,我问你另一个问题,你用过cursor么?我当时居然还没听懂这个词,还让他帮我把cursor写下来,我一看,突然恍然大悟,啊,你是说Microsoft实现function的时候用了cursor?! 他说对,这就是function的最大不利之处,效率差,所以MS建议能不用就不用。他问的问题基本上我都不能一下答出来,但是在他的提示下,基本上能说个大概出来。他后来给了我两份题,一份C++的,一份COM的,说让我只答有把握的题,还说这两套题的分数不会决定我是不是被雇佣,而是决定哪个team更适合我。结果我把C++那套题基本上都答对了,COM那套题基本上都没答对。面试结束的时候,他对我说他会再去跟Director以及中介谈,最晚第二天结束的时候会给我消息。

事实上,消息来得比我想象得快。中介当天下午就告诉我他们打算给我offer了,而且薪水比最初他帮我提的还要稍高一点。但是在给offer之前,他要check reference,如果没问题,应该第二天下午我就可以去他那里签offer了。结果我就把我的3个reference挨个催了一遍,他们都在第二天上午之前就把中介给他们发的表格填好寄回去了,还都说了我很多好话:) 中介第二天一早跟我说,因为这家公司是美国公司,所以必须还要再走一个步骤,就是要check我的犯罪记录。我需要去他的办公室签一下授权书,美国那边就可以开始调查了,估计下周一二应该会调查完。于是赶紧过去签了,就开始静等。按理说到了这个时候应该已经基本上算是稳拿offer了,但是由于见识过拿了offer还变卦的情况,我就还是挺不放心。总算,11月21日下午1点多,中介告诉我已经调查完了,跟我确认了开始上班日期,他又去跟公司那边确认了一下。于是说让我第二天上午11点的时候去找他签合同。后来他第二天早上9点给我打电话说他已经拿到offer了,如果我愿意我9:30就可以去签,我是如此的不放心,以至于当是以为又出什么变故了,后来才慢慢反应过来,可见那个神经病公司对我的心理伤害有多么的深,55555

然后,就很高兴的跑去把offer签了,11月24日第一天上班,考察了一下他们的厨房,发现内容很丰富,比微软中国的要好,呵呵。看一个公司的好坏,要看它的厨房。这个公司是世界500强的公司,能从一个名不见经传的小公司一步跳到这么好的一个大公司,确实让我很兴奋,更何况自己还是过来没多久,语言上还存在问题的新移民呢。

总结:
1)找工作要有胆量。
如果不是亲身经历,我怎么能相信以我这种三脚猫(或者甚至才两脚)的技术水平,和正在提高但是仍然不高的英语水平,可以进得了世界500强的公司呢。
我还给EA投了简历,投的时候,自己都觉得自己纯粹是在浪费人家时间,人家怎么能看上我呢,不仅技术一般,语言有问题,而且没做过游戏。没想到人家居然还就理我了,到现在为止,已经进行了一个简短的电话面试,和一次长达40多分钟的电话技术面试。不管我是否进入了下一个流程,至少我的简历不是白投的。

2)面试一定要准时。
到温哥华以来,我一共面试过4家公司,第一个就是我工作了3个月的那个公司,第二个是那个神经病公司,第三个就是现在这家公司,第四个是一个INC500的公司。我面试前3家公司都是基本上没迟到,结果就是都拿到了offer(且不说那个神经病公司后来又cancel掉的问题);第四家公司我面试的时候居然迟到了25分钟,我无法解释为什么会迟到那么久,真的就是迷路了,在距离公司直线距离不超过200米的地方死活找不到要找的路。这边有些地方确实很偏,路上人很少,想问人也很难,甚至问了一个老先生,他说他在那边住了20年了,都没听说过那条路。面试之前一定不要想当然,觉得下了车就400多米的路我还能找不到?结果是真得能找不到!如果真得很重视这个面试的话,不妨在面试前花费一点时间和金钱去过去看一趟,即使做不到这样,也要尽可能多的提前一些时间出门。觉得这虽然是老生常谈,但是确实确实非常重要,而且一旦迟到很久,基本上无法补救。

3)对公司的兴趣。
提前拿出时间来研究公司的网站,往往可以在company news这一栏里找到有趣的可以拿来提问的新闻。按照我的中介后来跟我说的,我的新公司发现我不是最适合我申请的那个职位之后,不是放弃我,而是找到了另一个更适合我的职位,最重要的原因是我显示出来了对这个公司的强烈兴趣。呵呵,我虽然不是很同意他的观点,但是我相信这应该是一个原因,虽然不是最重要的那个原因:)

温哥华骑驴找马记(上):把驴骑丢了

上次在blog里面写了一篇”面试一个神经病公司的经过”, 本来以为跟那家公司的全部联系已经结束,没想到,10月13日,在我把它拒了的8天之后,我收到了HR的信,那个人说:如果你还对这个职位有兴趣的话,我想安排一个时间跟你谈谈,看看有什么办法能够让你接受这个职位。鉴于我认为它神经的主要原因就是它的工资给得太低,既然它这么说,看来有意要给高一些的工资。于是我觉得还是应该再跟他联系一下,最后约了10月18日下班后去他们公司谈一谈。

本来以为他提供的工资会达不到我的最低要求,但会提供一些例如bonus,或者涨工资的许诺来促成这件事。没想到我去了之后,那个人唧唧咕咕的说了半天,什么诸如跟那个Sr. Architecture 商量了半天,最后决定给我个机会了,如何如何了。我听得有些不耐烦的时候,他把新offer拿出来了,上面的工资跟我的最低期望是一致的。而且,那个人还说我去了之后,因为我比较有工作经验,他们打算在UBC或者SFU再招2个刚毕业的学生,让我做他们的Team Lead. 我感到很高兴,为了工资也为了居然能够带这样的名校毕业的学生(我前一段还在看着UBC眼馋,想着啥时候能去那里读个学位);但是由于面试这家公司的初衷本来是想拿一个较好的offer 回去跟老板要counter offer, 而且又觉得这家公司总让我感觉有点神经,所以就问他可不可以拿回去签。他说可以,于是说定那个周五(10月20日)结束前我签好并且寄出给他。

回家后,先是心理发生了微妙的变化,觉得这个神经病公司似乎也不算神经,他们做的是图像的处理,上传,搜索等,似乎还比较有意思;而且语言环境比较好,估计如果去了,英语会提高得很快;再就是可以做team lead,带名校的毕业生。于是就开始犹豫如果我的老板真的同意给我match the offer, 那么我到底应该选择去那边。刚好第二天有事请假没去上班,第三天,也就是10月20日,到公司的时候,也还没有想好。

到公司之后,觉得很不好意思跟我的直接领导开口。正在犹豫着怎么说的时候,他突然问我是不是已经来了有3个月了,我说是。他也没再说别的,没想到过了一会儿,我居然收到了他写的表扬性质的email,发给我并且抄送给两个老板。我一下呆住了,觉着这下惨了,我怎么就没有早一点跟他说offer的事儿。但是也没办法了,就告诉了他我在犹豫到底该怎么跟老板谈,因为我还没有没想好到底如果工资一样去哪边。后来他说了一句话,他说你现在这样犹豫不决,说明那个公司并不是很好,你不如继续留在这里,等待另一个好到了让你无法拒绝的offer. 我当时觉得他这话虽然有道理,但是也只是为了留住我,毕竟我是个新移民,英语和技术都不是太强,还能指望拿到多好的offer啊。

不过,他的话还是起了一定的作用,后来我在跟老板谈的时候,已经决定是以打算留下的心态来谈了。可是,老板的态度出乎了我的意料,两个老板先是说要商量一下,下周一答复我。然而过了几分钟,老板又叫我过去说他们不打算留我了。关于哪天是最后一天的问题反而争执了一下,我的意思是到10月31日,他们觉得我应该按照惯例提前两周通知,我说我还在试用期,所以应该不需要提前这么久,他们说按照北美的惯例即使是在试用期也要提前两周通知。最后没有谈拢,老板让我下周一再给他答复。我于是就马上把那个offer签了并且寄出去了。

周一中午的时候,我收到了新公司的HR的email,说他已经收到我签的offer了。于是我给我的老板写email说我已经决定最后一天是10月31日了,我的老板没理我。

本来以为这件事到了这里,就该是顺理成章的11月1日去新公司上班,不管最后原公司的老板怎么想。没想到,更大的曲折还在后面。。。

周二早上,一收邮件,惊讶的发现新公司的HR又给我写了封email. 赶紧一看,居然他说他刚刚接到通知,说公司的老板正在商讨要把公司卖掉,而卖掉之后,他们的地点就移到了美国的维吉尼亚。他们不能雇我了,但是如果我对这个新的地点仍有兴趣的话,他会把我的信息推荐给收购后的新公司。。。看了一下发送时间,是周一晚上9点多,真不知道他早干什么去了。

遭遇如此打击后,我愣了一会儿。然后跟我的直接领导说了一下,他建议我再去跟老板谈,他觉得老板应该会让我留下的。于是我又给老板写了一封很诚恳的email,说了我还想留下,把原因也实话实说了,结果老板还是没理我。

周三的时候,老板来找我了。他说我们这个公司是小公司,不能忍受员工的不忠诚。我说我已经接受教训了,我原来没有想过工作的稳定性有多么可贵,但是现在我知道了,我会在这里稳定下来至少呆一年。但是他不同意,他说他担心再过3个月后会不会我又拿了另一个offer然后要走。我再怎么说,他也不同意,最后正式跟我说10月31日就是我的最后一天。

10月25日到10月31日,是我到加拿大之后最为失落的一周。实在想不通为什么这样稀奇古怪的事情都被我碰上了:拿到手的offer被cancel了;放下面子跟原公司老板谈留下,却又被他拒绝。不过,进入了11月份后,工作的事情马上柳暗花明,原公司的老板居然连发3道金牌(1。亲自打电话,我当时关机,于是给我留了言;2。第二天上午又给我发email;3。第二天下午又委托我原来的直接领导给我写email。)想让我回去,但我并没有回去,而是最终去了一个非常好的公司。

[下一篇 找到一匹高头大马]