初涉ThoughtWorks - 实习双周杂记

2014-12-07 Wenjie Yao 更多博文 » 博客 » GitHub »

TW 实习 北京 DevOps

原文链接 https://yaowenjie.github.io/life%7C%E7%94%9F%E6%B4%BB/first-met-with-thoughtworks
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


  前两周的实习生活结束,ThoughtWorks给我的感受总体上与北京凛冽的西北风带给人的寒意大相径庭,深切的喜欢这种富有“情怀”(虽然这个词最近由于大部分都知道的原因变得没那么褒义,但是,请原谅我词穷)的公司,真切的羡慕这群富有热情、待人真诚、技术精湛的人们。抽空写点博文,一是坚定我这越来越失记录热情的家伙计划以后花点时间写一些文字的决心,二是开通博客试试水,三是因为在这个注重分享的群体内,博客啥的是被鼓励的。下面分几个大的方面小小阐述一点近期迁徙到北方后的感受与认识。

<!--more-->

关于ThoughtWorks   说实话,在笔试之前我是完全不知道ThoughtWorks的,关于它具体是做什么的,这里我也不再赘述,感兴趣的可以自行百度、google。作为一个潜在的程序猿,我还是以一个比较清晰的分支结构介绍些许东西。 1. 文化/精神/风格   作为实习生,来到北京办公室之后,我们和社会招聘进来的两位”前辈“,以及从新加坡办公室过来学习的recruiter一起参加了几场简短的关于公司文化等等的入职前session,基本从口头上了解了TW的精神内涵:P1.经营可持续的业务;P2.推动IT变革,追求软件卓越;P3.积极提倡社会和经济公正(这三小句说着这么标准,肯定不是我总结的,网上拷贝的,嘿嘿,见谅)。但真正的感触还是从后面几天与大家的接触才认识到的。 P1. 经营可持续的业务   这个和TW的公司性质有关,签约之后,我有了解一些这些方面的书,发现TW是和敏捷开发、持续集成、极限编程、测试驱动开发、结对编程这些我之前丝毫不了解的概念紧密相连(很多这些类型的书都是TW内的大牛写的,这些人也或许是行业内著作的译者)。经营可持续的业务便建立在这种技术基础上。说实话,作为新人或者外行,这些概念都只是些看起来迷惑人的词汇。但当你看到贴在玻璃门墙上的各色用户故事贴纸,看到会议室内常有的客户需求会议,看到每天早上办公室里一小撮一小撮的站立会议,看到两个程序猿盯着两个屏幕面对两个键盘敲着同一段代码,你才会意识到这里已经把这些开发方法渗透到公司的血液之中了。 P2. 推动IT变革,追求软件卓越   待了近两周,给我的感受是这样的,在这里都是比较善谈的牛人,CTO会告诉你他从十岁就开始敲代码了(想想自己大一还不知道编程是个什么玩意,惭愧呀...),这里的很多人对新技术有着自己的热情,他们热衷交流和分享,他们是很多技术社区活动的活跃分子或者组织者,周末办公室经常会举办各种技术研讨类的活动。在这里,你会一不小心就成了Lead Consultant的学生,在这里,他们总结技术雷达会被当作行业内的某种标准,在这里,他们之前的推行的开发技术开始慢慢在各领域流行的时候,又开始一些新的探索。这里的人看书、译书、写书。况且作为一个全球化的企业,人才的分布也是遍地开花的,TW的客户也基本处于国际化中高档水平。P2这变成了理所当然应当遵从的理念。 P3. 积极提倡社会和经济公正   关于这点,入职的session在给我们新人整体介绍完P1、P2、P3之后,又单独开了专门的session让大家了解TW在这方面的认识和努力,足以见得TW对此的重视。TW在这方面用自己擅长的方式在做着各种努力,并会有更多的想法与行动。先不说其他的,你可以在TW看到大量的女开发人员,以及校招时承诺的男女比例1:1,这在其他软件类的公司是比较少见的。我有幸见识这边办公室校招时HR和技术官最后讨论刷人的“残酷”场景,TW看的绝对不只是你的能力,这再次加深我对此的认识。

