zoukankan      html  css  js  c++  java
  • ThoughtWorks知识分享体系

    ThoughtWorks知识分享体系
    2013-06-13 14:42 by 黄博文, 201 阅读, 2 评论, 收藏编辑

    本来这篇文章的名称为”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欢迎对技术有追求的程序员加入我们的舞台。

    作者:黄博文@无敌北瓜 
    出处:http://www.cnblogs.com/huang0925
    黄博文的地盘
    本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
     
    分类: Agile
  • 相关阅读:
    html5+css3中的background: -moz-linear-gradient 用法 (转载)
    CentOS 安装Apache服务
    Linux 笔记
    CURL 笔记
    Spring Application Context文件没有提示功能解决方法
    LeetCode 389. Find the Difference
    LeetCode 104. Maximum Depth of Binary Tree
    LeetCode 520. Detect Capital
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 136. Single Number
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3135053.html
Copyright © 2011-2022 走看看