前一陣在知乎上看到一篇關(guān)于“選擇某大公司還是ThoughtWorks”的提問扳炬,于是毫不猶豫地點(diǎn)了進(jìn)去。果不其然搔体,除了一些同事的安利回答(尤其以Phodal同學(xué)的安利最為嚴(yán)重)外恨樟,也沒有太多有價(jià)值的參考了。對(duì)于這種一邊倒的回答疚俱,我只想說我喜歡……額不劝术,不是這句,應(yīng)該是呆奕,很可能會(huì)有陰謀論者以為是營(yíng)銷套路吧养晋?
其實(shí)選擇哪家公司,并不是一件多么難以抉擇的事情梁钾。如果選擇了某家公司卻發(fā)現(xiàn)不適合自己绳泉,那就趁早走人唄。我相信在就業(yè)上能夠有所選擇的人姆泻,是不會(huì)因?yàn)樵谝患夜敬藥讉€(gè)月發(fā)現(xiàn)不合適圈纺,辭職出來(lái)后就找不到工作的。既然現(xiàn)在能拿到ThoughtWorks的offer麦射,幾個(gè)月或幾年以后,只會(huì)拿到更好的灯谣,不是嗎潜秋?而至于是否適合自己這個(gè)問題,就只有自己才能感受了胎许,其他人的回答只是參考峻呛。我相信題主已經(jīng)做出了選擇,等他過段時(shí)間再來(lái)更新吧辜窑。
ThoughtWorks是一家奇特的公司钩述,奇特到她的員工很少有說她壞話的,不管是在職還是離職穆碎;奇特到也有一些“ThoughtWorks終身黑”一直致力于各種嘲諷牙勘。當(dāng)然,對(duì)于大多數(shù)人來(lái)說所禀,她是神秘的方面。
因?yàn)樗珜?dǎo)宣揚(yáng)的東西,在其他公司尤其是傳統(tǒng)IT企業(yè)來(lái)說都太難以推進(jìn)了色徘。比如Clean Code恭金、比如TDD、比如持續(xù)交付(當(dāng)然褂策,如果你認(rèn)為這些實(shí)踐對(duì)于軟件開發(fā)來(lái)說無(wú)足輕重横腿,歡迎來(lái)辯)颓屑。因此曾經(jīng)有不少技術(shù)圈網(wǎng)紅希望能夠到ThoughtWorks參觀,無(wú)非就是想看看耿焊,“你們說你們XXX做得很好揪惦,到底是不是真的啊〔蟊穑”
我在加入ThoughtWorks之前也抱有這樣的疑問丹擎。因?yàn)楫?dāng)我看著上千行的方法發(fā)呆時(shí),他們說超過15行甚至5行就算大方法歇父;當(dāng)我們還在沒有單元測(cè)試的深淵中掙扎時(shí)蒂培,他們已經(jīng)TDD得不亦樂乎;當(dāng)我剛開始用Jenkins搭建好構(gòu)建環(huán)境榜苫,《持續(xù)交付》出版了护戳;當(dāng)我們終于搭建起分布式應(yīng)用,覺得差不多算是SOA了垂睬,人家已經(jīng)把大服務(wù)砍成微服務(wù)了媳荒!同樣是程序員,這么一比怎么就感覺自己不會(huì)寫程序了呢驹饺?他們簡(jiǎn)直就是神一般的存在啊钳枕。
到底是不是真的呢?以我有限的ThoughtWorks項(xiàng)目經(jīng)驗(yàn)來(lái)回答:“并不全是真的赏壹∮愠矗”超過15行的方法比比皆是;TDD倒是一直在踐行蝌借,但是團(tuán)隊(duì)成員對(duì)它的質(zhì)疑從來(lái)就沒有停止過昔瞧;持續(xù)交付還在路上,還做不到每天都部署到生產(chǎn)環(huán)境菩佑,我們相比Amazon還差著好幾千個(gè)Facebook自晰;而一度客戶對(duì)我們的challenge是,“別再加服務(wù)了稍坯!”
但是酬荞,與其他企業(yè)不同的是,ThoughtWorks一直把這些優(yōu)秀實(shí)踐作為追求的目標(biāo)瞧哟。前路也許坎坷袜蚕,但永遠(yuǎn)不會(huì)放棄。對(duì)于“代碼壞味道”的爭(zhēng)執(zhí)可能貫穿整個(gè)Code Review绢涡,不辯個(gè)淋漓盡致不痛快牲剃,不為別的,只為把代碼寫好雄可;TDD雖然有爭(zhēng)議凿傅,但都在努力學(xué)習(xí)缠犀,各種workshop和培訓(xùn)紛至沓來(lái),不為別的聪舒,只為get一門新技能辨液,融會(huì)貫通突破極限成為大神;企業(yè)應(yīng)用的持續(xù)交付難度比互聯(lián)網(wǎng)要大得多箱残,但這條路我們也基本上趟出來(lái)了滔迈,并且會(huì)堅(jiān)持走下去;至于微服務(wù)被辑,經(jīng)過了那段低潮期燎悍,我們從各個(gè)方面開始調(diào)整,已經(jīng)基本找到了應(yīng)對(duì)之道盼理。
所以谈山,重要的不在于這些東西我們現(xiàn)在做得好不好,而在于我們一直在往好的方向上做宏怔。而在這個(gè)過程中奏路,收獲最多的不就是人的成長(zhǎng)嗎?
回到主題上來(lái)臊诊,我當(dāng)初為什么選擇ThoughtWorks呢鸽粉?坦白地講,對(duì)于一個(gè)在國(guó)企工作多年飽嘗了世間冷暖抓艳、見識(shí)過項(xiàng)目百態(tài)技術(shù)卻沒啥進(jìn)步的我來(lái)說触机,在換工作時(shí)并沒有太多可選擇的余地。要不是在拿到ThoughtWorks offer的兩周前我的人生導(dǎo)師推薦我去ThoughtWorks試試壶硅,我可能就去一家房地產(chǎn)企業(yè)做甲方的技術(shù)經(jīng)理了。
但選擇公司這一行為不僅僅發(fā)生在當(dāng)初挑offer時(shí)销斟,也發(fā)生在每年的離職季庐椒。每年春天,拿完年終獎(jiǎng)蚂踊、過完年约谈,那些對(duì)promotion不甚滿意的年輕人就開始躁動(dòng)起來(lái),人員流動(dòng)如滔滔江水連綿不絕犁钟。對(duì)于每個(gè)人來(lái)說棱诱,是去是留都要做個(gè)了斷。那么我為什么每次都選擇ThoughtWorks呢涝动?
14年初迈勋,我剛剛過試用期,對(duì)ThoughtWorks的一切都還處于看似懂了但現(xiàn)在看來(lái)其實(shí)too young的階段醋粟。那時(shí)我留下來(lái)的理由非常簡(jiǎn)單靡菇,我還沒有領(lǐng)悟到這家公司的精華重归,還需要不斷地學(xué)習(xí)。
15年初厦凤,我所在的項(xiàng)目新啟動(dòng)了子項(xiàng)目鼻吮,使用ReactJS作為前端框架,同時(shí)還引入了node.js较鼓。對(duì)于一心想學(xué)習(xí)JavaScript的我來(lái)說簡(jiǎn)直如沐春風(fēng)椎木。在這個(gè)時(shí)間點(diǎn),國(guó)內(nèi)很多公司都還沒有引入ReactJS博烂。順便說一句香椎,該項(xiàng)目從10年便引入了AngularJS,同樣是國(guó)內(nèi)領(lǐng)先脖母。對(duì)于新技術(shù)孜孜不斷地追求把我牢牢地拴住了士鸥。
時(shí)間來(lái)到去年底今年初,一位同事找到了包括我在內(nèi)的幾個(gè)人谆级,成立了一個(gè)“地下組織”烤礁,開始互助寫作。所謂“互助”其實(shí)就是互相督促肥照、互相建議脚仔、互相傷害而已。除我之外舆绎,其他人都是公司里舉足輕重的人物鲤脏,不知道這位同事為啥會(huì)找到默默無(wú)聞的我。在其他公司吕朵,這種事發(fā)生的概率恐怕會(huì)很小猎醇。誰(shuí)管你有什么特長(zhǎng)喜歡什么呢?
而在ThoughtWorks努溃,這樣的地下組織有很多硫嘶。志同道合的同事們會(huì)自發(fā)地聚集在一起,為做成點(diǎn)事情而努力梧税。比如BQConf和CDConf沦疾,都是大家覺得想做點(diǎn)什么,于是找到了一撥人一起做第队,需要公司幫助的時(shí)候再找領(lǐng)導(dǎo)談哮塞。沒有一個(gè)是自上而下的“委派”。半年來(lái)我們這個(gè)組織誕生了不少優(yōu)秀文字凳谦、演講和播客忆畅,以及最新的ThoughtWorks讀書雷達(dá)。
三個(gè)月前尸执,我們這個(gè)小組織進(jìn)行了一次團(tuán)建邻眷,期間問到是什么動(dòng)力促使自己堅(jiān)持下來(lái)眠屎。一些同事的回答讓我動(dòng)容。他們的大意是說肆饶,“希望通過自己的微薄之力改衩,保持ThoughtWorks在社區(qū)的影響力,不能讓ThoughtWorks的招牌砸在我們這一代ThoughtWorker的手中驯镊『剑”一個(gè)普通的員工對(duì)自己的公司愛得如此深沉,讓我肅然起敬板惑。不知道文章開頭和ThoughtWorks比較的那家大公司有沒有員工愿意無(wú)償做這些事情橄镜,反正我是真的為能和這樣的人成為同事而感到驕傲。
行文至此冯乘,已是深夜洽胶。心有戚戚,無(wú)以言表裆馒。思緒萬(wàn)千姊氓,不知所云。
以上喷好,獻(xiàn)給入職三周年的我翔横。