新西蘭
繁體中文(香港)
分享

纪念我们在新西兰工作一周年!原来国外的工作生活也可以这样有趣。

转载作者: 新西兰移民家园
纪念我们在新西兰工作一周年!原来国外的工作生活也可以这样有趣。
摘要去年7月,我和小烦不顾家人反对,在前路一切未知的情况下,双双辞职来到了新西兰——坐标,惠灵灵顿。

本文授权转载自公众号:小橘和小烦

微信号: xiaoju-xiaofan

小烦按:小橘的第二篇流水账,鼓掌!

去年7月,我和小烦不顾家人反对,在前路一切未知的情况下,双双辞职来到了新西兰——坐标,惠灵顿。中间的过程暂且不表,感兴趣的朋友可以翻下我们的历史文章。一直以来,我都没有写过一篇关于新西兰IT工作的文章,所以今天我主要想写一下在NZ做程序员的工作内容和感受,希望对国内的朋友有所启发和帮助。

hougarden

-在第一家公司的工作日常

hougarden

我第一个雇主是是一家nonprofit organizationfunding主要来自于政府部门MSD(Ministry of Social Development)。当时这个组织正在组建专业的IT团队,等到我加入时,我们已经招齐了Product OwnerProject ManagerData AnalystDesigner2Tester 4Developer,这阵容对于一个小公司来说已经相当豪华了。这其实就是一个典型的敏捷开发的团队,麻雀虽小五脏俱全。紧密协作,各司其职,朝着一个目标前进。这边绝大部分公司都会使用Agile的开发模式。

既然说到了Agile,那我就专门写写Agile以及我们是怎么应用敏捷开发的吧。希望对于不知道或没应用过Agile的朋友,特别是对过来找工作的朋友参加面试多少有点帮助。

敏捷开发的方法出自一个叫Agile Manifesto的宣言,我在宣言找到了中文版的解释。

我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。

由此我们建立了如下价值观:

个体和互动 高于 流程和工具

工作的软件 高于 详尽的文档

客户合作 高于 合同谈判

响应变化 高于 遵循计划

也就是说,尽管右项有其价值,我们更重视左项的价值。

讲下Agile中的一些概念,角色涉及Product OwnerTeam MemberScrum Master。实际上很多公司具体实施的时候没有Scrum Master了,而是Project Manager在负责管理、协调和组织。PO代表了最终用户的利益,他来拍板产品和功能是否达到了标准;同时,POBusiness Analyst会负责产品Roadmap的建立,粒度从大到小分为EpicStoryTask等,插入到backlog中。Sprint就是一个迭代周期,通常是两周,然后每个Sprint开始前会有PlanningPO会从backlog里面把一些story拉到todo项中,然后PO/BADefinition of Ready的标准来refine这个周期中的storydeveloper就可以把ready状态的story拿来开发,开发完成的功能可以由tester拉去测试,最后由PO决定是否accept,这里可能还有一个Definition of Done的标准。

每天早上团队会有一个stand-up 会议,控制在15-20分钟,主要是让大家知道每个人在做什么,有什么困难等等。每个sprint完结时会有Retrospective,团队成员一起review过程中的不足,brainstorm更大的障碍以及今后可以改进的方向。总之,在整个软件开发生命周期中,就是不断重复sprint,直到最终的交付。

其实习惯了Agile以后,我和小烦把家里的事情都开始用类似的工具进行记录和管理。推荐Trello, Waffle.io,我们会把要做的事情,预约,购物计划都写上去。这样每天看一眼board就知道对方做了什么,如果有解决不了的事晚上再开个家庭短会商量下。以前就是经常忘记要买什么,或者买重复了,有时候甚至忘了安排好的预约。

hougarden

-家庭Trello board示意

顺便再说说工具吧。以前在国内我其实是比较反感公司内部的各种管理工具的。一是不好用,二是很多时候走形式。没有一个进度跟踪以及文档关联的一套工具。

我也是出来以后,才觉得国外很多比较好的工具。比如项目管理Jira,文档管理Confluence,办公通讯Slack,日程安排Google/Microsoft Calendar,音乐Spotify,新闻Stuff(哈哈,最后两个可有可无,老外上班比较喜欢戴耳机看网页)。Jira可以安装Kanban board的插件,可以非常清晰的看到每个story的进展情况。通常说来,一个story从诞生到完结有至少这个几个状态,ReadyWIP(Dev)DONE(PR)TestingPO Accept等。

