在ThoughtWorks 在杭州工作的体验是怎样一种体验

一名ThoughtWorks咨询师的“心路历程”
还记得2015年初我在红螺寺许下的新年愿望:事业顺利、家庭和睦。验收标准分别是:
事业顺利:我能够加入ThoughtWorks
家庭和睦:“造人”计划顺利进行如今,我已加入ThoughtWorks一年半,宝贝女儿澄澄已经七个月大。PS:笔者每年都会去红螺寺还愿、许愿。缘起在加入ThoughtWorks前,笔者在互联网企业里做内部教练,同部门的同事们中有几位是ex-ThoughtWorker,他们和周围的同事实在太不一样,他们太优秀、太任性、太奇葩…跟他们的合作颠覆了我对于软件开发的认知以及整体的思维习惯。
被颠覆的我之后也加入了ThoughtWorks,加入了咨询团队。还记得刚进公司时,每当我碰到一个HR,都会得到善意的提醒,“这里的人都是奇葩,你要做好准备”,当时我心想,“老子都已经跟奇葩们一起工作3年了,还有什么可准备的,老子也是奇葩…”。
后来我被事实打脸,事实告诉我,由于企业文化和团队环境的不同,我遇见的ex-ThoughtWorker们还是压抑住了自己的天性,而在ThoughtWorks的文化下、在咨询团队中,你会获得最大程度的自由。同时由于你做的是咨询工作,在多重压力下,你的能力会得到极速的提升。这种成长和文化是我之前从未见到过的,我希望可以用我的文章带领读者们走进神秘的ThoughtWorks咨询团队。
PS:这里不得不提一下,2012年ThoughtWorks被评为全球面试最难的IT公司,第二名是Google。(此为科技博客Business Insider撰稿人Julie Bort依据美国雇主评价网站提供的数据所评)。
ThoughtWorks是一家服务型的IT公司,交付和咨询是中国区的两项核心业务,分别用一句话介绍两个业务:交付的核心是帮助客户解决问题,而咨询的核心是为客户赋能。
由于工作性质的不同,咨询多以单兵作战或pair为主,交付则以团队协作为主,在ThoughtWorks中国区的近1000人中,咨询团队不到100人,其余的多数是交付团队的同事。
在咨询团队中,分管理、技术两类咨询师。管理咨询以企业战略层面的投资组合管理\创新管理、产品及组织层面的结构治理\需求管理\设计思维、以及团队层面的运作管理框架为主。
技术咨询则以技术架构治理、DevOps、“黑科技”的研究以及技术实践为主。当然这两者并非完全独立,管理和技术实际上会有很多交叉,同时ThoughtWorks也不会约束你的工作范围,笔者是管理咨询师,最近在带领客户做CI Dashboard(当然过程中受到了很多技术教练的帮助)。
初入咨询团队时,新咨询师会有一段适应时期,这期间会有一位老员工来充当你的buddy,buddy的目标是协助你顺利度过6个月的试用期,他主要的职责是帮你融入团队及提高自身专业技能。
之后你可以在内网上阅读并学习相关资料,可以去国内交付项目了解最佳敏捷实践的运作方式,也可以通过shadow老咨询师去了解ThoughtWorks咨询的套路。这个时间大概是3个月左右。ThoughtWorks十分鼓励员工持续学习,甚至可以在工作时间去学习(看书、看视频等),这在我之前的公司是很难看见的。
所以刚加入咨询团队的新咨询师在这3个月左右的时间里需要抓紧时间去学习,去融入团队。
通过3个月左右的持续学习,作为咨询师的你已经可以选择合适的机会出师了。ThoughtWorks咨询的rate很高,客户请你来一定是解决复杂问题的,在他们眼里你是一个上通天文下晓地理的专家,而且客户一般在同一领域只会请一个人(单兵作战)。
所以在去之前,你需要做好充分的思想准备,对于复杂问题的解决,不是固定套路就能搞定的,需要不断的根据客户期望以及现状,调整你的计划甚至目标。在整个敏捷转型的过程中你一定会遇到很多问题,这些问题多数是需要咨询师独立去解决,但ThoughtWorks是你坚实的后盾,要充分的利用公司内网、咨询群、buddy,快速学习及成长,带领客户一起攻克难题。
在这个过程,思路一定要清晰,首先我们做的是咨询,做的是赋能,不是用自己的专业技能去为客户做事,而是用自己的专业技能辅导客户自己做事,否则你的影响面以及精力都会受到很大的限制。
其次,一定要充分的自信,公司内网中有无数的案例和资料,咨询群中有一百多名咨询师为你答疑,还有一个与你亲密无间的buddy,没有什么问题是解决不了的。记得当初我上第一个项目,前两周每天晚上都会给buddy去电话,请他为我“指刀”,buddy从未感到厌烦。
出师项目我定位的目标是“生存”,能“生存”的前提是让客户满意。当然了,客户投诉的情况也不少,每个客户的习惯不同,咨询团队对待投诉的态度更多的是反思、总结、提升,ThoughtWorks没有KPI,不会因为你的投诉多了,工资就没了,公司更看重的是你的成长以及客户的满意。
在ThoughtWorks咨询团队,每名咨询师的风格/套路都不同,“拍砖型”、“儒雅型”、“教授型”等等风格都可以在这里找到。我们需要去总结并定位出自己的套路及特点(擅长的领域)。还记得我刚进咨询团队时,Team leader给我的第一封邮件是一份书单,外加希望我之后能总结出自己的套路及特点。
套路不是做一两个项目就能有的,也不是可以从别的咨询师那里直接“抄”来的,而是在你做了大量项目,收集了大量老咨询师的经验及反馈后,从中总结提炼出来的最适合自己的套路。而特点取决于你的兴趣与经验,找到自己感兴趣的领域深入下去,形成自己的知识体系。
这个过程我认为有三点最重要:不断总结、刻意练习、主动学习。
套路源于总结,在不断总结的过程中清晰自己习惯的套路。在咨询过程中给客户的方案和汇报是少不了的,虽然说很多资料可以通用,但在还没形成自己完整的套路时,我一直坚持原创。这些内容从哪来?从每个活动的总结甚至每天的总结中去汇总,这种频繁的总结对我们的知识积累以及对提升客户体验都是有很大好处的。当然,你也可以先让客户总结,再自己总结。这里手段会有很多,关键点在于是否去做。
刚做咨询时,我们并不是“八面玲珑”,都是有明显的技能短板,例如沟通\演讲能力、危机处理能力、某些敏捷专业能力等等,这些短板如果我们知晓,我们会在客户现场刻意避免,但如果我们不知晓,让客户发现,会直接影响到客户的信任以及咨询的效果。发现短板的方式一般是自己总结以及向周围的同事要feedback,重点是提升自己的短板,方式就是刻意练习,持续集成中有一句话让我印象深刻,“如果做一件事让你觉得痛苦,那么就要更频繁的去做这件事”。
刻意练习就是这样,你需要频繁的去练习你的短板技能,当然这个练习多数是在你非客户现场的时候,你需要抓住时机甚至创造时机去不断练习。但不得不说这一点很难,人的天性并不是这样的:P
在咨询团队中有很多的内部活动,大家平常在不同项目中,难以相见,就会抽出晚上或周末的时间进行内部碰撞,例如读书会、实践集、以及各项专题的研讨等等,这些都是完全开放的,自由报名,都是很好的学习平台,相信只有高手过招才会擦出别样的火花,而在这些活动中,我们是真的在“过招”(拍砖),所以大家都在飞速成长,这种活动并不是所有公司都有的,而这个机会,你一定要把握住。
简单总结下,这个阶段我认为的目标是总结并定位自己的套路及特点(当然它不是一成不变的,是个持续改进的过程)。
当你有了自己的套路及特点后,你需要励志做出自己的“金牌案例”,以提升影响力及帮助新人。下面说一下咨询团队的特点及挑战。
团队的特点自由
咨询团队中的大师(吴雪峰)曾说过“牛人是不需要管理的”,我十分认同这句话。在咨询团队中你所受到的约束很小,这里没有强制的职责划分,以你的兴趣导向为主。没有强制的命令安排,会尊重的你的建议。没有KPI的约束,大胆去做你认为正确的事情,等等。
互相伤害&互相关爱
互相伤害:咨询团队的咨询师在客户现场常常大杀四方,在团队内部也免不了带着这种杀气,这让团队内部的很多活动都“刀光剑影”,就像前文中所提到的,高手过招才会出现别样的火花,团队中很多创新的点子或创意都是在这样的环境下产生的。
互相关爱:咨询团队又是一支极度团结的团队,我们都是一群怀揣相同梦想的“奇葩”,当某一个咨询师遇到困难(各个方面),在咨询群中、电话中、邮件中都可以寻求到别的咨询师的帮助,而大家都毫无保留。
面临的挑战学习能力
在客户,团队的多重压力下,你需要具备快速的学习能力,你会快速成长。在客户现场你需要短时间内了解客户业务和背景,永远走在客户的前面。在团队中,大家都在跑步前行,就算摔倒了你也要快速的爬起来,用更快的速度赶上队伍,因为你是ThoughtWorks咨询团队中的一员。
纪律性及健康
在咨询团队中,你会有50%以上的时间在出差。你每天会承受很大的工作压力,如果没有良好的纪律性以及生活规律,你的健康将受到威胁。还记得当初出差到深圳,南北的气候差异让我很不适应,家人给我的评价是,“你一放假回家就在养病,养好了出差,回来又一身病…”之后我每天坚持跑步并保证睡眠,情况才有了好转。所以纪律性的好坏会直接影响你的健康以及你的职业生涯。
最后用团队中部分咨询师的语录作为总结:
道长(伍斌):“高手如林,左右逢缘。”
姚安峰:“进入ThoughtWorks咨询团队是一次幸运的选择,和一群充满理想、激情和务实精神的人同路,思想火花和异见碰撞让人快速成长,1年所学胜过过往6年职场。这里也是极具挑战的地方,全球软件领域最顶尖的人才,最前沿的理念,国内最规模化的客户,以及一年近百次启航。”
宇宙青(刘玉青):“自从加入ThoughtWorks咨询这只‘奇葩’团队,便开始了指数级的野蛮生长。在这里人人怀揣梦想,每天都在身体力行,用心改变世界!”
袁大师(袁英杰):“在ThoughtWorks做咨询师最大的优势就是你可以不断面对新的问题、新的客户、新的产品、新的文化、新的人。这会迫使你不断思考,时刻保持状态。你的经验,视野,能力也随之不断变得广阔。”
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点美团点评和 ThoughtWorks 的校招 offer 怎么选? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
美团点评和 ThoughtWorks 的校招 offer 怎么选?
· 347 天前 · 8483 次点击
学校是不怎么好的 211 ,学历本科,投的职位都是研发或是后台开发。
忙活了几个月, 9 月校招收获了美团、网易游戏、 TW 等几个 offer 。但网易游戏是 CC 直播,感觉没前途,还有其他几个工资不高,就直接放弃了。现在就在美团和 ThoughtWorks 里选择。
美团是在北京,工资在今年校招里算是不错的,也不是 996 (当然我知道加班也是常态,但比 996 还是好很多)。听说技术氛围很不错。
ThoughtWorks 是在武汉,薪资给的是 sp 。工作环境很轻松,而且面试过程真的很惬意,面试官都很热情(面美团真是一波三折,折腾要死)。但好像技术不如美团,而且国内知名度也不行。
看起来美团年薪多了不少,但去掉税收和两地消费差异,也多不了太多。
希望各位能给出一些建议或意见,这里先谢谢了!!
77 回复 &| &直到
22:11:10 +08:00
& &347 天前
ThoughWorks 都是人力外包业务吧,要经常出差吧?
美团自己的产品应该稳定点吧.
& &347 天前
@ 是的。 ThoughtWorks 好像主要就是外包。出差补助听说很高。
& &347 天前
看来 ThoughtWorks 和 IBM 都差不多,基本都是接企业的外包,说好听点叫解决方案,可是干起活来,那甲方就是大爷。
你不是说学校不好么,去美团吧,至少名气要比 ThoughtWorks 在国内大,平台更高,见识更广,不然北京房价为毛那么高。。。
& &347 天前
美团呗,,不用想的~
& &347 天前
@ 谢谢你的建议,能不能说一下原因?
& &347 天前
@ 国内的互联网公司已经很强啦,就像楼上说的,去美团的话,平台更高,见识更广。。。
& &347 天前 via iPhone
美团是写代码的。TW 是写博客的。看你是想当码农,还是&名人&。
& &347 天前
欢迎来美团~
& &347 天前
@ 谢谢建议!
& &347 天前 via iPhone
TW 第一次听说,不过看到说是外包,这基本就不用考虑了,想想以后跳槽
& &347 天前
@ 跟同学亲戚提,都说没听说过?。不过我是大一读《重构》知道 ThoughtWorks 这个公司的,书确实是很不错的一本书,公司环境和人也都不错。就算最后不去,我也是很喜欢这个公司的
& &347 天前
@ 那 IBM 和美团你怎么选
& &347 天前
TW 是一个大型外包……接受各种出差可以去……国内的团队有很多驻场开发……
& &347 天前
@ 谢谢回复,能不能给个建议?
& &347 天前 via iPhone
ThoughtWorks 最大好处是有一定几率完成肉翻……
& &347 天前
@ 有吗? HR 一直都没有说,宣传里也没有说
& &347 天前 via iPhone
@ 有一定几率吧,听之前在 TW 工作的朋友说的,如果有因工作长期驻派海外的可申请移民,具体不清楚,只聊的时候简单了解了下。 TW 的老板是个共产主义者,全公司的氛围就是贯彻敏捷,精诚合作,一致对外(甲方)……
& &347 天前 via iPhone
@ 美团实际技术还是很强的,这个是可以确定的
& &347 天前
ThoughtWorks 在硬技术方面不一定有我们强(毕竟业务不同),但是工程方面挺不错的
要说外包的话也是高端外包
& &347 天前 via iPhone
在 tw 如果外语好,服务海外客户还是很不错的。
& &347 天前
@ :)他们的强项应该是软件工程,敏捷开发之类的。如果是给海外客户开发,就是待在 office 里,如果给国内客户服务,就是驻场开发。
如果是为了学习 Workflow 和技术, TW 应该不错。美团不太熟悉,但是技术应该很不错,所以我也没办法提供建议:)只能你自己衡量其他因素了。
& &347 天前
@ 谢谢建议
@ 你好,我也是被分到了平台事业群 Y(^_^)Y
@ 对,面试最后是有口语环节
@ 好的,谢谢建议
& &347 天前
& &347 天前
懵逼 -_-#,一不留神用错账号了
& &347 天前
外包没啥可考虑的
& &347 天前
@ 我说怎么感觉怪怪的。。。
& &347 天前
@ -_-# 就当没看见。看了这么多回复,有点倾向于美团了
& &347 天前
去美团优势很明显。
& &347 天前 via iPhone
ThoughtWorks 非常善于包装自己,然而实际上就是个外包公司而已。从 11 年左右互联网公司崛起后这家公司在求职市场就已经非常没有竞争力了。
美团的工程师文化很浓,我曾经把北京主流的搞 Java 的互联网公司 /部门都面了一遍,美团给我的感觉是最好的。且薪水毫不掉链子,
建议去美团。
& &347 天前 via iPhone
@ 「重构」我记得是 Martin Folwer 写的?他也只是在这家公司挂个 title 而已吧,跟基层的码工根本扯不上什么关系。就好比很多人提到链家网必提惠新宸,然而实际上进去了也并不能跟他搭上一毛钱的关系。
如果你想肉翻,北京机会多得是。在北京好好做几年 Java ,跳到亚马逊只要再待一年就可以有机会拿 L1 transfer 到美帝了。去武汉的 tw 只怕你想 transfer 到北京 tw 都难。
& &347 天前
北京 TW 和美团倒是可以比一比,武汉就算了。高端人口的流入还是往大城市的,这样你接触的人视野也更宽阔一些。
希望未来在美团看到你,哈哈:)
& &347 天前
是咨询师就写这种水平博客的那个 ThoughtWorks 嘛?还是美团吧
[时刻准备着,迎接 IT 业的春天]( )
& &347 天前
作为在同样校招进去在 ThoughtWorks 呆过三年的人说两句。首先阐述我的观点, ThoughtWorks 非常适合毕业生,更适合女同学,校招男女 1 : 1 的比例。呆个两三年那时候,再来考虑是否去寻找更好的职位。 ThoughtWorks 的人出来还是很受欢迎的。
作为校招的学生,进去会参加在印度 Pune 举办的 ThoughtWorks University. 和来自全世界的 twer 同学一起学习,工作一个月。这一个月,你可以和来自全世界的人一起交流,讨论。学到的是如何跟不同背景的人一起沟通,交流,表达你的意见。(越到职业生涯后期,沟通技巧远比技术能力重要)。在一个月,你会掌握比较完整的敏捷实践,和项目管理方方面的知识。
ThoughtWorks 里面很多项目的确是国外的交付项目(也就是外包),但是不得不承认,在里面你会养成比较好的代码风格,敏捷实践,这些东西。有机会,还可能会去澳大利亚,或者美国出差(当时我项目上所有人过去过了澳大利亚出差,唯独我没去成,可能运气不太好吧。护照都交上去两次)。
也有一些国内的交付项目,国内的客户,相对来讲的确更难应付,不过当你扛下来,在这期间你也会学到很多东西,主要是如何和客户的人一起结对编程,如何说服他们(出差补助还是挺高的)。
总的来讲 ThoughtWorks 是一个很理想的工作环境,虽然当时在里面的时候,各种吐槽, TW 越来越不像之前那个公司了,但是出来之后,你会发现,外面的公司还是比里面差不少。说一点吧,在 tw 请假很方便,在团队发个邮件提前通知下就行。薪水比互联网公司可能会差一点吧。不过说实话,现在还是很怀念在 ThoughtWorks 那段时光,真的是很快乐,很理想主义。我当时做的几个小的 side project, 也都是在那段时光。大家还会一起给我提意见和新的需求。但是人总会有新的想法,和欲望,所以。。。
& &347 天前
直播还没前途啊……
当年优土的直播挖我过去,领导都劝我直播没前途让我别去(虽然是项目没人顶的原因多一点),后来去了几天因为家庭原因回来了,结果看现在各个直播平台火的……
& &347 天前 via Android
@ 请认真阅读。 CC 直播 ≠ 直播
& &347 天前
作为前 TW 社招员工, 如 33L 所说, 校招的妹子进来会很不错.
另外如果想肉翻, 进其它大外企吧, 至少也要硅谷 top20 的公司
& &347 天前
@ 那 CC 直播是干嘛的
& &347 天前 via Android
@ 智能手机有前途,不代表锤子有前途
& &347 天前
为啥我觉得 CC 直播挺好的...一个是网易游戏这一两年的火爆,而网易游戏的直播是排外的,统统在 cc 放。
& &347 天前
看了楼上才知道是游戏直播
& &347 天前 via Android
不要去外包 你想体验甲方大爷虐你的快感么?
& &347 天前
我觉得 CC 直播还不错啊
就是有点累
& &347 天前 via Android
@ 这个不考虑了,已经拒了,不太喜欢。
& &347 天前
看到武汉、看到外包,果断得选帝都美团。鄙人在武汉工作过几年,氛围差帝都不止几档
& &347 天前
才毕业 选城市吧 北京肯定比武汉好
等北京混几年了再回来也一样
& &346 天前
楼主 求 tw 的面经啊~~~~我在做作业,过了就去面试了~~~~
& &346 天前 via Android
@ 个人感觉,面试很简单,基本是校招最简单的
& &346 天前
@ 可是优土的直播到现在也没什么作为啊
& &346 天前
@ 哈哈哈,这倒是……
& &346 天前
美团 一定要去有自己运营业务的公司 这才是互联网公司
& &346 天前
是我的话,我会选择 TW 如果有机会外派出国
感受下歪果仁的团队氛围还是不错的,国内这种团队不到处都是,但是 tw 这种或者说好点的外企机遇不是常有的
& &346 天前
必须美团。
& &346 天前
肯定美团啊
& &346 天前
& &346 天前
TW 的大兄弟感觉哥哥都爱写博客,擅长营销自己...可能是时间比较多吧
& &346 天前
建议,男生的话去美团,女生去 tw 。想去北京加班的话选美团,想在武汉生活的话 tw 。
& &346 天前
武汉 tw 一直在招人。。。你懂的
& &346 天前
论技术、论城市,都建议美团,要安稳么,去 TW
如果后续有出国想法,可以去 TW
& &346 天前 via iPhone
网易 cc 不行?在网易里面跟游戏部门是一个量级
& &346 天前
@ 我会选择美团,如果考虑肉翻,选则一家外资企业的优势会很明显,至少出国机会要高于中关村大部分码农。
& &346 天前
对 ThoughtWorks 印象极不好的我,此时必须出来落井下石了 , 这家公司实在太 low 了
& &346 天前
@ 不过面试的人好多啊 不知道有戏没有 等消息吧
另外建议楼主根据自己想法决定去哪个
& &346 天前 via iPhone
美团,网易游戏工资很高啊,为啥不去
& &346 天前 via Android
@ 好的,谢谢建议。已经初步决定去美团了
@
& &346 天前 via Android
@ 如果看工资的话, TW 给我的也是很高的,比很多研究生都高(别问我怎么知道的)
& &346 天前
看到诸位精英都这么重技术轻工程,那么也就别怪国内公司喜欢搞 996 甚至 007 了:)
& &345 天前
是我肯定选 ThoughtWorks 不用看
& &345 天前
@ tw 需要英语好吗
& &345 天前 via Android
@ 有比一般公司有更高要求
& &345 天前
@ 过了四级有戏吗
& &345 天前
我觉得看你选择去哪个城市吧,如果 不区分,就选美团。北京互联网氛围比武汉好太多
& &345 天前 via Android
@ 看你自己的表现吧,最后一轮会有口语环节
& &345 天前
@ 嗯嗯 谢谢
& &345 天前
作为一个国内非常知名的 top 互联网公司的长者告诉你,
如果有这样的机会给我,
我都不会眨眼,
直接“ TW ”。
那是写代码的地方,是技能提升的地方,是给你自由工作的地方, 是给你出国机会和地方。
美团只能给你加班带来的戾气,糟糕代码带来的技能底下,出国? pardon ?
& &338 天前
美团技术氛围还可以,几个同事都在那,只要不是外卖配送,加班应该不是太多。
& &307 天前
@ 手动感谢。
& &214 天前
我作了相反的选择。?
& · & 2129 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.5 · 36ms · UTC 04:55 · PVG 12:55 · LAX 21:55 · JFK 00:55? Do have faith in what you're doing.探寻ThoughtWorks的敏捷实践,专访ThoughtWorks咨询师 - 名家访谈 - ITeye精华
相关知识库:
公司简介:思特沃克软件技术有限公司(ThoughtWorks Inc.)(以下简称ThoughtWorks)是一家有16年历史的IT咨询公司,全球员工超过1000人。ThoughtWorks在全球拥有6家分公司,分布在美国,加拿大,英国,印度,澳大利亚和中国,为全球客户提供服务。ThoughtWorks雇用非凡的人才,致力于为客户提供高价值的技术咨询,开发过程改进咨询和高质量的软件交付服务。ThoughtWorks是先进技术的实践者,在软件开发技术领域积累了丰富的实践经验。ThoughtWorks帮助客户解决技术架构方面的难题,并帮助客户交付高质量的软件。ThoughtWorks是敏捷方法和软件精益方法的最早实践, 针对客户实际情况帮客户定制适应性的开发过程,使客户更有效的应用到企业级和分布式项目中。ThoughtWorks通过咨询服务帮助客户进行定制并采用敏捷实践,帮助客户减少成本浪费,提高上线速度,并使商业价值最大化。ThoughtWorks的行业经验涉及:银行,电信,互联网,零售,金融,医疗,能源,供应链和贸易等。ThoughtWorks乐于和客户分享业界成功经验,和客户一起分析实际问题,帮助客户进行重大决策。ThoughtWorks Studios是我们的产品部门,其目标是帮助客户提升敏捷软件开发的水平。ThoughtWorks以其超过300个的项目交付经验帮助客户建立全球分布式软件开发团队持续并持续交付商业价值。ThoughtWorks的软件生命周期管理套件包括这些工具: Mingle(敏捷项目管理和协作)、Cruise(持续集成和发布管理)、Twist(功能测试自动化)。藉着服务于6大洲22个国家的175家客户,ThoughtWorks Studios 的产品致力于帮助开发团队提高生产力并推动软件开发艺术的提升。我们有幸采访到了ThoughtWorks公司的李彦辉老师和许伟老师
采访ThoughtWorks公司—李彦辉老师
JavaEye:1.李彦辉老师,您好,您是什么时候加入ThoughtWorks公司的,进入公司后的感受如何?李老师:我是2007年加入Thoughtworks的。 进入公司后感觉这种平等、开放的态度以及追求卓越的精神很符合自己的个性,所以我很喜欢在这里工作。JavaEye:2.可以介绍下敏捷开发的一些实践吗?李老师:我自己常用的一些实践包括TDD、重构、简单设计、持续集成等。在我看来,TDD确保我编码前理解了需求,并保持设计的简单性;然后TDD带来的大量自动化单元测试保证了持续集成的有效性,让我在重构代码时得到及时并有效的反馈,进而更有信心通过不断的重构来达到简单设计。JavaEye:3.对目前敏捷开发在国内的发展现状,能做一个简单的评价吗?李老师:比起两年前我加入Thoughtworks的时候,我觉得现在国内越来越多的人已经或多或少地了解了敏捷,他们的问题已经从Why转向了How,这点可以从今年的敏捷中国大会看得出来。JavaEye:4.目前您致力于构建、测试、部署方面的研究,能说明下他们的特点以及在开发的过程中需要注意的事项吗?李老师:传统的构建包括产品的编译、打包, 但在今天的持续集成上下文中构建涵盖软件开发周期中更多的阶段,比如测试和部署。一个好的构建过程往往包含大量的自动化测试,甚至自动化部署。从开发的角度来看,构建、测试和部署都是对编码工作的反馈,都需要被纳入到开发人员的考虑范围。JavaEye:5.早在一年前,ThoughtWorks就发布cruise软件,可以简单的介绍一下吗?李老师:Cruise是Thoughtworks基于自己多年的持续集成经验所构建的。早在2007年我们的同事Dave Farely就发布了一篇文章介绍部署管道(The Deployment Pipeline)的概念,用来建模软件开发过程中管道式的活动,比如典型的开发、测试、部署等。Cruise提出的构建管道的概念帮助软件开发团队更好的管理整个开发流程,提供更好的项目可见性。Cruise迄今为止发布了7个版本,目前最新版是1.3.2。JavaEye:6.能为大家列举一些使用cruise的成功案例吗?李老师:Cruise项目组自身应该算一个吧:) 另外我们还有一个大客户在印度那边,开发人员有170多个,同时维护3个版本,16个部署环境,260台构建机器,他们在Cruise的帮助下做到了平均每6周交付一次 。JavaEye:7.您对JavaEye网站有什么评价吗?可以说说您对JavaEye的建议和期望吗?李老师:JavaEye是一个很好的技术交流平台,ThoughtWorks也有很多同事上JavaEye。我觉得一个技术平台最大的价值在于沟通交流优秀的软件开发实践,帮助大家共同提高,希望JavaEye能在这方面做得越来越好。
采访ThoughtWorks公司—许伟老师
JavaEye:1.许伟老师,您好,您是什么时候加入ThoughtWorks公司的,进入公司后的让您感受最深的是什么?
许老师:我是2008年五月加入ThoughtWorks的, 之前我是一家创业型外包公司的技术负责人. 我们当时一直用手工测试, 而且部署比较频繁, 每次有了新的功能,就部署到客户的测试机器上.这样客户可以了解最新做出来的东西是不是他想要的, 然后可能对需求进行更改. 开始的时候, 因为进度比较紧,每次都是到快下班的时候才完成开发工作, 然后在本地简单测试后开始部署到美国的服务器,之后再手工测试, 如果发现有问题, 再匆忙的修改, 然后再部署, 再测试... 每次都花很长时间, 可能到晚上11, 12点, 几次之后我们决定以后的部署最迟在下午2点前进行, 但这也意味着这天下午所有的人都不能继续开发, 因为随时可能发现bug, 就需要修改代码.于是我们总结了主要问题有: 1. 测试环境和部署环境不同. 本地Windows, 服务器Linux,本地程序能运行, 但部署后失败了, 比如权限, 服务器设置, 数据库连接信息等等各种环境相关的原因2. 本地测试不够,因为人工测试花时间太长, 所以部署前就只选比较重要的功能进行测试, 以前的功能可能被最近的改动破坏了,但是没有测到我当时听说了自动测试和持续集成, 但是没有任何经验. 于是找了JUnit的资料, 尝试写了一些核心业务逻辑的测试, 觉得很难写, 大部分的代码在准备数据, 测试也不容易维护, 于是就放弃了. 之后又安装了Cruise Control, 因为据说通过它能解决我们的这种问题, 但用了以后什么好处都没有感觉到, 于是又放弃了.后来我加入了ThoughtWorks, 发现原来测试可以这么写, 持续集成要这么做! 有了测试以后, 持续集成自然就在团队里重要起来, 每个人都会关心集成的结果, 不然总会有人在办公室里用所有人都能听到的声音说"XXX, Build Fail 了". 目前我感受最深的有两个方面: 公司氛围上每个人都在不断的想更好地办法来改进, 开发实践上一定要有自动测试和持续集成.
JavaEye:2.目前在国内使用敏捷开发的公司多吗?使用敏捷开发又能带来哪些好处呢?
许老师:目前我知道的已经使用敏捷开发的国内公司不是很多, 但是有越来越多的公司开始关注敏捷开发.我目前接触到的项目都会有需求变更, 如果我们在一开始就把这种变化处理好,会比项目全部做完后再处理成本低得多.敏捷开发源自Toyota的精益思想, 它提倡以人为本, 持续改进, 通过较快的迭代实现频繁交付, 这样能够和客户做到很好的沟通, 减少对需求理解的不一致, 客户也可以及时调整需求来满足业务的变化. 每一个迭代过程都是一个完整的瀑布流程, 包括需求分析, 设计, 编码, 测试, 部署等. 这样我们可以一直思考一个问题:"什么是客户真正需要的, 做这件事会给客户带来什么好处", 这样可以有限的精力放到最重要的事情上, 并降低开发过程中的风险, 最终给客户带来更大的价值. JavaEye:3.对敏捷实践的推广以及未来的发展前景,能谈谈您的看法吗?
许老师:越来越多的人发现了项目中可能存在的各种问题, 比如:需求变更, 不同人对需求理解的偏差, 理解不一致而导致的交付风险等. 我觉得这些问题问题分为两类 : 需求变化 和 沟通问题. 如果需求一定要变化, 那我们只能改变自己去适应他, 改变的越早, 成本越小.沟通如果有问题, 一方面我们可以增加沟通的频率, 另一方面我们可以换一种方式, 一百句话可能不如一幅图更能表达清楚意思, 而一百幅图也不如让不同的人操作一下已有的软件更能理解项目做成了什么样子.敏捷实践就是在解决这些问题, 通过每个迭代的交付品, 客户可能发现了新的需求或者发现已有需求并没有带来真正的价值; 开发人员与客户可以对需求达成一致, 如果有了偏差, 就及时更正; 所有的人都知道项目的最新状态, 每个人都可以问:这么做对不对, 能够给客户带来什么好处?另外, 敏捷提倡的是持续改进, 他并没有强制规定必须这么做或是那么做, 每个项目可以根据自己的情况, 选取不同的实践. 选取一个实践也没有硬性限制必须怎么做, 不同的项目还是要根据自身情况进行调整. 我认为实施敏捷是为了解决问题, 而不是为了敏捷而敏捷. 如果我们在开发过程中发现了潜在的问题, 并且能够找到办法解决它, 那我个人觉得就无所谓敏捷不敏捷, 如果不能解决, 那可以参考各种敏捷实践, 看可不可以解决自己的问题.
我个人认为敏捷= 每个人都在想不断改进的氛围 + 一些已经验证的较好实践. 简单来说, 你发现有一个问题需要解决, 而别人已经通过某种方法解决了, 那你就可以参考解决方法. 我觉得这是一种很淳朴的解决方法或改进过程, 所以我对敏捷的未来前景比较看好.JavaEye:4.了解到您发起了很多开源的项目,您能介绍下吗?
许老师:我目前发起的开源项目主要是两个, 一个是代码生成器, 一个是软件升级时升级数据库的工具(DB deploy for c++).代码生成器是在我以前做外包项目时开发的. 当时很多项目都采用Struts + Spring + JDBC结构, 项目的核心业务不是很多, 但是为了支撑这些核心业务, 需要有很多辅助模块, 每个模块可能都需要列表, 增删改等简单功能. 为了这些简单功能, 实现每个模块需要增加十多个文件, 文件内容相似却不同, 相似是结构相似, 不同在字段不同. 现在如果用RoR,或者Symfony, 他们都生成了很多代码用来简化这种重复工作, 我做得代码生成器也类似, 通过读取数据库信息, 生成代码. 要生成什么样的代码需要用户自行设计, 这样可以满足不同项目的需要. 一句话来描述就是可以让所有的语言都可以使用类似RoR里代码生成的功能. 关于代码生成器, 从我接触到的人里, 一半人喜欢,一半人觉得没用, 这点就看个人喜好了. 另外, 在&程序员修炼之道&这本书中也介绍了代码生成器. 另一个工具是数据库升级工具, 我在Java项目中用到了DBDeploy. 通过它可以根据最新的软件版本自动升级或降级已有的数据库, 但我用C++开发的项目就没有类似的库,所以我就把DBDeploy 移植到了C++上, 所以这实际上是一个移植项目.JavaEye:5.谈谈您对开源的看法?
许老师:现在我知道的大部分人都在使用开源软件, 很多人也给开源社区贡献了自己的力量. 如果没有开源, 我们每个人就得开发自己专有的的struts, spring, hibernate, 使用昂贵的数据库和操作系统. 而我们现在可以找到数不尽的开源软件, 从操作系统, 编译器, 数据库, 应用服务器, 云计算, 到很多实用小工具. 我认识的很多人都在使用Linux. 所以我觉得如果你不想用盗版, 又不想花钱, 那就用开源软件吧, 你总能找到适合自己的工具的, 如果实在找不到, 而你又需要, 那你可以自己写, 然后贡献出来, 让其他人方便的去用.
JavaEye:6.这次您将作为培训的讲师,可以向大家简单的介绍一下持续集成吗?
许老师:简单的说, 持续集成是对每次代码或配置的改动都进行编译, 测试, 检查本次改动有没有破坏已有的功能.我对持续集成在项目中扮演的的角色这么认为: 持续集成是项目开发的一面镜子, 你可以从中发现项目潜在的问题, 并进行改进. 比如, 如果写单元测试很困难, 可能说明当前的类职责太多, 程序结构可以改进; 如果最近失败的比较频繁, 说明代码变得不稳定, 发布的风险变大, 如果不能在一台干净的机器上编译, 可能说明编译对机器环境有依赖, 不同机器编译出的结果不同...通过持续集成, 可以降低项目发布的风险, 如果有问题, 尽早发现, 尽早改正.JavaEye:7.据统计,开源项目几乎都实施了持续集成的工作,想必一定有他的过人之处,为什么它能吸引这么多的开源项目呢?
许老师:首先持续集成是一个沟通的工具, 每一个项目的参与人员都可以知道项目的最新进展, 最近修改的什么功能, 其次它又是一个检查工具, 每个人提交的代码都会强制经过一系列相同的验证过程, 从编译, 打包, 各种各样的测试, 到部署. 这样一定程度上保证了代码的质量, 并且随时可以找到一个比较稳定的版本. 最后通过持续集成,我们可以把一部分比较复杂, 手工处理容易出错的过程自动化, 比如部署, 来减少人为失误. 不只是开源项目, 很多商业项目也都在使用持续集成. 持续集成是需要付出成本的. 但是随着项目周期变长, 人数增多, 我们从持续集成中得到的收益就越大. 开源项目一般都是在比较长的时间内, 同时有很多人开发, 并且开发人员可能不固定, 所以更需要持续集成的支持.JavaEye:8.在使用持续集成的过程中一定会遇到很多的问题,我们应该注意些什么呢,能简单的介绍下吗?许老师:我个人觉得这个问题是关于持续集成的基本实践, 因为每一个实践都是在解决一个或多个问题.一些常见的问题包括: 构建流程不清晰, 构建时间很长, 只有特定人员关心构建结果, 构建失败后继续提交代码, 在某个开发机器上运行构建等等. 那对于这些问题, 我们应该怎么做呢?首先, 应用持续集成的过程, 是一个对现有的开发流程进行分析和改进的过程, 当项目比较大时, 我们需要一个清晰的流程来进行阶段性构建, 比如, 单元测试, 打包, 集成测试, 用户验收测试, 性能测试, 部署, 不同的项目都有自己特定的具体流程,通过这种流程划分, 我们可以清晰的知道自己的构建流程, 并且知道每一次构建都到了什么程度. 其次, 每个人都要关心构建的结果, 怎么来保证这一点呢? 项目组可以有一个约定, 如果构建失败, 所有人都要停止提交, 或者把构建修好, 或者把最近的改动撤销. 这样每个人都会关心构建结果, 因为如果你的修改使构建失败了, 那会影响整个团队的进度.
再次, 要有一个简单有效的方式来报告失败, 这样构建失败的时候整个团队都能够方便的知道结果, 然后相应的人员就可以进行修复.因为时间关系, 这里只是简单介绍, 关于持续集成实践的具体内容, 我们会在培训中进行具体的分析和介绍.JavaEye:9.您对JavaEye网站有什么评价吗?可以说说您对JavaEye的建议和期望吗?
许老师:我觉得JavaEye给我们提供了一个很好的交流平台, 但我个人觉得里面应该有一个地方来发广告贴, 比如我在前一家公司的时候, 总是想找一个好些的论坛(比如JavaEye, csdn)发招聘贴,但总是被删掉. 我觉得这种招聘帖可以分为企业客户和未验证客户, 在不同的地方展示. 纯属个人想法, JavaEye应该有自己的定位.(re:JavaEye目前有提供付费的招聘服务)
李彦辉,ThoughtWorks咨询师,在大规模企业应用开发和互联网应用开发方面有6年经验,对于程序设计和敏捷开发方法的理论和实践方面有较深认识。目前致力于研究和传播构建、测试、部署方面的最佳实践。
许伟,ThoughtWorks咨询师,拥有6年企业应用开发经验,对于程序设计和敏捷开发方法的实践有较深认识。加入ThoughtWorks之前作为项目经理成功交付了多个企业应用项目。目前发起了Thelei Code Generator和DBDeploy For C++等多个开源项目,现从事敏捷软件开发,关注于敏捷实践在软件开发中的应用,致力于敏捷实践的推广。
ThoughtWorks资深讲师为您揭秘-持续集成之道
日-20日,ThoughtWorks将在北京举行持续集成的培训大会,讲解如何使用Cruise进行持续集成开发。相信身为企业核心的你一定不会错过!
11月19日(周四、全天)、11月20日(周五、上午半天) 北京京仪大酒店 每天7小时 (9:00-12:00,13:30-17:30),上午半天(9:00-12:00) 课程名称:持续集成之道-使用Cruise培训课程 课程介绍: 软件项目需要敏捷,企业更需要敏捷。一支敏捷的团队能够在项目中收获成功,而一家敏捷的企业能够在市场的风雨中屹立不倒。 在
敏捷实践中存在一种名为“持续集成”的实践。持续集成(ContinuousIntegration,CI)是“节能减排”的一种重要体现,是一种绿色实
践,它在拒绝浪费,降低产品研发风险,提高软件质量方面起到了举足轻重的作用。尤其是对企业级用户来说,它大大的降低了开发成本和周期。 从全世界范围的软件研发趋势来看,开源项目都实施了持续集成的工作,大量商用软件的研发工作也在逐渐拥抱这一敏捷实践。 通过本课程你将会学到如何搭建有效的持续集成环境,来帮助减少开发中的集成问题,提高代码质量以及整个团队的沟通和协作。你也会发现,一个好的持续集成环境如何扮演团队中沟通枢纽的角色。
培训目标 理解持续集成的要点及原则 能够在自己的组织中搭建持续集成环境,运行自动化测试,收集并报告构建结果 能够识别并解决持续集成中的常见问题 了解Cruise的特性和用法 培训对象   本课程适合公司技术负责人,项目经理,资深开发人员。 课程内容
持续集成的要点和原则 持续集成的准备工作 搭建持续集成环境 构建策略和最佳实践 构建结果通知机制 自动化测试 自动化代码分析 与问题追踪工具集成 自动化发布管理 分布式构建 在大型项目中应用持续集成
点击查看更多详情:
Thoughtwork 实际上没有广告吹的那么神乎,我去面试英语不过关,去里面参观了一圈,没什么特别,咨询师也没几个,大部分都是开发或外包人员。在这里我想说个例子:人人都知道沃尔沃汽车安全,事故率最低,真安全么?沃尔沃打出的口号就是安全,所以买沃尔沃的车主都是以安全第一为理念,自然就平安无事了。我们总以thoughtwork宣传的理念来看待它,那么它自然很神圣,但了解的越深,越能发现它并不是高不可攀,它其实是广大IT公司中的一员。完全不知道你在说什么。 真的
相关资源推荐

我要回帖

更多关于 在有利网工作什么体验 的文章

 

随机推荐