伯乐访谈之程序员在国外:陈远 – iOS开发者在澳洲

411 查看

这篇访谈延续了伯乐在线之前的“程序员在国外”话题。受访的主人公是移民澳大利亚的iOS开发者:陈远。

陈远现居澳大利亚墨尔本,在移民到澳大利亚前是居住在上海。他在伯乐在线发布过几篇文章,而且还帮助我们翻译过一些文章,比如:《亲爱的商界精英们,开发一个iOS应用没有那么容易》,之后我们一直有联系。陈远在我们的印象中是一个喜欢打网球、热衷于长跑、喜欢分享和很有爱心的人。这次长达数小时的采访中,我受益颇多。同时对陈远也有了更多的了解。

做iOS开发的这2年:30而立投身iOS开发嫌晚?

陈远

下面将会以一问一答的方式来分享采访的内容。我说的话仅保留了问题,重点是原汁原味地表述陈远分享的内容。​

另外,陈远的个人博客是:http://ciderstudios.com/新浪微博Twitter

(注:下文涉及的金额单位都是澳元。2013年12月18日,1 澳元 = 5.3966 人民币)

—————————————

伯乐在线:现在具体在哪个城市?那边环境怎么样?

我在墨尔本,这里气候变化比较大,昼夜温差蛮大的。12月份算是入夏了,接下来1月2月都会是不错的天气。这里的环境也不是完美的,澳大利亚上空臭氧层有个洞,所以紫外线很强,澳洲是皮肤癌高发地;另外墨尔本每天春季空气中花粉颗粒会多(植被多的缘故),有些人会得过敏性鼻炎(当地叫hay fever),连着一两个月鼻涕眼泪打喷嚏。

 

伯乐在线:现在一直还坚持长跑吗?

我一周跑3次左右,每次5-7公里。计划是看看2014年能不能跑半程马拉松

 

伯乐在线:融入墨尔本当地的生活圈子是不是挺顺的?前段时间看你的微博,好像家人也过去了?

我是2012年10月底到的,老婆孩子2013年2月底来的。相对来说,是比较顺利,很幸运。找工作比较顺利。融入当地生活圈子谈不上,还处于学习阶段,哈哈。

 

伯乐在线:为什么想到去澳洲工作?

我办理的是技术移民,2008年底接触到移民澳洲的概念,一个原来公司的好哥们跟我提到的(他现在要去加拿大了……),当时对移民澳洲的概念还是很模糊,没有很强烈的意愿。2009年到2011年就在准备英语考试(雅思),和技术移民需要的其它材料。2011年3月份批下来的移民签证(就是PR,永久居住签证)。那个时候孩子刚出生,自己还是没有下定决心,所以拖到了去年才过来。

很多人问我为什么来(去)澳洲。这个问题很难回答,我和我老婆主要是抱着“换一种活法”的态度来的,没有明确的是或者非,好或者不好。一种人生经历吧。另外,我个人有个自私的缘故:因为我喜欢网球,墨尔本是四大网球盛会之一澳网的主办城市。

 

伯乐在线:父母当时支持吗?毕竟,你们要到南半球去。

我是移民快办理好了才跟父母说的,我爸一开始很难接受,我妈性格很开明,但是我能感觉到她也是舍不得我们,舍不得小孙子。当时也是做了很久的工作,把澳洲把墨尔本描绘得跟花一样……后来我爸也算是看开了,他跟我说要是觉得去就早点过去发展,毕竟也不小了。

我来到这里,当地人问我澳洲怎么样,我说80分。因为我很喜欢所以给80分。如果老婆孩子都能适应都能喜欢,那就是90分。如果最终完美解决和老人团聚的问题,那就是100分。

 

伯乐在线:现在你爱人和小孩都已经到了墨尔本。澳洲这边对类似你还在国内的父母这种情况,有什么相应的措施吗?

一种是办理探亲签证,五年多次往返,每次来可以住半年到一年;还有一种是给父母办理移民,不付费的话,要排队因为很多人在办理,可能要等10年,付费的话很快就能批下来,父母来了是享受免费医疗(其实还是要私人医疗保险更靠谱),居住满一定年数,开始领取澳洲政府的养老金。不过,我觉得更大的挑战是如果帮助老人习惯和喜欢上在澳洲生活。来不是问题,短住也不难,定居就需要很大的决心了。年轻人来了还不一定能适应,更何况念旧的老人呢。

 

伯乐在线:你父母已经来过澳洲吧?

他们还没有来过,我计划2014年下半年接他们过来先住住看。我个人挺期待让自己的父母来住住的,让他们在有生之年也能体会不一样的生活。他们生活的那个年代,本来应该是缤纷绚丽的年纪,都活在格式化和体制化中了。

 

