去年底,我失业了。
我生在武汉,虽然学的C#,之后却在本地找了个Ruby on Rails的工作,公司是个创业型的小公司,待遇在武汉也不算高,当时我觉得老板人不错,想法也不错,而且多学一门语言也可以扩宽思路,就决定跟他干了。一年半过去了,项目紧张地赶,虽然累,但老板有时和我讲讲人生,技术总监也不对我藏私,同事关系又比较轻松,我也感觉自己很明显的进步,不管是心态上,还是技术上。只是公司没盈利,我也一直没提涨工资。
本来我打算,如果开年了项目还没盈利的迹象,就提出辞职,去看看外面的大千世界。但计划总赶不上变化,刚到12月,公司就解散了,原因不提了。总之,我不得不提前思考路该如何走了。
想了半天,我还是决定搞Ruby on Rails:
一是我给自己的定位就是Web开发,也挺看好动态语言的发展前景,而Ruby是一个灵活到“好玩”的语言,Rails也是一个非常好的工具。
二是觉得虽然现在Ruby on Rails的岗位少,但相应的,公司要招人,他们能选择的人也相对较少,我的成功率还是比较大的(对技术方面,我还是有些自信的)。
国内的Ruby on Rails工作很少,我1年半的工作经验,能找的就更少了,所以我把目标定在北京和上海两个城市,只有这两个城市的工作机会才比较多,而考虑了地理位置后,就只有上海了。
确定了地方后,我开始想着,先发简历,能和对方电话面试最好,不能就算了,基本确定后再去上海面试。但第一次面试彻底让我改变了想法。
第一次面试是电话形式的,那个公司做的电信方面的业务。面试官问的技术挺细,我当时也是没准备,所以有些地方没答完全,电话面试后我印象比较深的问题有“alias,alias_method,alias_method_chain的区别?”,“用Ruby如何打开一个Linux进程,进程间又如何通信?”,所以后来我写了封邮件给HR,把这两个问题回答了。我想也许是那封邮件,后来才给了我复试的机会。因为我对先前电话面试的表现感觉挺不行的(刚睡醒就接的电话)。
过了几天,那个公司发短信,通知我去上海复试。但我当时不大想在没确定之前去上海,就和他们商量能不能再次用电话面试,当时对方很爽快的说过一会他们的经理会给打电话给我,进行面试,结果之后就没消息了。原因就不知道了,也许他们忙忘了,也许已经招聘到合适的人了。
事后想想,也挺有道理的,想找一个自己期望的工作,本身就应该摆正心态,自己都没对工作重视,别人怎么会重视你呢?
第二次面试,公司算是外资,我想公司业务是接国外的单子吧。其实说不上面试,对方只是和我打电话聊了一下,挺客气的,对我的情况还比较满意,但他们对英语要求比较高,希望我把薪资要求和学历,英语程度等信息发邮件给他。因为我英语阅读能力还行,其他就一般了,所以后来也没消息了。
原来我虽然知道有些公司要求英语,但都没太在意,认为技术磨练好,也可以找到一个不错的工作。这次算是当头一棒,现在想想,如果英语好点,选择面会更宽一些,有时说不定能救我一命呢。
从这次后,我决定,如果有电话要我去面试,就去一趟,到时候即使一家不成,也可以去其他公司试试。所以第三次有个规模不大的公司要我去面试时,我马上订火车票去了。
初到上海,有惊奇,更多是的彷惶,第一次搭地铁,转公交去旅馆,虽然我事先把Google地图的路线背了下来,附近有什么建筑物也记下了,但人家修路你总没想到吧?晚上在路灯都没几个的小路上转来转去,最后问一个民工兄弟才找到地方。本来计划到旅馆后就上网查地图,因为我第二天就要去面试,结果进了房间居然没网线,还要到一楼前台去拿,更绝的是那家伙和我说网线被借完了……结果又跑到外面网吧去上网……
第二天下午去面试,公司是做印刷行业的。这是算第三次面试了,好歹有了些经验,面试比我想象的简单很多,没有问Ruby元编程,没有问Linux,也没有问开源项目,了解了一下情况后,就让我做一个题,给我一些用户、角色、权限的表,要我做一个添加权限的功能,MVC三个层面都有,用纸写。我觉得关键就是考多对多关联和级联添加、params的数据组织勉强也算。花了半小时写完,又修改了一下,再写了一些设计思路,因为有一张纸我改的比较乱,就重新拿纸抄了一份,这就将近一小时了。之后又聊了一下,他说下个星期一才能给我消息。
可能有前两次的经验,这次感觉比较轻松,这也和面试官比较随和有关,不是我想像中的那种喜怒不行于色的“专业人士”。白天做题时,我为了代码不累赘,用了一个原来没用过的association特性,回去后赶紧又实际敲了一遍代码测试,结果证明可行。其实面试也是对技能最好的考验,能够印证你的思想是否正确,也可以找出你忽略的知识,不论面试官的问题你有没有答上来,都会对自己获益良多。
第四次面试,可以说是最难的一次,也是让我收获最多的一次。公司是做集邮的,有一个不错的竞拍网站。
那家公司在一个大楼的30多层,原先电话里说的是上午11点半面试,因为地形不熟,我打算提前去踩点,然后到周围逛逛,时间差不多了再去面试。结果一出电梯发现对面就是前台,然后前台小姐直接问我是干什么的……就这样被拉着填了一份个人信息,然后坐着等面试……半小时后,面试官来了,简单介绍一下后,就拿着一份卷子让我做,有些题目比较泛,像“Ruby语言的优点和缺点”,就直接口述了。题目涵盖面挺全的,从Ruby到SQL到Linux,让我奇怪的是涉及纯Ruby的很多,Rails的却很少,后来才知道他们是用纯Ruby处理后台逻辑,网站反而不是Rails弄的。这次的问题我基本上都有回答,但质量连我自己都不满意。之后他的很多提问也是针对Ruby的后端优化,我平时工作没涉及过这些,没答上来。最后他们经理说如果满意,这星期会通知我去复试,从表情也看不出来是不是“惯例问候”,倒和我心目中“喜怒不行于色”的面试官形象挺吻合的……
这次面试收获挺大的,它促使我认真的思考一些原来没怎么仔细想的问题,而且用纯Ruby做后台也我原来没想过的,也是比较欠缺的。 仔细回想一下,当时的一些问题我也不是不会,有的以前项目也碰到过,但平时没仔细想,需要临时思考时就回答欠妥了。
因为感觉面试结果不佳,我对最后一个公司复试不怎么报期望,而且星期一就基本确定一家公司了,后面的面试只是给自己多几条后路,正好那时又病了(实际上已经病了三天了,只是到那时非得吃药),就下定决心,给剩下投了简历的两家各打了一个电话,得知他们没有要我去面试的意思后,当天晚上就直接回武汉了。下午在火车上,碰到一家公司要我去面试,只好拒绝了。
事情很戏剧化的在第二个星期出现了转变,我第四次面试的公司突然打电话来,说对我感觉还可以,问我去不去复试……当时心情不好形容,因为从技术角度而言,我是比较倾向于那家公司的,而且各方面条件也确实不错。但最后还是拒绝了,原因不说了。
下午本来在看“策略模式”,说起来挺好笑,也是因为那个公司面试官的问题,我感觉有一个问题可能考的就是设计模式,可惜拿那个问题问了几个同学都无解……后来没心情看下去,才写了这篇牢骚文,以此记录下我的这次上海之行,也记录下自己做过的决定,供以后的自己审视。可惜我准备把这次心得写到未来不知哪一天的“我的十年感言”中的……
这次找工作的经历,使我成长了许多,人生确实面临很多的选择:发展方向的考虑、同学的邀请、原来老板的帮忙、公司的选择……突然感觉挺像RPG(仅说欧美的,日韩不谈了)的:做出选择,承担相应的后果,扮演自己的人生。虽然有时令人困惑,有些抉择令人难过,但人生精彩,不也是因为如此吗?我能做的,就是相信自己的判断,并有承担后果的勇气。
先做人,再做技术人员,最后做程序员,借老赵的这句话,送给未来的自己。