说说我日常的工作的一天吧。我一般早上9点到公司,先检查一下邮件的收件箱,看有没有重要的邮件或者invitation,要参加的meetinggathering我一般会加到Calendar中,这样我就能提前收到日程安排的提醒,不至于错过。这边的会议组织一般都走邮件的邀请,参不参加都需要回复下,组织起来井井有条。

9:30开始stand-up meeting,时长15-20分钟。一般是PO或者PM组织会议,我们会把Kanba board投放到大屏幕上,每个成员的task都看的一清二楚。然后大家挨个快速简短的讲一下手上的工作,任何诉求或者blocker(阻碍工作进度的事情)都应该及时提出来,然后PM就会根据实际情况去协调。

站会之后就是每天开始干正事的时候,developer的主要日常就是写代码,这点我就不多说了,毕竟每个人做的方向以及用的开发语言都不尽相同。至于tester,基于目前大多数都是在做automation testing的情况下,他们每天也要花大量时间写自动化测试的代码,所以感觉跟开发差不多。不过新西兰程序员的工作量都不会很大,加班是不可能的,这辈子都不可能的。


中国人的通病是做的太快,一般老外几天的工作量中国人一天就要把它做完。后来发现做的太快也不好。项目忙时候,当你做完了手上的活,PM又会给你分新的活,一个接一个前仆后继。然后发现你的同事不紧不慢的工作后,顿悟自己太傻太天真;项目不忙的时候,你发现做完手上的活就没事了,接下来可能是一连几天的无所事事。自己无聊倒无所谓,关键是PM发现Kanban上没有你的任务时,心里上会觉得你没有在工作,导致对你印象不好。所以掌握工作节奏很重要,不要太快要不要太慢,自己根据团队和项目情况去调节。

通常相比大公司来说,小公司要求你做的事情会更多一点。好处就是你可以学到更多的东西,比如除了development你还可能会接触一些DevOps的事情,比如ContainerCI/CD。小公司一般hostcloud上,那么又会多少接触点AWSAzure。大公司人多,每个人做的事情就会更专注一点,适合喜欢轻松稳定适当摸鱼的朋友。

我第二个雇主是某银行,每天工作7.5小时,我是9点上4点半下。有些接孩子的同事7点半来,3点就下班接娃放学了。我们team上午10点还固定去楼下喝咖啡,然后再除去中午吃饭的时间,所以..(捂脸)。反正习惯这边的工作节奏了以后,回国肯定不适应了。而且工作环境也很不错,多屏+电动升降桌,桌面足球、乒乓球、台球、PS4XBOX样样俱全,还有有氧健身区加洗澡,对于我等没见过世面的人肯定满足了。

hougarden

-公司活动室1

每周五下午很多公司都有个casual gathering之类的,就是大家一起聊天喝啤酒,是个很好社交活动。这边公司人员的组成还是比较diverse,来自不同文化背景的移民,相互之间可以增进点了解。另一方面,因为不同的口音,这是个练听力口语的好时机(捂脸)。我认为,华人程序员除了要保持自己在技术上的竞争力之外,更要持续不断提高自己的英语水平。技术当然是我们的立身之本,是我们找到工作的保证;英语好,让我们今后在更大的平台上从容不迫谈笑风生。技术决定下限,英语决定上限。

hougarden

-公司活动室2

近期我们人在国内休假,一些朋友也在咨询技术移民的问题,他们普遍还是觉得英语是第一个拦路虎。担心雅思考不过,其实总分6.5真的不难,以国人的考试天赋刷刷题都可以搞定。雅思考得再高到了国内还是会发现不够用,唯有亲身沉浸在英文环境中才能继续提高。不过也不用担心太多,外国人一般都会体谅你的英文水平,只要你有实打实的IT技术加上基本的英文交流,工作是肯定没问题的。

好了,皮皮冒完了,又要回去搬砖了。欢迎大家留言交流。

(责编:Stella)


转载声明转载声明:本文系后花园转载发布,仅代表原作者或原平台态度,不代表我方观点。后花园仅提供信息发布平台,文章或有适当删改。对转载有异议和删稿要求的原著方,可联络[email protected]