Fork me on GitHub

黄博文的地盘

我是一个程序员.

ThoughtWorks知识分享体系

| Comments

本来这篇文章的名称为”ThoughtWorks的培训体系”。但是培训这个词总给人一种正襟危坐的感觉,而在ThoughtWorks中的培训则是非常轻松自在的。而且培训有种老手教新手的味道,而在ThoughtWorks不管资历高低,只要你敢秀,都随时欢迎。所以我将培训改为了知识分享。”Knowledge sharing”可以说是ThoughtWorks的标志性文化之一。在ThoughtWorks大家庭,大家都很乐于把自己的所学、所想通过各种方式分享出来。正因为ThoughtWorks建立了立体化、全方位的知识分享体系,每一个新加入ThoughtWorks大家提的人都能得到快速的成长,而经验丰富的老员工也能不断的突破自身。这个体系有力的保证了公司员工的技术水平。下面我简略的讲解下这个体系。希望大家都能有所借鉴。

公司层面

TWU

TWU是由ThoughtWorks为全球应届毕业生量身打造的培训营,全称为ThoughtWorks University。每个刚加入的毕业生都会被送到印度的办公室接受为期六周的培训。在这六周的培训中大家可以感受到公司的文化,了解整个agile开发流程。每个讲师都是由ThoughtWorks global抽取的技术高手。在这六周里,不仅有课上,还有游戏玩,又可以欣赏异国风光,真正做到了寓教于乐。

TWI

TWI是ThoughtWorks为中国区的社招员工打造的培训营,全称为ThoughtWorks Immersion。每个新入职的社招员工将在中国的三个office(北京、西安、成都轮流举行)之一参加为期3天的培训。在这三天的培训中,有中国区CTO徐昊亲自给你讲敏捷,有各种好玩的游戏带你深入了解敏捷,还有各种软技能的培训。即使是senior的人也能有从中有所收获。

Conference

中国区不但自己举行一些会议,如Agile China,QConf等,尽力推行敏捷在中国的实施,还积极的参加国内外的各种大会。这些大会上你能听到各个公司的顶尖技术人才带来的各种演讲,开拓视野。

Office层面

Open Party

Open Party是一个非会议形式的聚会,每个月一次,地点不定。OpenParty是由多个技术社区(ThoughtWorks只是其中之一)共同举办的社交活动。本着自由、开放、分享、互动的宗旨,采用“非会议(Unconference)”的形式, 为参与人员创建一个表达和交流的平台。活动话题不仅仅局限于技术,还包括生活、旅游、艺术、创业、商务、投资、营销等各方面的话题。在这上面你很容易交到志同道合的朋友。

Session

形形色色的Session可是ThoughtWorks中很重要的一个活动。无论是中国区甚至是global的技术专家,还是刚参加工作不久的毕业生,都可以随意book一个会议室,给大家带来一场精彩的演讲。Session的时间一般是每天中午的12点半到1点半,以及下午的5点到6点,所以经常看到大家捧着盒饭来参加session。Session的内容也五花八门,有老成都讲成都历史的,也有军迷讲中国航母发展史的,也有Geek达人教你如何写博客。当然更多的还是技术session。从JavaScript到敏捷实践、从正则表达式到大数据应用……总有一款适合你的。

Code Kata

Session注重于听,而Code Kata则注重培养大家的动手能力。时间一般是晚上6点以后,主持人扮演business owner,抛出一个问题由参与者结对编程实现。既有创建一个出租车计价器的常规问题,也有给大杀器超市建立结账系统的刁钻问题。参与者先针对问题建立task列表,然后每对pair简单讲述建立这样的task列表的原因。大家选择其中较好的一个task列表,每5分钟为限,采用tdd的方式依次实现每个task。五分钟后每组pair都需要show一下自己的代码,并讲解设计思路。这种在极短的时间内练习编程的方式很能锻炼人。如果你快捷键不行、你的task思路不清晰,OO设计不到位,就很容易很不上节奏。而每个task间的show case(展示)又能让你观察到与对手的差距,领悟揣摩别人解决问题的思路。

郑大夜校

郑大夜校是ThoughtWorks知识分享体系中的一个重要标志。在ThoughtWorks中有悠久的历史和广泛的知名度。