伯乐在线:记得你是2010年左右开始做iOS开发。之前是做哪一块?

对的,没错,做iOS开发有三年了。惭愧了,之前没有做过系统性的开发工作,虽然我是计算机专业毕业的,只在毕业后(2002-2003年)做过一年Java开发,之后跳槽到一家德资ERP厂商做技术支持,后来转作产品顾问。2009年下半年厌烦了工作就辞职了。开始做iOS是因为内心对写程序的渴望(我高中时代就把John Carmack作为偶像,天生码农命)和朋友推荐,误打误撞开始自学iOS开发。刚开始完全是因为各人兴趣学iOS开发,并没有意识到iOS的就业市场。

 

伯乐在线:你这也算是从Java转向iOS了,能聊聊技术方面的体会吗?

我那时用Java是网站开发方面的,Servlet, JSP什么的,现在都时过境迁了吧。Java和iOS开发我都是自学的,iOS入门应该难一点点,Objective-C也算是古老的语言了,再加上内存管理方面的东西。不过现在互联网太发达,自学的材料更多,网上解疑的渠道也多。移动开发,做出来的东西可以用手把玩,这也是让开发者兴奋的一个因素。

 

伯乐在线:转向iOS开发以后,怎么发现的澳洲公司职位?

我在动身来澳洲前,尝试联系过一些墨尔本当地的职位,澳洲最大的求职网站是seek.com.au,我就在那上面发掘职位。在澳洲整体就业市场不景气的环境里,iOS开发的就业市场倒是出奇的活跃(只能再次感谢苹果感谢老乔了)。其中多数职位是猎头中介发的,他们在知道我人尚不在澳洲(offshore),就不太情愿联系。倒是一些雇主单位很热情,我得到了两次Skype视频面试的机会,另外还有一个公司承诺我人到了澳洲就让我去面试。

我的两次Skpye面试都是技术面试,第一家公司的面试我完成的不好(当时问了我很多core data深层次的问题,我被问倒了。奇怪的是,后来到了墨尔本,他们又让我去二面)。另外一家公司的视频面试,由于准备得当,所以做的不错(问了一些编程常规问题,不是iOS相关的)。到了墨尔本后,又去他们公司面试了一次,让我当场在一个Xcode项目里面修bug和加功能,完成之后公司几个创始人再进来和我随便聊聊,第二天我就接到offer电话了,很快我就去上班了,这就成了我在澳洲的第一份工作,上班第一天距离我到达澳洲两个礼拜不到的时间,算是非常幸运了(再次感谢iOS市场……)

我的第一家公司是outware.com.au,他们是澳洲最大的移动应用开发公司之一,最近获奖很多。这家公司企业文化很好,员工都很年轻,我算是年纪大的了。我在outware干了4个月,学到了很多东西。之前在国内,我是做freelance,项目大部分是一个人完成,没有也不可能做大型iOS项目。我在outware的项目,有五个iOS开发,还有UX和UI设计还是分别的两个人,代码提交需要做peer review,经常开会讨论设计和refactor,真的是让我收获颇多(我应该提到以前没有做过系统性的软件开发)

澳洲的开发者聚会也很活跃,经常有各种meetup。墨尔本当地每个月有一次cocoaheads聚会,去的都是iOS/Mac开发者,每期会有两三个开发者自发上去讲不同的题目,也有公司赞助啤酒和披萨,更有招聘求职信息,可以直接和雇主单位管事的谈。参加cocoaheads也促成了我的第二份也是现在这份工作。国内不知道不翻墙能不能访问这个 http://vimeo.com/user10513709 ,这是墨尔本CocoaHeads的讲座录像。

 

伯乐在线:在国内,你参加过类似的聚会吗?

国内我去参加过在上海举办的CocoaChina聚会,还有每年WWDC之后苹果在上海开的为期一天的techtalk

 

伯乐在线:能谈谈国内和国外这种技术聚会的差异吗?

首先主办形式更加专业,你有机会看看Vimeo上的录像就知道了。演讲水平也不错,技术人员对着活人说话本来就是难事(哈哈),更何况在台上对着一屋子人说话。另外就是问答环节很热烈,机智和幽默的对话时常迸发。我第一次去CocoaHeads,那天晚上讲的都是测试方面的话题,TDD和BDD,还有CI。

 

伯乐在线:刚才你提到参加CocoaHeads也促成了你的第二份(也是现在这份工作)。能介绍一下这块吗?

CocoaHeads还有一个Google Group,算是线上论坛吧,时常会有招聘信息贴出来,我也是浏览论坛的时候看到了一则招聘信息,就发了我的简历过去,然后就被叫去面试了两次,然后就跳槽了。跳槽主要还是经济上的原因(大家懂的)

 

