对三个支柱的个人白话解读
November 18th, 2011
ThoughtWorks的 三个支柱 :Sustainable Business,Software Excellence, Social Justice。徐昊的翻译很古雅:
济苍生以软件,担道义为世范。 凡入我司者皆归三宝。三宝何为?一曰基业永续,二曰止于至善,三曰不为利回不以义疚。
我的解读——感谢 Julia 的引导——很直白。我希望我们有一个好的团队,三个支柱就是在描述一个好的团队应该是什么样的。
- 首先,团队精神不是依赖别人。每个人都要有 别人不行了我顶上 的觉悟,每个人都能搞定自己的事并且帮助别人,这才叫团队精神。这样的团队,就算是一个合格的团队。有这样的团队,就会有可持续的业务。
- 然后,团队的每个人都追求卓越的软件技术,追求不断学习,从来不会停下步伐说“好了,现在我满意了”,一直用严苛的标准要求自己改善自己(CodeJam、每天写12小时程序、每年读50本书,等等)。这样的团队,就是一个好的团队。我至少希望,我们的每个团队都能达到这个水平。
- 比这更多,如果团队里的每个成员都充满正义感,关注社会公正,思考如何为世界变得更美好做出贡献,那么这就是一个完美的团队。我向往,但目前我不强求。
招聘广告:ThoughtWorks成都办公室开张在即。我们的目标是在2012年打造一支至少是“好”的团队。有兴趣一起来吗?
一年成聚,二年成邑,三年成都
November 9th, 2011
挺热闹地说了挺久之后,终于来到了成都。
成都高新区给了我非常好的第一印象。有华丽的展厅,还有两位美女陪我们参观——我不是说效珅不是美女啊,效珅是我们这拨的,是被陪的。


其他的各种美好动人就不说了,总之天府的美誉不是白来的。这两天吃了盆盆虾、干锅兔丁、粉蒸牛肉、钟水饺、老麻抄手、黄醪糟、夫妻肺片夹锅盔⋯⋯还在小酒馆和锦里喝了好多酒。效珅明显很喜欢吃,吃得都肠胃不调了。高新区管委会食堂的午餐都有酸萝卜老鸭汤啊。客户食堂的午餐都有芋儿烧鸡啊。家乡啊,这就叫家乡啊。
还遇到一件有趣的事。在寻找临时办公室的时候,有家公司做好了装修想转租。该公司的行政大姐说:我们这块原来都是设计的敏捷台⋯⋯郭晓和效珅都没注意,我耳朵一尖,多问了句:你怎么知道“敏捷台”这个说法的?行政大姐说:我们老板在深圳经常去参观某某公司,从他们那里学来的。我心里那个感动啊~
某某公司的敏捷浪潮,我从头到尾也算是尽了绵薄之力。能看到自己传播的东西经过客户再传播到社会上更多的企业,这真是能让人产生职业幸福感啊~更何况这传播的效果有可能帮我们自己省装修费用。什么叫社会责任?这就叫社会责任。坚持做正确的事会有回报的。

最后打个广告:ThoughtWorks成都办公室正在招聘。如果你热爱编程,如果你喜欢——像我和韩老师这样——大中午的坐在楼下讨论图灵机和数独算法,如果你愿意跟一群正直的偏执狂一起工作,如果你想为中国软件业的明天变得更好做一点实实在在的贡献,我们 欢迎你加入 。
一年成聚,二年成邑,三年成都。这就是ThoughtWorks成都的愿景。我们一起来把它变成现实吧。
ThoughtWorks招聘咨询工程师
September 20th, 2011
ThoughtWorks迫切需要既能写程序又能见客户的咨询工程师。如果你认为自己适合,请给我邮件: JXiong at ThoughtWorks dot COM 。我期待和你一起工作。
这是一个怎样的职位:- 绝对有挑战性。我们服务各个行业最领先的企业,直接面对客户提供咨询,为他们解决各种(技术和非技术的)难题。
- 充满成就感。我们把世界最先进的软件开发技术和方法引入中国。我们不仅帮助客户,而且提升整个中国软件业的水平。
- 快速成长。背靠ThoughtWorks全球的智力资源(例如Martin Fowler和Jim Highsmith),跟一群国内技术社区的领导者一起工作,这是国内罕有的技术人员成长的优秀平台。
- 合格的编程技能:有丰富的开发真实应用程序的经验(语言不限,Java为佳)
- 对企业应用的生产环境有所了解,有Unix生产环境下工作的经验为佳
- 看重软件卓越,从未停止追求把程序写得更好、让自己变得更强
- 敬业,勤奋努力,有强烈的责任心,重视对客户、对团队的承诺
- 大型企业系统的设计和架构经验
- 良好的沟通、演讲能力和直接面对客户工作的经验
- 对敏捷软件开发方法有所了解
- 社会责任感:追求用自己的工作让世界变得更美好
工作地点:成都/西安,但是出差会很多,可能80%时间出差。
西安办公室的苹果控们
September 19th, 2011
持续交付时代到来
August 22nd, 2011
从南京到东京
July 20th, 2011
从新修好的南京南站坐了个动车,就开始向东走啦。走的时候南京突然开始下大雨。好像每次我要换个地方都会下雨啊。
折腾折腾折腾,折腾到位于东京站旁边的酒店住下已经凌晨一点多了。
一觉睡到早上起来吃了早餐才恢复精神。Martin和Jez留了一个信息,已经先吃过了。
一起去到 Agile Tokyo 的会场,Yoko san在做准备,来了很多客人。想起前几年组织会议,真是辛苦的事啊。
主持人小姐很漂亮,Jez san很有型。
Martin和Jez的演讲都做完了以后,就一起坐山手线去秋叶原啊秋叶原~
Martin san伟岸的背影在秋叶原啊秋叶原~(还有张更有型的照片但是我不会贴出来啦~)
逛了大量的漫画和萌之女仆咖啡店。
Jez san明显有点high(其实我也是)。
晚上又很happy滴喝了不少的Asahi和清酒,聊了很多的敏捷和持续交付。于是Agile Tokyo 2011的一天就这样过去啦~
至于Martin san和Jez san讲的内容⋯⋯嗯,我已经做了笔记并且拿到了胶片,待到回头再说吧~
职业规划中的“我想要”和“我需要”
July 7th, 2011
最近听到一些年轻的同事纷纷想转职,想从程序员转做业务分析师。尤其是年轻的ZY也有这样想法,让我感到有点触动。很多时候,尤其是年轻的时候,我们分不清“我想要”和“我需要”。在一句“我想要做BA”的背后,需要的是什么?