郑大夜校有两个版本。一个是专门针对还未入职的毕业生的。每两周举行一次。

另一个版本是针对所有在职员工的,为每周四晚的6点到7点。郑大夜校上的课程更有针对性和连续性,通过一些列的课程能够强化你对某一方面知识的深入了解。比如LiYan同学以haskell语言为依托,给大家讲了函数式编程,9堂课涵盖了函数式编程大部分要点。还有XiaoPeng同学的重构手法课程,实战演练如何结合IDE快捷键对代码展开重构……这样的系列课程数不胜数,已经成为培训新人技术能力的不可或缺的手段之一。

Reading Club

读书会是成都office一个独特的活动。每两周举办一次。每次会推荐大家读一本书,两周以后大家针对这本书进行热烈的讨论。会议形式也多张多样,有每人5分钟的即兴演讲,有角色扮演,也有辩论会。刚开始主要是些技术书籍,基本围绕着ThoughtWorks的DEV读书路线图。后来也扩展到了其他方面,比如文艺、科幻及一些你懂的类型。

团队层面

内部session

内部session和office的session有两个区别:

  1. 内部session比较随意,做不做ppt无所谓,直接找块白板边讲边画也行,或者直接show代码。

  2. 演讲者一般是新手,讲给团队中其他新手或老手。目的是考察新手是否真的掌握了知识点,老手顺便给些意见建议。

Session主题可以结合项目的技术栈,给新人一个施展的空间。由于内部session比较轻松,比较容易培养新人的自信心,使其能够勇敢的表达自己,在团队中发出自己的声音。

内部Code Jam

Code Jam针对项目中的一些新技术或大家都懂得不多的领域,大家在一定时间内进行专门的强化,一般每周举行一次。其实与上面讲的Code Kata类似。比如在我们项目刚启动时大家对于JavaScript都不太熟悉,针对这一弱项就可以采用Code Kata的方式来强化。所有的developer找一个不忙的下午,由主持人抛出一个与JavaScript有关的挑战,大家一起实现。比如对Jquery不熟,就练习做一个使用JQuery的动态页面;对JavaScript的TDD不熟,就着重练习下Jasmine(JavaScript的单元测试库)的使用。

Tech hudle

时间:每天固定的某个工作时间。 参加人员:全体开发者。 这相当于一个小型的站会。在会上大家分别讲述自己目前在做什么、遇到了什么问题、需要哪方面的帮助,或者识别了项目的什么风险,是否需要规避等。通过tech hundle将所有开发者每天的工作情况串联起来,实现知识的最大共享,避免出现某人闷在一个task很长时间的情况。同时也能拉近与客户方的合作,建立良好的合作关系。

Code review

每天的某个固定时间所有的developer一起利用工具查看当天的所有提交的代码。自己的代码能够得到他人的直接点评,这样的机会恐怕不多。而在ThoughtWorks这样的事情天天在上演。通过Code review能够直观的感受到代码的坏味道,从而避免以后重蹈覆辙。

pair programming

结对编程的确是一个非常棒的知识分享的方式。即便是新手和老手pair,大家都能学到东西。无论是解决问题的思路、方式,甚至是对快捷键、IDE的使用,双方都能有所借鉴。我个人非常喜欢这种工作方式,这种知识传递可以贯穿整个工作时间,很是高效。

个人层面

buddy & sponsor

每一个新入职的员工都会被分配一个buddy,一直帮助他通过六个月的试用期。试用期满后也可以选择一个senior的人作为sponsor,继续对自己进行指导。Buddy和Sponsor是你工作和学习中的好伙伴。他像导师,其实更愿意和你做朋友。由于buddy和Sponsor的人生阅历相对比较丰富,在工作上及学习上的问题和困惑都能与其探讨。

写博客、翻译书、写书

这也是总结知识、传递知识、自我提高的有效手段。我们在享受前人的经验成果之余,也应该肩负起将知识往后传递的责任。而文字则是知识传递的有力途径。

在ThoughtWorks不进步就意味着退步。保持持续的学习是不断前进的动力。而这一切的前提又是你要有足够的热情。ThoughtWorks欢迎对技术有追求的程序员加入我们的舞台。

Comments