伯乐在线:相对CocoaHeads而言,你觉得国内的技术聚会有哪些可以参照改进的地方?

其它技术方面的聚会我不知道,我走之前觉得iOS开发者聚会不多,尤其在上海,希望聚会密度能更大一点。另外,赞助厂商提供赞助和合理的打打广告就可以了,演讲者最好还是开发者本人。另外就是也给来点啤酒啥的,干聊没意思啊。

 

伯乐在线:参加澳洲这边公司的面试,从刚才聊的来算,至少有3次。你能细谈一下面试这块吗?

我只能说我经历过的技术面试了。会问一些通性的问题,算法/数据结构/数据库/设计模式/面向对象,还有就是Agile,澳洲还是很信Agile的;另外对于TDD和BDD也有问;iOS相关的,主要难点是问内存管理这块(让我修的一个bug,就是内存泄漏方面的,虽然当时arc已经有了,那个项目用的还是non-arc),另外就是cocoa里面常用的一些设计模式(代理/MVC/KVO)。后来我也给别人做过几次技术面试,我会问问应聘者做过的iOS项目里面都碰到的什么难点,为什么难,最后怎么解决的,自己事后有什么体会;另外我会问问应聘者会经常用哪些第三方库。

 

伯乐在线:有过笔试吗?

有,不是很夸张,就是写一个字符串处理函数,编程语言不限制,然后看看能不能进一步优化,看看能不能用递归实现,最后算一个复杂度。另外还有一个是数列排序的,但是对运行机器的内存有限制,要求合理运用内存。最后谈一下和国内技术面试不一样的,我想也是大家关心的。那就是语言关了。澳洲是移民国家,所以对英语能力和口音的接纳程度比我们想像的要高。所以,不用特别担心,仔细听慢慢说,不懂就让面试官重复就可以了。我知道因为语言问题不能通过面试的案例很少。

 

伯乐在线:工作方面,比如:工作的节奏、工作时间安排、工作量、团队协作和加班。你能谈谈这块吗?

也是朝九晚五,我上班的第一家公司相对更加弹性一点。早上到了公司会有一个简短的晨会(standup),站成一圈,各人把自己昨天做的,今天要做的交代一下,没有什么大的阻碍就分头做事了。中午午休一个小时,这里人喜欢把一个小时用满,天气好就在外面逛和吃饭。另外墨尔本人对咖啡的喜爱是出名的,所以公司里面都有咖啡机(不是那种按个按钮就出咖啡的机器,是要从咖啡豆碾磨开始,一步一步冲出一小杯咖啡的节奏)

前面说到这里开发用Agile,敏捷开发。开发任务会被分割成一个一个Story,然后项目经理或者技术经理会和开发人员一起评估每个Story的预期耗时,然后排出两周的开发量做若干个Story

所以大家都是从Todo里面找Story做,做好了放在test里面,如果QA通过了,会进入Client Test,或者被打回Todo。

我比较幸运,两家公司任职目前都没有碰到加班。5点钟大家都走人。如果前一次的Sprint没有完成,会总结为什么没有按时完成,是不是评估的时候太乐观了。澳洲码农的效率比咱国内的要差很多。我是说速度,做开发慢条斯理的,还要考虑测试案例,单元测试,集成测试。

 

伯乐在线:在刚过来工作过程中(特别是第一份工作),团队协作方面遇到过什么问题吗?

团队协作都很融洽,这里人喜欢开玩笑,一边干事情一边说笑话,毕竟都是年轻的公司。大的问题没遇到,小问题遇到过,就是团队的开发leader 效率不高,光说不练,笑话讲太多了。

 

伯乐在线:大老板也没有给多大压力?或者说来自客户那边的压力?

没有。以我们的眼光来看,澳洲人职业严谨度不高。客户似乎也是不着急。一开始上班,我总是觉得事情不够做,又不想总是跟team leader要事情做,因为想和其他人保持节奏。

 

伯乐在线:咱们聊工作之外的话题。在澳洲的生活成本有多高?

澳洲生活成本高的,据说是因为澳洲工资高(主要是体力劳动者的时薪高,带动了所有产业和物价)。生活开销大头在住房上(租或者买),吃饭花销比重不大。

 

伯乐在线:一般而言,iOS工程师的时薪或者年薪有多高?