人际交往能力
据说程序员是一个死板孤僻有人际交往障碍的族群。因为不愿成为头上长草脚下生根的孤老程序员,所以我想要做BA。
但是,没有人阻止你在写好程序的同时练习人际交往(尤其是在ThoughtWorks这样的公司)。实际上,现代商业软件开发根本没有什么火箭科学,作为一个程序员大部分时间本身就是在进行人际交往。你能把设计思路讲得明明白白让队友信服吗?你能列出各种实现选择的优劣说服客户不要做愚蠢的选择吗?你能面对五十个同事做一次落落大方的技术演讲让大家欢声笑语同时学到知识吗?练习人际交往的机会俯拾皆是,不要等到自己被冠以“业务分析师”的名头才把脑袋从屏幕前移开。
对商业的了解
每天给客户写的代码为什么值那么多钱?为了理解客户的商业运作,所以我想要做BA。
同样,没有人阻止你去了解。尤其是这个网络时代,让学习这些知识变得前所未有的简单。你只要订阅 Economist 和 McKinsey Quarterly 的RSS,每天花两个小时读完所有的更新(并且用 1.HourFor.Me 来监督自己),很快你就会发现:你能跟上各种“高端的”商业对话。这些文章里会有不时提到的引用书目,到豆瓣加上这些书,每周一本,一年读完50本,你对商业的了解会超过你的客户——他所知道的大多只与某个行业相关,而你学到的将是全景。
请注意,我说的是简单,不是容易。每天坚持两个小时做一件事、每周读完一本书,这永远不会容易。戴上“业务分析师”的名头也不会让这件事变得容易。
交互设计能力
总是写这些枯燥的代码太没意思了。为了 像小熊那样 画出酷炫的手绘,所以我想要做BA。
买 这本书 ,开始练习素描。每天一小时,两个月以后你就能画得 有模有样 。然后订阅 Smashing Magazine 的RSS,到网上找手绘和简笔画素材,不断练习。同样,你并不需要一个名头、一个工作才能学习这些。
管理能力
我不想总是跟着别人屁股后面,我想别人都听我的,所以我想要做PM(为此先做BA,因为据说BA更容易变成PM)。
记得在决定加入ThoughtWorks的那一天,老师对我说:“leadership”和“management”是不同的东西。要别人跟从你,你需要的是leadership,而不是一个manager的头衔。所以还是这句话:不要等待某个头衔,现在就开始练习你的leadership。想想你的代码会被别人如何使用,想想你开发的软件会被如何部署,在所有人都妥协的时候鼓励团队坚持写测试和重构,这些都是leadership的表现形式。郑大大 展现leadership的方式很简单:“在我的项目里不容忍烂代码。”很简单,但一点也不容易,也许你可以问问郑大大是怎么做的。
更少的压力/更多的钱
为什么每次出bug都要我来修?为什么我的薪水不够买房?我要做PM,我要出人头地,我要有钱⋯⋯
你知道我会说什么。去变得更强,然后来踢我的屁股吧。
ThoughtWorks的真实故事
也许在如今的某些大团队中,“多能工化”已经成了一个传说。在我的第一个ThoughtWorks项目中,Perryn Fowler 既是架构师又是tech lead还是PM有时兼任BA并且每天写程序。当他满脸怒气地对我说“我的项目里不允许有没测试的代码”时,我就认定:ThoughtWorks的leadership就应该是这样的——他让你感到你应该听他的,并且如果你不听,他会一脚踢在你屁股上然后自己搞定所有事。
郑大大现在的项目有同样的气味。LY作为BA+PM进入,我从第一天开始就告诉他:你要写代码,你要了解所有事,如果出了问题你就顶上。ZQ作为QA进入,每天参加code review,并且学着写Chef脚本。从项目管理的角度,我希望所有人能做所有事这样项目就不会有瓶颈;从人的角度,我不想看到“ThoughtWorks PM”、“ThoughtWorks QA”,我想看到一个个Perryn的复刻,随时准备踢别人屁股并且搞定任何事。
然而,关键在于⋯⋯
正如我一再强调的,所有这些能力,都不需要得到一个专门的职位或者头衔才能开始获得。因为它们有一个共同的特点:它们都基于人类语言。
软件开发从根本上来说,是将人类可理解的连续的物理世界,以图灵机可计算的方式建模为离散的数字模型的过程。而整个软件行业的各种行为中,只有编程(即:以图灵机可计算的方式建模)这一行为不是基于人类语言,而是基于机器语言的。换句话说,即使不戴BA/PM的帽子,你永远可以和那些只懂人类语言的麻瓜们练习其他能力;一旦你脱下了程序员这顶帽子,你将没有机会练习严肃的编程。这一根本性的分野决定了一个事实:程序员可以转向其他职位,而其他职位无法转成程序员——所有post-technical的人,无论多么努力保持自己的技术水平,最多也只能停留在转职之前的水准。
因为这是一条不归路,所以在说“我想要做⋯⋯”之前请想清楚:离开编程的键盘,你所追求的可能只是一种很简单(尽管不容易)就能学到的能力;但与机器对话——整个软件开发的根本——的能力,当你发现自己需要的时候,就再也找不回来了。
ThoughtWorks办公室里的街机
June 8th, 2011
给我看你的博客
June 8th, 2011
小熊写了一个 用户体验设计师招聘广告 。嗯嗯,从转帖广告的角度,如果恰好有设计高手看到,ThoughtWorks中国 正在招聘用户体验设计师哟。
我很喜欢小熊的这个说法:
给我看你的portfolio或者博客,我很不喜欢简历这东西,你的博客就是你的简历,上面把你写得清楚
看到这个就想起 我的偶像 ,这博客写到如此程度,何愁没有工作找上门啊~
所以涅,应聘的童鞋们,最好把你的博客一起告诉我们。看到一个精彩的博客,简历神马的都是浮云~
ThoughtWorks西安和成都招聘进行时
May 20th, 2011
本文系纯广告:ThoughtWorks 刚搬进的西安办公室和将要成立的成都办公室 正在招聘 。我们盼望有热情、有实力、正直靠谱的人才加入我们,共享这美美的新办公室。
加入ThoughtWorks能得到什么?
我很实在,有一说一。比如我不会说加入ThoughtWorks有股票拿有机会几年后赚够下半辈子。或者要想安安稳稳混吃等老,请考虑对面IBM。ThoughtWorks有的是:
- 和世界级牛人一起工作的机会。Martin Fowler ,Jim Highsmith , Ola Bini ,Jez Humble ⋯⋯你可能只读过他们的书。但在ThoughtWorks你有机会和他们一起工作(以及一起满大街找饺子馆⋯⋯)。
- 为世界级企业提供服务的机会。外包?好吧,如果你喜欢这个词的话。不过,哪家外包公司会像ThoughtWorks这样,与世界领先的企业紧密合作,直接参与他们的核心IT架构,以自己的企业文化去 改变客户的工作方式 ?做有意思的事,做正确的事 ,这才是我们要做的。
- 真正的扁平组织。没有领导。想有多大影响力,自己去争取 。想调动整个办公室、整个中国公司、整个亚太区、整个ThoughtWorks的资源吗?没问题。不需要你有Lead Consultant的头衔或者十年经验,只要证明你的点子够好。不过,想有人帮你决定该干什么,想管理几十人的生杀大权?嗯,麻烦换个地方应聘⋯⋯
ThoughtWorks的要求是什么?
- 态度。追求软件卓越的态度。把编程当做艺术来做的态度。做好每件事的态度。我们有很多关于“为什么要重构”、“为什么要TDD”的回答,但最根本的原因我们很少跟别人说:因为我们不喜欢做事做个半吊子。这不是钱的问题,事关态度。
- 才华。可以不会Ruby,可以没听说过SSH,不可以不聪明。技术、工具,都没问题,有才华的人们可以在一起互相学习。我们把学习看作一件持续不断的、充满乐趣的事情。
- 品行。很简单:我们不喜欢和坏人相处,我们不喜欢办公室政治,我们不喜欢勾心斗角。所以,我们自己保护自己的游乐场。
学历呢?工作经验呢?不需要。每个人代表他/她自己。我们相信我们看到的,而不是纸上写的。
想加入吗?
联系我,或者联系 胡凯 。我们等着你。