2. 自由制度及人文关怀   几天内这是让我感觉到最舒服的一点,扁平化的制度亲切而又有魅力。办公室老大、元老、技术大牛完全没有那种高高在上的感觉,因为这里的交流不会存在身份的距离,有距离也只是停留在现阶段的技术水平之上。每个人给你的感觉是那么平等,对此我有时候会惊讶我只是一个小小的实习生。。。我们可以享受和一般员工的对待,我想这大概便是上文中P3的现实体现。   至今我还疑惑一点的是具体的上班时间是多少,一般早上九点左右过来,办公室仅有零星的几人,和同事道几声“早”,去吧台“偷”两块面包,喝点热水或者饮料,找个合适的位置坐下来,接下来的半小时,办公室才会人气慢慢升起来。紧接着就是比较有特色的简短”站会“。。。至今我还疑惑一点的是中午有没有具体的午饭时间,一般饭点要么有人吼一声“XXX有XXXsession,饭到了”,要么可能就是几拨人跑到公司楼下自行解决,饭后乒乓球室、小会议室总会有一波人打一会儿球、玩一会PS4、又或是聊聊天啥的(当然也有一些人继续埋头在自己的“产线”之上),之后下午的“搬砖”生活便又陆陆续续开始了。。。   这里似乎没有人催你上下班,没人逼你做你不喜欢的事(能进来的人多少对编程有一份自己的追求和热爱),没有人告诉你什么事不可以做,没有人会拒绝你的提问。。。   关于人文关怀,硬件上我觉得对我已经足够好,甚至有种受宠若惊的感觉,TW让我第一次来到北京,让我第一坐上飞机,让我和一同过来的实习生住着比一般星级酒店都要好的公寓(进去给人一种居家过日子的感觉),让我们每个人都有一台MAC(方便工作,虽然工作的时候大部分是在公司的机器上操作,但是一台MAC还是非常有利于私下的学习的)。。。软件上就更nice了,每年对新人培训的大量投入,鼓励员工创新创业,编程你会有pair,遇到问题你可以找buddy,更别说正式入职之后到印度的为期5周的TW University。。。

3. Interesting Things And People   看到那些坐在你旁边的天天玩着电脑的老外可能就是这个项目的客户大boss,和平常那样打声招呼就好。整个办公室看不到一个专门为头头设立的办公地点,他们往往坐在靠近门旁边任何一个位置,和平常员工没有什么两样。北京办公室分两个大厅,东宫和西宫(听说成都办公室的女厕所挂名都改成了“妃”),还有好多个大小会议室,以朝代命名,所以你可以看到 “蜀”、“汉”等等各种称谓。公司除了零食水果和饮料之外是不包员工吃饭的,但是如果有哪天中午谁要开个session,便会发邮件给同事门,能参与的同事都可以边吃免费的午餐边听session。   公司大部分的人富有技术热情,待人亦很亲近。最近一起pair的磊哥(之前在CSDN、Red Hat工作过,社招DevOps第一人,和我们同时进的TW)是一个特别喜欢分享,喜欢帮助银的东北银。我的室友是个纯正的广东能,一口纯正的粤语腔,开放而又富有热情,我们两是从武汉过来的F4之二。东宫还有几个国外的同事,来自荷“南”、巴西和法国等地的办公室,鉴于自己的口语水平,偶尔有对上两句诸如“Morning”、“Hey”这种高级别的词汇。还有好多人,在此就不一一讲述。

