在英国工作了一个月,想和大家聊一聊在那的工作环境、工作气氛和工作方式,一方面这些东西每家公司都有,但都不太一样,可以相互参考借鉴,另一方面作者本人对于公司的管理文化体系非常感兴趣,喜欢观察和研究它。
这是一个新成立的研发中心,位于在伯明翰---英国的第二大城市,就城市的规模来说其实和国内的4线差不多,人口的话估计和一个县城相当吧。
办公室的布局及人员的组织架构
办公室的面积是挺大的,尤其是相对于30多个员工来说。坐在里面是非常空旷的,并且由于办公室所处的楼层比较高,四周都是玻璃墙,伯明翰整个城市的高楼又非常少,往窗外望也是非常空旷的。办公室内有敞开式的茶水间,提供咖啡、牛奶、啤酒、茶等饮料,早上八点来,还有免费早餐提供。办公室有一个大敞开式的会议空间,3、4个休息区,一个大的会议室,和3个小的会议室。另外,墙上挂的和站立的白板随处可见。
因为是刚设立的研发中心,所以一直有新员工加入,办公桌的结构都是比较简洁的,只有几条腿和一块板子,非常方便拆卸,可随时增加和减少桌子的大小。每个研发团队大概5-9个人,坐在一起。团队之间的距离是蛮远的。有点高内聚、低耦合的布局。办公室团队位置的调整非常频繁,在我呆的一个月内调整过3-4次。
扁平化组织架构,只有一层关系。业务团队由3个研发团队+ 1个技术领导团队组成,他们研发的每个人都是称呼对方为developer,几乎不提title,我不也知道他们的title。
管理支持团队包括1个研发中心负责人,1个人事,1个项目管理人员,1个网管。他们也都坐在一起,没有单独的办公室,汇报关系只有一层,办公室所有员工都汇报给研发中心负责人,他本人再汇报给总部CTO。服务式管理,管理支持团队就是在给业务团队提供支持和帮助解决问题。
另外,还有一个办公室的行政,也是汇报给总部CTO,她是一位非常热心的英国阿姨,就像管家一样,从生活角度给与办公室非常暖心的照顾,请大家吃过她自己做的蛋糕,也给我冲过咖啡。
员工的多样性也是非常强的,其中印度人和英国人几乎各占一半,其他的人不多,我知道的有一个爱沙尼亚的,一个西班牙人,一个法国人,没有黑人。英国人一般有自己的房子,都是住在郊区的小镇,每天坐火车上下班,公司附近有两个火车站,步行大概10到20分钟。其他人的不是很确定,我知道有人是城区租房子的。男女比例的话,一个团队男女各占一半,另外两个团队女性不多。
融入当地社区,树立在当地人才市场的品牌效应。
作为一个软件研发中心,对外交互层面最主要是和人才市场和技术知识市场保存联系和互通 --- 关于企业管理的层面---请参见作者另外一篇文章《Management | My View On Enterprise Management》
一方面,每隔一两个月,会通过meetup.com安排一些软件研发相关的活动,活动地点就放在办公室,公司员工也可以在meetup.com上报名(因为需要统计人数,安排自助餐),一般下午5点开始,客人陆续过来,在茶水间有自助餐,和饮料,等人到了差不多了,主讲人在那个开放式会议室开始分享当期的话题,七点左右能够结束,然后大家会转移到附近的酒吧继续聊,我也有幸在这个活动上认识了一位在英国生活多年的中国人。
这确实是一个满好的策略,一方面可以树立公司在当地人才市场的品牌,保持和人才市场的连接,另外一方面,员工可以和技术、知识市场保持同步,跟上当前的技术潮流,形成比较浓厚的技术氛围,避免一潭死水。这一点我深有体会,上海研发中心多少年来一直想招一个配置管理工程师来搭建持续集成平台,但是往往几个月都没人投简历,即使通过猎头难找到合适的人选。没有办法,最好是我自己就去泡配置管理的各种论坛和QQ群,发帖,贴招聘信息,才陆续收到意向,最后成功招到合适人选,慢慢的一步步把公司的持续集成平台比较完整的搭建起来。
另外就是和当地的其他组织有一些合作,在我出差期间,有一次来了一群初中生来参观办公室。
办公室的日常运转
团队层面没什么特别的,就是敏捷玩法, 具体的实践基本都是来自于Scrum和XP,就不详细说了。印象比较深的是人事也非常敏捷,在人事座位的墙上有一块白板,上面有画了一个表格,竖列是招聘流程不同的阶段,横行是应聘者的名字。只要抬一眼就知道自己团队要招的角色进展怎样了。
整个办公室层面,每周有一个回顾会议(Scrum Retrospective Meeting @办公室级别),全体员工参加,其中有一个主持人和一个记笔记 --- 这两个都是轮流来的。就是先通报一下上次会议后的一些事项的进展,比如空调不够冷的问题已经解决了之类的。然后就是每个人拿一些便签纸,写自己认为好的事项,不好的事项以及有什么想法,然后贴到白班上。最后主持人一个个读,大家一起讨论,如果需要采取后续行动,就确定一下谁来跟。
另外一个就是每周四中午的观看技术视频活动,有一个固定的组织者,大家一般都是提前买好外卖,然后一起观看技术视频,每次都有一个话题,我记得我参加过3期 ---"Uncle" Bob Martin - The Future of Programming,Fred George -Managing Manager‐less Processes,Liz Keogh - Cognitive Cynefin: How Language and Bias Keep Us Complicated--- 有技术的,有管理和团队协作的,都是行业比较新的知识和概念,看完之后,大家接着就这个话题再聊一聊,个人感觉是对形成比较浓厚的技术氛围和技术人员的知识更新都蛮有好处。
办公室文化
在去英国之前,就寻思写一篇关于工作相关的文章,等我快要回国了,感觉方方面面都有了一些了解,就缺办公室文化了,虽然说很容易就能体会到在那边工作文化的差别,但是毕竟工作文化又植根于英国社会文化,我很难准确的刻画出来,所以,我就直接找他们问了。其实是和那边的技术领导团队的负责人和一个产品研发团队的负责人聊,他们说了几点,我也补充了一些,大概是下面几点把。
Be Friendly - talk/ask in a friendly way.
明显可以感觉到,他们非常尊重人,大家说话非常礼貌。因为办公室非常空旷,每次我抬头就能看到另一个团队,远远的,隔著宽阔的茶水间,那有个一个印哥们,满身肌肉。每次不经意间抬头看到时,总是抿嘴点头示意,我也睁大眼,点个头回意一下,真的是每次都是这样!
Be Challenging - Do the right thing
如果认为他们说话礼貌,观点不一致时就敷衍一下过去,那就理解错了,他们会利用不同的时机和场合来表达意见,尤其是反对意见,一般都会讨论的比较透彻。即使短期由于项目压力,采取比较务实的做法,也会就长期的策略定出个所以然来。
Collaboration
这一点也就不用多说了,没有协作,敏捷根本玩不起来了,何况又是搞扁平化管理。有一些经常性的活动,像下班一起去泡吧啦,也有一些其他的活动,比如租一辆动感单车,模拟从伯明翰办公室骑到伦敦总部,参与者接力完成总里程。
Learning
除了上面说的固定的技术相关的活动外,团队内部不时的有一些技术的分享,不一定都是和产品当下的技术相关,我记得有一次是解释了Sprint Cloud Contract(我们的产品是基于Java EE的),另外就是办公室的休闲区摆了一些书,有技术相关的,也有流程管理协作相关的。
招聘
有幸被邀请参加了一场对技术人员的招聘面试,面试流程下面有详细交代,就整个体验来说,面试的气氛和我在国内参与的还是有些不一样的。
招聘流程
1) 应聘人员网上做题,网上提交代码。
2) 应聘人员来到公司,在白板画当前项目产品的架构图和持续集成图 (30 minutes)。
3) 给应聘人员看一张A4纸规模的问题代码,让他找出所有问题 (15 minutes)。
4) 简短的技术问答面试 (20 minutes)。
其中会问个比较有趣的问题 --- 如果领导要求在下一个release中,把产品代码库中所有的变量换成star war里面的名词, 你会怎么办?--- 来看应聘者是否具有挑战的态度(你知道期望的回答是什么么? :-D )(提示: 技术上的考虑是主要的,但不仅仅)。
5) 主面试人员和应聘者结对编程 ,主要是对网上提交来的代码进行扩展。(2 hours)。
6)所有的面试人员一起对应聘者进行评估,评估由研发中心负责人主持(仅限主持,不评分)。
评分模型有5组件组成 ---Technical Skill,Software Engineer Domain knowledge, Problem Solving, Teamwork, Culture --- 每组件最高4分,满分25分。对于每个组件的得分,由参与面试的所有人员举手打分,然后取平均值,等所有组件打分结束,最后统计总得分。如果得分大于等于18分,那就直接通过面试,剩下就是谈薪资等其他方面了。如果介于15分和18分之间,还需要在加一场技术问答面试。
结语
由于是作者所在的公司的一个新的研发中心,我尽量以一个旁观者心态来描写我所感知到的,其中难免有失偏颇之处,毕竟我所在的时间有限,所知也有限,二则个人能力有限,至少尽量如实展现出来。因为如同我在文章的开头所说,不同的玩法,可以相互借鉴。不过还好是用中文写的,他们应该看不懂 :D。
如果你读到了这里,那应该能看出来这些玩法非常像一个创业公司,非常灵活,非常有生机,也希望这篇文章能给正在创业的朋友提供一些参考!
附 - 作者文章列表