这里工作分两种,Permanent,就是永久性员工,ios开发的行情,刚毕业的我估计在6-7万澳元年薪左右,干了一两年的在8-10万,资深的10-12万。公司会给Permanent员工缴纳养老金,是工资的9%,个人不需要缴纳。养老金存在个人的一个账户(没有被统筹),在澳洲这个叫Super,对应美国的应该就是401k账户。这里面的前可以选在不同的养老金运作公司代为投资。退休前没有特殊原因不能动用。另外,公司给存在super账户的养老金也要纳税(因为是个人收入),但是税率比一般所得税率要低。

Permanent 员工一般有20天带薪年假,10天甚至更多的病事假。(10天病假,也可以用于比如家人生病需要照顾等原因)

另外一种工作性质叫Contractor,雇佣单位是按小时算的,iOS的行情是60-120澳元/小时。有人算过,如果全年工作日都干满Contractor,那么年薪相当于时薪*2,举个例子,时薪60澳元/小时,干满一年工作日,就是12万年薪。当然,没有人能干满一整年。另外,Contractor是临时性,3个月或者半年,之后有可能续约也可能不需要。还有,用人单位不会缴纳那9%的super,你要是病了也就没有收入了。即使这样,普遍认为做Contractor是自己承担更大风险同时获得更多收入的途径。

 

伯乐在线:也就是说,Contractor 基本没有除时薪之外的报酬或福利?

是的。

 

伯乐在线:你认识的朋友(包括其他技术移民的同行),选择Permanent的占多数吧?

大部分都是干着Permanent的工作羡慕着Contractor的rate

 

伯乐在线:生活开销方面呢?

三口之家为例,吃一个月400-600,主要是自己做。公共交通100-200,我是每天11块,这个挺贵的。汽油1.3-1.5/升。住是大头。我现在都是公共交通,买东西和出游开车,我老婆平时开车接送小孩

 

伯乐在线:你开的高油耗的车吧?汽油1.3-1.5澳元/升不比国内高。

我现在都是公共交通,买东西和出游开车,我老婆平时开车接送小孩。开的是4.0升的车,油耗挺大的。

 

伯乐在线:居住方面呢?

住的话,这个就说我自己吧,房子不一样,租金差异大,我租过一个4房的,一个月租金1825。我有朋友租过1500左右的,反正如果整租房子,怎么也要上千的。有些是合租,反正澳洲房子大。不过最近买房子了,不租了。

 

伯乐在线:居住的地理位置呢?

离市中心20-25公里的一些suburb。华人多的区。

 

伯乐在线:那边治安怎么样?

墨尔本东面,尤其是东南面,华人亚洲人多的区治安都没问题的。西面还有市区北面治安差一点。

 

伯乐在线:澳洲的房价大概在一个什么水平?

澳洲房价很贵,悉尼/墨尔本都是因为房价成为生活成本高的地方。我这个房子是70万左右的成交价,两层楼4间卧室的那种,400平方米的地,院子不是很大。这里人上班去city,下班都开车或者做火车离开,到郊区生活。墨尔本房屋均价好像是50万左右吧。

 

伯乐在线:现在的公司也在市区吧?和家里相隔多远,上班途中花费时间长吗?

耗时长,乘坐公共交通,单程就要一个半小时。公司的位置不是很便利,到了市区还要倒一路电车。开车单程半个小时 (60-80公里时速进入市区)。

 

伯乐在线:刚开始到澳洲生活时,哪些地方不习惯?

还在体会中,我个人很适应。不喜欢的地方是人工贵,快递费也贵,快递只有工作日上班。网购很不发达,不能淘宝了。商店关门早,5点就关门,周四周五到9点。手机信号不好,估计基站少。

 

伯乐在线:时间不早了。最后一个问题。来澳洲工作的期间,你最大的收获是什么?

我来澳洲刚一年,老实说,这一年就是奔波的一年,工作,驾照,车子,房子,老婆孩子…… 这才安顿好。还在学习如何enjoy life。对我个人来说,最大的收获是通过和家人的暂时分离到团聚,更加得懂得珍惜自己爱的人。空气也好,食品安全也好,房子车子也好,最重要的是和自己爱的人在一起。另外我收获了一些新的友谊,海外的华人对华人多了一份亲切,大家有基本相同的价值观,很容易谈在一起。

伯乐在线:好的。感谢你腾出工作之余、和家人相处的宝贵时间来接受采访、为同行做分享。辛苦了,谢谢!晚安。

晚安。

 

////////////////////////////////////////

伯乐在线注:这次访谈的很多问题来自新浪微博 @程序员的那些事 的粉丝所反馈的和关心的问题。后续的伯乐访谈,涉及技术方面,我们还会在微信上更新(微信号:iProgrammer) 。欢迎关注我们,欢迎任何反馈。

Weixin QR code for Programming

如果你希望通过我们的采访栏目,分享你的故事。请邮件联系 editor@jobbole.com。