4. 招聘

  在面试之前(那时候还在武汉的校园寻觅)看过网上一篇关于ThoughtWorks面试的帖子,其间对TW面试过程的评价实在有点让当时即将参与面试的人有几分担心,但当你真正经历之后,你才会发现有些或许子虚乌有,有些或许夸大其词。校招的流程确实有点长,但是国内的四五轮已经比新加坡的七轮(这一点是从新加坡过来的recruiter那里听到的)好很多了,面试难度有时候确是TW招聘过程中一个比较大的噱头(百度上经常有诸如TW力压***成为全球面试难度第*的***),但我感觉国内相比国外估计要容易几个级别。面试的过程完全没有那篇帖子上说的那样,就我个人经历而言,HR面和技术面更像是一种平等的、亲和的交流,双方互相了解对方(见有幸看到北京这边校招面试,过来面试的孩子还可以先听一节课,领一份小礼物,吃一餐午饭(披萨),实在是太幸胡了),比一般的面试给人感觉还要舒服。而TW前期的笔试和家庭作业也非常与众不同,笔试中没有一点涉及技术概念、技术细节的考量,经历过的童鞋或许才会深有体会,家庭作业(这里就需要有一定编程基础了)也是一个重要而又和一般公司不同的方面。   想起北京这边办公室关于新人的一次游戏,HR姐姐让我每个人写一个自己最遗憾、最骄傲的三件事,游戏的过程不说,最后却是让我们了解我们这些人所拥有的一些共性。其间,她的一句话让印象深刻,“我们其实是在招我们自己”。是的,一波拥有相似理念、信念的人才能相处融洽,才能共同快速成长。 关于北京   接下来简短说说对于帝都的感受,承蒙APEC后遗症厚爱,来帝都两周,只有一天需要带上帝都专属面具。总体上,帝都比我想象中要好一些,不知道是不是公司和公寓都二环以内(靠近二环线)的原因,交通上的拥堵没怎么感受得到,天安门等等著名景点也没有特别密集的人群,甚至有种地铁还没武汉堵的错觉(对,没错,以上肯定是错觉!)。住得旁边有不少胡同,平常感觉人也不多,有种冬日里的安详感,大部分老北京也有带着一股京腔的礼貌。其他方面,气候干冷,对于我这个中部人来说其实还好,除了个别晚上在外面走的时候有种快要被风吹走的幻觉;物价肯定是比武汉的学校旁边贵几番了,但是好歹在帝都,可以接受。 关于DevOps   DevOps,实习之前,我对这个名词丝毫不了解,看到公司某个墙上写着这个词汇时,也仅仅以为是Developer的缩写。后来在项目中接触,才对DevOps有个目前这种浅显的了解(实习估计就紧密联系这了)。下面仅仅以我现在粗浅的了解谈一点认识,不当不正之处还望见谅。   DevOps是Development和Operations的组合,与CD(持续交付)紧密相关,需要掌握的是跨系统跨平台的配置管理手段、部署方法、虚拟化和自动化技术,总结起来可能就可以理解为软件上的基础设施建设,保障和促进高效有用的交付。需要做的不只是对各种工具的应用,对各种操作系统环境的熟悉,还有对相关脚本语言的熟悉,以及对新技术的敏感和学习。   就这两周而言,用到的或者看到的工具就有好多:Virtual Box,ansible,vagrant,git...看到各种程序语言的应用:C#,java,shell,Powershell,Ruby,Python...连操作系统都各种切换: windows server,OS X,fedora,ubuntu...   仅仅在DevOps,我就感觉有好多东西需要去学习,虽然现在还是个小白,但我庆幸我走在一条远离小白的路上。任重而道远! 最后   感谢有心人看完整篇文章或者其中的某小段,忍受我这支离破碎的语言和不加协调的文风。前方的路途很遥远,但我喜欢这种道路,便前后无悔,愿与同志者共勉,与异志者互励!   最后,顺便表达一下其他方面:感谢TW,感谢TW有爱的同事和老师们以及那帮关心我的朋友们,感谢爸妈给予的无条件的爱与付出,感谢远方那个谁抛弃很多后对于我倾注的支持和鼓励,想对她说:“眷恋不只是责任,空间让我不能风雨兼守,但愿时间能让我伴你终久”。 <博客第一篇博文,主要是一些感想,部分图片盗取自室友,以后在这里将尽量以技术学习分享为主了>