什麼是工程師文化?

在你眼中,怎樣的公司才算是有工程師文化的公司?
包括且不限於計算互聯網行業,土木建築業,機械製造業,航空航天業,生物化工業等眾多工程師行業。


現在越來越多的初創企業開始強調工程師文化。這是個好現象。

@Wang Arthur 的答案有點跑偏了。他說的是美國的車庫文化。美國車庫文化是基於其較大的居住面積和較高的收入水平的一種業餘愛好文化,強調的是自己動手進行創造(但這在美國一般不叫作DIY文化,一般DIY指的是自己動手做一些平時付錢讓別人做的事情,美國講的DIY一般不帶有創新意味,而車庫文化一般帶有創新意味)。車庫不是工程師文化。工程師文化一般指的是一種企業文化。

那麼什麼是工程師文化(Engineering Culture)?

一言蔽之,就是一切以解決問題為導向的工作文化。認同這種文化、執行這種方針,並不要求當事人本身是個工程師。

工程師文化以解決問題的第一線人員為核心,除部分公司發展方向的制定者外,所有其他人員均為第一線人員服務。層級要扁平,第一線要具有極大的自由度,權責要向下轉移。

一個人的地位、聲譽、威望全都歸結到一點上——你在多大程度上能夠解決問題。一個優秀的一線問題解決者的收入高於中層管理人員是很正常的。

工程師文化裡面,有領導層級,但在具體的問題上,只有一個判斷誰的意見更重要的準則,那就是誰的方案產生的結果更好。背景、資歷、年齡、官位,所有的一切都不頂用,只有一種東西最重要,就是你的方案好用。就算你是常春藤畢業的,你的方案沒有一個三本畢業生好用,你的地位、聲譽和威望就比不上後者。在討論問題時,不存在層級。權威來源於經驗和解決問題的成功率,而不是官階。

工程師文化不講意識形態,不看怎麼說,只看怎麼做。在工程裡面,只有「這頂用」、「It works」,沒有「這正確」、「It"s correct」。工程裡面大家信奉的只有一條:「實踐是判斷真理的唯一標準。」吹得再天花亂墜,未經實踐檢驗,都會被懷疑。

工程師文化不在乎加不加班,不在乎是不是辦公環境里堆一些非常geek的東西,其關鍵在於,當問題出現的時候,那種「一切以解決問題為導向」的內部組織模式和思維方式。

此外,真正的工程師一般還會強調「發現問題-了解背景-分析問題-集思廣益-制定計劃-解決問題」整個流程。必要時,工程師可以放棄了解和分析問題,而直接解決問題(在很多時候這是可能的),在事後才分析問題的緣由。工程師還要理解理論模型和實際情況總是存在差異,好的紙面方案,即便在模擬中性能優良,在實踐中也未必有優勢。在成本允許的情況下儘可能試錯才是關鍵。當然,這些「工程師的文化」未必包含於企業的「工程師文化」中。


一天沒來,打開知乎嚇了一跳。居然還被知乎日報推薦了。受寵若驚。謝謝大家的支持。更新在正文的後面,對一些回復做了回應,也努力想解釋的更清楚一些。希望大家喜歡。


一點淺薄見解。請批判著看。

在海外多年,很多媒體追捧的國外的概念,比如什麼法制民主人性化誠信素質高之類的,絕大部分是虛的假的YY的。但是西方社會有兩個東西,我認為真的需要我們去研究,學習,然後吸收轉化為我們自己的內在財富。我覺得這兩樣事物,才是西方文明崛起的關鍵,也是他們貢獻給這個世界偉大的財富。其一是工程,其二是金融。

作為一個和理工打了半輩子交道的人,金融我就不指手畫腳了,畢竟不是專科出身,也沒有業內經驗。和大家分享一下我對工程師文化的看法。

其實工程師文化這個詞的定義十分的廣泛。你說物理學家算不算工程師?建築工人算不算工程師?其實嚴格來講,從文化這個形而上的層面,他們也應該都算。

如果沒記錯,這個詞兒是最近幾年才流行起來的。因為IT行業的爆炸式發展,一群矽谷的公司的風格,如穿著休閑,時間自由,頭髮蓬亂,放蕩不羈,公司里這裡擺個雕塑那裡放個躶體畫之類的,被很多媒體再煽風點火添油加醋的一炒作,就火了。

但是我認為這不是工程師文化,這最多只算是公司風格罷了。

我看到的,感受到的西方的工程師文化,是融合在日常生活中的點點滴滴的。從兒童時的樂高玩具, 年少時跟著父母做屋子修修補補的工作,青年時打工買二手車折騰來折騰去。人生在這裡會出現分水嶺,好一些的家庭繼續深造,真正進入工程師的某個專業。大部分人則去打體力工,進入規範的流水線。

但無論是哪一種人生,這個社會的洋人給我一種他們依然保留著游牧民族的不安分,與工業革命時代的浪漫的感覺。很多孩子小的時候,都收到過塑料的扳手做為禮物。而成人的夢想,則是有一車庫的工具放在價值上千的工具櫃中。整套整套的螺母,整套整套的扳手放在超市裡供人選購。更有許多超大型的商店, 佔據最好的地段,專門出售格式各樣的工具與原材料。

這是屬於創造的浪漫,來自於改造這個世界的不安分。拿起厚重而鋒利的衝鋒鋸的時候,你的靈魂彷彿與百萬年前那個舉起木棒的先祖相連。這,就是工程師。

而當上面這些東西,散布在每一個家庭的車庫裡,散布在每一輛公路上奔跑的汽車裡,每一個孩子都知道如何用改錐去擰緊一個螺絲,每一個少年都知道如何用千斤頂頂起車來換輪胎以便繼續泡妹子,每一個成年人都知道如何將木板拼搭成漂亮的露台。這種文化,就形成了。

這才是工程師文化。矽谷的年輕人的自由與青春只是它表達的一小部分,而這種文化自身,則要深邃的多,包容的多,廣闊的多。

我還記得很多很多年前,我第一次踏進我當時同學家的車庫時,看到滿牆工具時所感受到的震驚。現在回憶起來,那種震驚里夾雜著一種恐懼。我隱約覺得我發現了,這些國家強大的源頭。而我們真的缺少它。

所以,我們要學會它。

十幾年過去了,我從只會擰螺絲釘,學會了使用各種尺寸的鋸子,學會了使用不同用途的電鑽,知道了怎麼修理汽車,明白了房子結構,搞清楚了怎麼搭木頭才不會倒。

然後我又發現了,各種新鮮的信息工具層出不窮。用了iPhone, 不停的自動化自己的信息庫,使用Mac來提高效率,使用終端來與電腦對話,學習各種語言與數據結構。

然後我又發現了,各種家用產品百花齊放,我換了陶瓷刀,買了麵包機,用洗碗機來處理碗筷,用慢燉鍋來給自己熬早餐粥,嘗試膠囊咖啡,用烤箱給自己做美味。

然後我又發現了,同樣的感覺出現在了各個方面,金融,醫療,教育,稅務。每當我看到這種成體系的東西,每當我看到一種新的創造,我的腦子中,總是會浮現出我那位同學家車庫上,整整齊齊擺放著的工具。

那代表著無限的可能。

我依然在探索的過程中。不過,我可以對我這麼多年的感悟做一個簡單的總結。

工程師文化,是一種內心的慾望與恐懼的表達。對創造的慾望,對世界的恐懼。因為慾望而創造,因為恐懼而改造。創造世界,改造世界。


這種慾望是如此的強烈,這種慾望驅使著我們從樹上爬了下來,生起了火,蓋起了房,馴服了馬,開上了車,造出了原子彈,發射了好奇者。而這種恐懼也是如此的強烈,逼迫著我們不停的看向周圍的一切。還能不能更好?還有什麼可以做的?還可以怎麼做?

工程師文化就是這樣兩種感情所催生的。永遠想要去改造些什麼。而工具帶來了無限的安全感。永遠想去創造些什麼,而工具給予了創造的可能。

這種感覺很難用語言所描述,我覺得它可能更接近女人看到美麗的衣服與精緻的化妝品時候的感受。那種渴望,那種衝動。這是工程師文化的來源。

但僅有這個來源是不夠的。慾望與恐懼畢竟是不可靠的人類情感。而西方社會則在這幾百年里,發展出了一套嚴格的,制度的,詳盡的規則來約束這種情感。當然也有約束不住的例子也很多。但無論如何,這個社會用最大的力氣,將這種感情導向了有益的方向。

人類本身無法磨滅的慾望與恐懼,與社會所制定的約束與導向,共同造成了工程師文化的興起。也成就了西方在近代的輝煌。

如果你覺得這些都太大太空,下面是我所能想到的關於工程師文化的一些關鍵點:

1. 熱愛創造。你願意弄髒自己的手,捏出個什麼,搭出個什麼,並引以為豪。
2. 愛你的工具。工具是工程師的命根子。不管是扳手,還是軟體,還是報表。它們的祖先,是人類第一個舉起的那根木棒。
3. 永不滿足。總有可以改進的地方,總有可以優化的地方,總有可以完善的地方。
4. 理性思維。不做無用之事。明白實驗與犯傻之間的區別。
5. 好奇。對自己專業的好奇,對不同專業的好奇,對生活的好奇,對世界的好奇,對宇宙的好奇。
6. 熱愛自己的專業,並一直向下挖。
6. 瘋狂到相信自己能夠改變世界。這句話最近也很火。但是真的,工程師,確實是這麼一群人。而且他們真的在改變世界,已經改變了好幾萬年了。

註:很久不寫大段的文字,表達能力下降很多。這一篇寫的有些潦草,望諒解。
其實我想說的是,想知道工程師文化是什麼,最簡單的辦法,是去買一把漂亮的扳手,用它去擰緊一個螺絲。如果你真的適合這種文化,在看到那把扳手時,你就應該明白我在說什麼。

-----------------------------------------更新與回復------------------------------------------------------
一天沒來,打開知乎嚇了一跳。居然還被知乎日報推薦了。受寵若驚。謝謝大家的支持。

這篇文字其實我自己並不是那麼的滿意。評論里有一些批評認為情感太充沛,太煽情,我是同意的。其實寫完就有這種感覺,不過當時沒有想到會獲得這麼多關注也就懶得改了。可能是文字過於情感化,把一些細節的觀點蓋了下去,沒有表達清楚,造成一些誤解。所以在這個更新里簡單的再探討一下,算是對各位朋友支持的感謝,以及對一些評論疑問的回答。

有一個重要的東西我覺得我沒有在正文中表達清楚,那就是工程師文化到底包括了哪些職業?哪些範疇?

可能是我在文章中帖的三張圖片與反覆重複的『工具』這個詞造成了誤導,使得很多朋友覺得我主要是指做機械工作的工程師。也可能是因為我強調了『車庫』這個給我第一次震驚的場所,使得很多朋友覺得我們真沒車庫啊所以沒工程師文化。不是的,我的意思真的不是這個。

我想表達的,是工程師文化這個東西,要比電鋸,車庫,矽谷公司,Geek,都大的多的多。滿車庫的工具,自由的軟體公司,創造幾十億利潤的金融產品,都只是這種文化的一種表達方式而已。其根源,是同一種東西。文化應該是平淡的,潤物細無聲的,表達在生活的方方面面的。是某個群體對某種行為,某種思考方式都認為理所當然,而其他群體的人卻覺得很新鮮的,這才應該被稱之為文化。

文化是一種生活方式。無論你做哪一種職業,無論你是窮人還是富人,你都接受這種生活方式並樂在其中,這就是文化。而當你在從事你得專業工作時,這種日積月累的文化積累在不經意間,表達在方方面面,這才形成了某種行業特有的風格。

我想表達的是,這個社會選擇了給工程師文化提供土壤。利用工具,解構問題,保持好奇,動手去做。這些在一個人的成長中,耳濡目染,滲透進每一個細胞里。當然必須承認,他們的這種選擇有一大部分原因是出於他們實在是沒有那麼多人,只好自己動手干。但這種客觀環境確實在讓民眾接受這樣的文化中,起到了促進作用。人們認為能夠自己修房子的人是很牛的,女孩子們喜歡能把幾百塊的破車改裝成發出幾百萬豪車聲響的男孩子,認為他們很酷。人們喜歡自己沒事兒在家鼓鼓倒倒折騰出來點兒莫名其妙的東西並引以為豪。這在我們是不可理解的。但是他們司空見慣並習以為常。

但是需要強調的是,文化沒有優劣之分。在評論區不出意外的看到一些對我國現狀的抱怨。這是沒有必要的。我們有我們的文化,有我們的生活,有我們的美好。我認為西方的工程師文化很好,但絕不代表我認為可以一股腦的去模仿,更不認為我們的文化比他們差。我們可以將這種文化中精華的部分,我們認為可以對我們有益的部分提取出來,加以吸收轉化。但最不該做的,是自暴自棄,不加選擇的全盤西化。

理解工程師文化,並不需要大車庫,也不需要整套整套的工具。需要的,只是一顆開放的心。我們也許沒有工程師文化,但這並不影響我們理解與使用工程師文化中精華的部分,來幫助我們生活的更好。而全盤照搬別人的文化,則可能導致災難性的後果。因此,不必對別自己的文化自怨自艾,要帶著審視與驚喜的目光看向那些已經被證明可行切有益的文化,然後去學習,去改進自己,完善自己。

同樣,在表達層面,一個公司想要有所謂的工程師文化。我並不覺得一定要把矽谷的那套做法全盤照搬。事實上,因地制宜,利用現有工具,合理安排流程,產生最大價值正是工程師文化的精華之一。我們沒有必要因為矽谷的人愛用蘋果,就一定要全公司都用蘋果。結果發給客戶的全是Pages格式的文檔打不開丟合同。沒有必要因為Google的大食堂里有西餐,就一定要讓食堂大媽去做牛排,相信我,吃西紅柿雞蛋打滷麵配夾肉餅員工會更開心。我們要理解的,是什麼是一種文化的本質與核心,而什麼只是泛起的泡沫與波瀾。過好自己的日子,然後看看別人有什麼可借鑒的。這才是我想表達的意思。

不知道這段並不是很短的更新是否有解釋清楚,還是解釋的更糊塗了。但無論如何,我的這個回答只是想分享一下我個人,對西方社會這種獨特的文化的感受。我很喜歡它,但我更愛我自己的文化,更喜歡吃夾肉餅而不是牛排。我希望這篇文章能做到的,是告訴各位讀者,看!地球另外一面有一群人這麼幹事情,好像很不錯哎,我們要不要也學學試試看?僅此而已。

最後祝大家2015都生活快樂!


不知道有多少人看過機器人大擂台這個曾經在央視7套9點左右播出的節目,我覺得那個節目才是真正解釋了什麼叫做國外工程師文化,節目里所有參賽選手來自各行各業,造出的機器人稀奇古怪,統一在擂台廝殺,至今留給我印象最深的是一個叫做利劍的機器人,它奇特的造型與超強的液壓刀使其他選手望而生畏,然而最令人震驚的是他的所有零部件都來自於廢品回收站!當時我還是在上小學的我,瞬間像被刺激了一樣,既然如此我也可以去廢品回收站造一台!帶著滿腦子的憧憬我爸爸真的帶著我去廢品回收站了,結果大家可想而知,國內的廢品回收站除了瓶瓶罐罐,破盒子,不要說鐵片了,塑料片都沒幾個。
帶著幾分怨念的我只好繼續看電視節目,隨著看得越來越多,六年級的我感慨也越來越深,千斤頂,電鑽,沖床,電焊,各種各樣的材料工具零配件,他們組裝的機器人並不是我想像的那樣,複雜的電路圖紙,數不清的設計稿件,各種奇葩的武器系統構造,我越來越覺得即使給我這些材料不要說造了,組裝都不一定能組裝起來,而當看到那些六七歲的小孩子隨著爸爸媽媽來參加這個節目,自豪的展示自己的機器人時,我這才發現原來我們與別人的差距這麼大,國外的所謂工程師DIY文化不是我們所謂的一種形式,他更是一種一代代傳承的精神與文化,能真正創造出東西的創造力。我想這才是我們真正要學習的東西,可惜後來沒過幾年這個節目國內停播了,原本的機器人廝殺被改成了唱歌跳舞的少兒節目。


謝邀。

前幾天看到這個問題以後正好這兩天也在思考這個問題,正好有人邀請,就勉力一答,不敢去定義這個詞,只作觀點分享。

現在仔細想來自己此前對這個詞也一直處於一種濫用的狀態,動輒評價國內企業缺乏工程師文化(儘管大部分企業的確如此),但工程師文化到底是個什麼東西?

目前比較流行的觀點大致上其他答主也基本提到了,工作以解決問題為導向,熱愛自己從事的工作,有學習鑽研的慾望,工程師作為項目主導具有決策權等等等等。

但是否這就能用來作為所有工程領域中的價值導向並稱其為工程師精神呢?我覺得未必。

比如工業設計領域一味以以上的價值導向來做的話很容易出現從技術角度來看也許很不錯但從審美角度來看簡直一塌糊塗的東西。
舉個例子

所以工程師文化里是不是應該再加點什麼?比如學會適度迎合大眾審美?
下面這個我覺得是個典型的工程師和設計師完美合作的例子。

然後各個行業的工程師文化的內核其實也不盡相同。

比如題主最先提的問題是

在你眼中,怎樣的軟體公司和互聯網的公司才算是有工程師文化的公司?

作為互聯網行業的工程師,創新和執行力一定佔有非常重要的地位,在產品更新換代極快的互聯網行業慢人一步就可能滿盤皆輸,有些時候即使冒著很大風險也必須拼一把是常態。

然而在傳統行業,可靠性,耐久性,精度才是第一順位,雖然創新也很重要,但負責任的工程師不可能為了一時的市場佔有率而犧牲用戶的人生安全。

所以你能看到一款軟體一個月或者一周就會有升級補丁或者版本更新,但一輛車一台設備你一般可以用上幾年甚至幾十年。

那麼各行業的工程師們到底有沒有共同的文化特質呢?

我想應該是有的吧。

在我眼中理想的工程師文化應該是能夠在本專業中有著自己的堅持,但同時又能理解並尊重自己領域外的專家的意見,並根據產品的實際情況在可能的範圍內追求做到極致。

PS:反對加班是工程師文化,加班說到底就是資本主義剝削階級為了省錢造成的現象好嘛……


推薦兩本書:


日本頂尖工程師的生存筆記

鏈接:http://www.books.com.tw/products/0010485365?sloc=reprod_i_1


工程師,你如何出頭?:如何利用理工優勢,讓工作更上層樓、或順利轉換跑道?

鏈接:http://www.books.com.tw/products/0010538964


Manager是我的奴才
誰說對,誰就上


不知道題主玩過紅色警戒2沒有,答案在裡面。

---------------------------------------------------------------
盟軍工程師 這麼說。

I have the tools。
我有工具。
need a repair?
要修嗎?


蘇軍工程師 這麼說。
i won"t be late.
我不會遲到。
I have the information.
我有知識。
Tools ready.
工具準備好啦
i will go。
我來。

----/---/-----/----------/////---------------////////---------//--
其實魔獸裡面,人族農民也有答案。


ready to work!
準備好乾活啦!


就是這樣吧。


訴諸理性,遠離感情。


如果社會敬重工程師,相信是工程師的智慧與汗水造福了我們人們生活,進而使工程師有著崇高的社會地位,有充分的話語權,很多孩子夢想著將來成為工程師;那我覺得這就是社會有工程師文化的表現。


作為有一牆電動工具的美國機械工程師,真心不認為學習使用新工具是工程師的文化~~當然,你倒是可以把這個稱為鉗工的浪漫。

同樣的,如果我打開某個人的硬碟,看到一堆處理投資稅務,或修整設計,或開設論壇網站的軟體包,我也不覺得這個是工程師的文化。

至於說一些公司裝修有特點或者食堂特別好,很難評論這是公司員工的文化還是管理者的文化。不過這個事情容易考察和模仿,也值得鼓勵。

切回正題,首先要定義什麼才是文化?

我認為在工程師的職業要求之外,產生並存在於工程師群體中,能保持3年以上的思維和行為方式,才能算是工程師文化。

工程師是以業務結果為目標的,大多數時間在應付客戶和項目經理,有了手下之後還要處理人事。很顯然,一個工程師干好自己本職就夠繁忙了,一般沒有時間去搞所謂的工程師文化,而且還是一個公司或者單位里很多不同層次的工程師。

所以,真的有工程師文化的公司,必然是暫時處於買方市場,工程師的工作有很大的自主權力,甚至可以要求客戶改變需求,也不畏懼管理方施加的壓力。

例如某些藍海階段的軟體機械汽車航天小領域。

由於市場的快速變動,他們都是不超過20年的曇花一現。

資本關注市場,不關注亞文化。


江澤民首先提到工作人員效率很高,他繼續說:「但別忘了,我仍是一個工程師,我還想知道問題的緣由。」


2001年2月21日,為了決定2008年奧運會主辦城市,由17位成員組成的國際奧委會評估團開始對北京進行最後一輪視察。在國際奧委會評估團視察之旅的最後一個上午,他們參觀了中央電視台,下午,他們拜會了時任國家主席江澤民,向他告別。當晚,時任中央電視台台長趙化勇坐在他位於15樓的辦公室里,觀看中央電視台半小時的新聞節目《新聞聯播》。此時正是19點20分,專門接聽高級領導人來電的紅色電話機響了。電話那頭講話的正是江澤民。

既然江澤民親自打電話過來,肯定是《新聞聯播》出現了某個嚴重的問題。

「總書記,我們出錯了吧?」趙化勇在電話一頭說。

江澤民繼續說:「我可能是唯一注意到這個問題的人,今 天下午我在同一間會議室有過兩次會見——一次是應當報道的,另一次則不應報道。表現我問候代表團成員並與他們握手的鏡頭是準確的,但是隨後播放的我們坐在一起交談的鏡頭弄錯了,我見的是一位私人老朋友。他是一家電子公司的高級管理人員——我擔任電子工業部部長時就認識他了,但我們是以朋友的身份在交談,並非是出於官方目的。雖然你們有關奧委會評估團來訪的畫外音一直是正確的,但是鏡頭卻搞混了,播的是我與老朋友進行私人會面的畫面。」

「其實這是我的疏忽。」江澤民親切地回答道,「我不應在同一間會議室里兩次會見外賓。就像外國人所說的,我們在他們眼中都是長得差不多的,他們在我們眼中也是一樣啊。」

放下電話後,趙化勇和編輯、攝像一同檢查糾正了圖像之後,晚上8點25分,趙化勇給江澤民主席回電話。

江澤民首先提到工作人員效率很高,他繼續說:「但別忘了,我仍是一個工程師,我還想知道問題的緣由。」於是,趙化勇詳細地說明了這次事故的原委。

最後,江澤民囑咐趙化勇說:「你的記者、攝像師和編輯們工作都非常努力。只要鼓勵他們努力工作,不斷提高自身水平就行了。」


原作者:Edmond Lau What makes a good engineering culture?

我作為面試官最喜歡問工程師的問題是要告訴我在他們以前的公司,他們喜歡和不喜歡的關於工程師文化的事。我採訪了500多人 - 其中許多來自頂尖高科技公司,如Facebook,谷歌,亞馬遜,Palantir,和Dropbox - 隨著時間的推移,這種面試問題也告訴我優秀工程師喜歡和盡量避免地方。根據採訪答覆和我個人經驗,從過去七年跨越谷歌,Ooyala和Quora的工作,我總結了為建立一個良好的工程文化一個團隊可以做的十件事情。


1.優化迭代速度。


快速迭代的速度提高了工作積極性和興奮度。一些工程師在面試時對他們為什麼要離開公司列舉了最常見的令人沮喪的原因是基礎設施和繁冗流程阻礙他們部署代碼或者上線功能。


在組織上,快速迭代意味著給工程師和設計師的靈活性和不設限自主做日常決策。我在谷歌,任何用戶可見的搜索結果改變,即使是低流量的實驗,需要瑪麗莎梅耶在每周UI審查批准。雖然這允許谷歌保護它的搜索的品牌,但它明顯阻礙創新。優化迭代速度也意味著,有明確定義的流程推出產品,而不會說花了大量時間投入後意外發生。


優化迭代速度意味著建立持續部署以快速驗證,提高測試覆蓋率,減少構建和網站當機次數,快速單元測試,並鼓勵大家來運行,快速增量編譯和重新載入,以縮短開發時間。持續部署,提交馬上到線上特別重要。比如在Quora它提供的迭代速度至少在小工程隊利大於弊(線上出錯的風險)。人們更興奮看到功能和修復Bug是因為很快看到實時流量變化。這要比超過一周或成批的代碼提交,要更容易推斷和精確定位錯誤源的位置。


團隊智慧,快速迭代的速度意味著有強有力的領導者,幫助協調和推動團隊的工作。在決定關鍵點上負責人需要有效地作出決定,並承諾他們的選擇。借用比爾·沃爾什,一個領導49人隊3次進超級碗的一句話,強有力的領導者需要「承諾,引爆,恢復」,這意味著承諾攻擊計劃,執行它,然後看反應結果。優柔寡斷團隊只會導致個人努力白費。


2.盡量自動化。


在技術講座「規模化Instagram」,Instagram的聯合創始人邁克·克里格引「優化最少的操作負擔」作為一個重要的教訓,領導他的13人團隊用戶增長到幾千萬。 產品的增長意味每工程師的操作負擔加重,如用戶跟工程師或者特定功能跟工程師的比率。 像Facebook號稱每個工程師支持超過100萬的用戶比例指標。


自動化解決方案和腳本去重複執行任務很重要,因為它們解放工程團隊,讓他們為實際產品工作。確保如有失敗服務自動重啟和方便快捷在流量高峰期替代是在管理大而複雜產品的明智方案。在短期內可以對應用做快速修復,而長期還是要依賴自動化測試,這需要權衡。


Etsy的的座右銘「衡量所有,衡量一切」。支持像開源監控和製圖工具graphite和statsd突出自動化 - 即自動化必須由數據和監控驅動。如果沒有監控和日誌你怎麼知道什麼事情錯了,為什麼錯。自動化是困難的。一個後續的座右銘是「衡量所有,衡量一切,並儘可能自動化。」


3.建立合理的軟體抽象。


我的麻省理工學院教授和本科生研究顧問丹尼爾·傑克遜說的軟體抽象的重要性:


「選擇正確的方式,程序化自然而然地設計;模塊化就是有小而簡單的界面; 新功能在不影響全局的情況下產生。要是搞錯的話,程序將是一系列的討厭的坑:介面很笨拙因為他們無法適應一些意料之外的交互,即使是最簡單的改動將是很難維護「。


是什麼在谷歌讓數千名工程師建立可擴展的系統,是因為他們有非常聰明的工程師像傑夫·迪恩和桑傑·格瑪沃特創建了簡單,但豐富的抽象,如MapReduce的,SSTable,Protocol Buffer等。是什麼讓Facebook工程這麼支持大規模,是因為專註於核心,同樣喜歡抽象和簡單,Thrift, Scribe, Hive。是什麼讓設計人員能夠在Quora的有效構建產品,Webnode,Livenode 也是基於同樣的理解。


保持核心抽象的簡單和減少自定義解決方案,並增加團隊熟悉度和對專業知識的抽象。日益普及系統像Memcached,Redis,MongoDB等系統都是降低建立定製存儲和緩存系統的必要。團隊重點轉移到少數核心抽象,而不是分裂在很多臨時解決方案,讓公共庫更穩健,監控更智能,性能更易理解,測試更全面。所有這一切都有助於搭建一個簡單的系統,降低操作負擔。


4.注重代碼審查,編寫高代碼質量。


維持高品質的代碼庫增加了整個工程團隊的工作效率。清潔代碼更容易便捷發展和維護,更適應變化,不容易引入錯誤。健康的代碼審查過程使之成為可能。


建立及時代碼審查流程,不管是預提交或提交後,能有幾種方法的提高代碼質量。首先,知道有人會檢查你的代碼,提交寫得不好的代碼可能會辜負你的隊友。那些難以維護,或未經測試的代碼是一種壓力。第二,代碼審查也提供了評審和相互學習編寫更好代碼的機會。


代碼審查更容易接觸到其他工程團隊成員,評論也帶動了a)增進一段時間內審查代碼的責任感 b)允許團隊成員 -特別新手- 觀摩別人的好代碼,c)加快最佳編碼實踐的傳播。


有種說法,靈活的團隊沒多少時間花費在代碼審查而忽視了技術債務,可以很容易地從寫得不好的代碼積累。 Ooyala公司,在創業早期就為了完成儘可能多的功能而忽略代碼審查;其結果是,雖然最初的產品更迅速地擁有了市場,但代碼變得修改痛苦,我們花了一年多時間僅僅是改寫脆弱的代碼,以償還技術債務。


谷歌預先進行審查所有的代碼,但規模較小的團隊並不需要那麼全面和嚴格,因為不是所有的代碼需要使用相同的標準審查。 Ooyala公司後來採用後提交的評論通過電子郵件通知核心處危險的變化。在Quora的,我們用Phabricator對所有的代碼審查,大多後提交,並採用了不同的標準模型,比如控制器代碼和視圖代碼; 對於敏感的代碼或新工程師的代碼,我們要麼做預提交的評論或試圖在幾個小時被提交的代碼中查看它們。


5.保持一個尊重的工作環境。


同事之間的尊重構成開放交流的基礎。靠譜的想法獲得往往通過大家辯論,這種挑戰也是感覺很舒服的方式。人們不爽的是重要反饋沒有及時回應。


1948年,亞歷克斯·奧斯本概述了在過去的幾十年中在工作環境中流行方法,參與者走到一起,拋開批評和負面的反饋,共同凝聚在一起不用擔心被評判,頭腦風暴會議。最近的心理學研究已經開始推翻奧斯本的做法,表明在頭腦風暴會議,鼓勵辯論實際上避免群體思維併產生更有效的思路。鑒於這一研究,一個尊重環境變得更加重要使得攻擊僅僅是觀點而不是個人。


工程往往跨越廣泛的領域(系統,機器學習,產品等),而不是每個人都有相同的專業知識在每個領域。其實是一個強大的團隊應該具備,在某些領域都有能幹的牛人,即使他們最終會被替代。這有時很麻煩,讓一個系統工程師來評估產品工程師的能力,但在一個健康的工程師文化中尊重這些差異很重要,並不是完全根據自己的優勢來判斷。


6.建立共享代碼所有權。


雖然有些人自然就成為精通代碼庫或基礎設施的各個部分,但沒有一個人應該覺得他們擁有或任何一件的唯一維護者。雖然有個人一年以上能在一些領域成為專家,在短期內有成效,這種做法最終傷害長期利益。


在組織上,共享的代碼所有權提供了三個好處。首先,保持因子 8大於1 可以減輕壓力和降低團隊維護者離開的風險。這也使人很難在休息時間無憂。我清楚記得,當我夏威夷火山上徒步旅行度假時候,得到報警,因為我是公司的日誌處理器的唯一維護者。


其次,共享所有權讓工程師不限制在特定區域,以促進新的見解。它讓工程師們從他們被困在某些項目上離開,並鼓勵他在多樣性項目上工作,這有助於保持工作有趣性,並提升員工學習積極性。從長遠來看,它降低組織風險,一些工程師感到停滯就會決定離開。


第三,共享所有權還設置了有多個團隊成員(從敏捷開發的一種技術)一起在一個高優先順序的問題,必要時更迅速地完成戰略目標奠定了基礎。而孤立的所有權,負擔通常落在一兩個人。


很多工程組織犯的錯誤是為時過早將整個團隊分成子團隊。子團隊會形成責任的阻礙,並很難去打破所有權的牆,因為個人可能會被其子團隊的目標進行評估。 Ooyala有很多小團隊,我很珍惜與一些其他團隊的工作機會;他們使用敏捷開發,重心放在共享代碼所有權,使得工作幸福感和生產力更佳。 Quora的初期,我喜歡的一個方面是更強調項目而不是團隊,讓我有機會合作的項目從用戶增長,機器學習,工具,推薦,分析,網站的速度,和垃圾檢測。


7.投資自動化測試。


單元測試和集成測試覆蓋率是管理一個大的代碼庫與一大群人沒有不斷被破壞構建或產品的唯一可擴展的方式。自動化測試提供了對提高代碼質量的大規模重構的信心和也進行有意義的保護。缺乏嚴格的自動化測試,需要手動測試無論是對工程團隊或外包測試團隊,是容易令人害怕的,很容易陷入恐懼改善代碼的文化,只是因為它有可能破壞以前的。


在實踐中,自動化測試是對持續部署工作團隊成長的要求。代碼庫規模隨著時間的推移增長,但熟悉的代碼庫多少會隨團隊成員新人加入而減少。測試和驗證是最容易被原代碼作者完成,因為在他們腦子裡還是清晰的,而不是被稍後幾個月或幾年嘗試修改代碼的人。鼓勵單元測試是讓作者為自己工作責任。


8. 分配20%的時間。


Gmail是保羅·布赫海特的20%的項目,第一個版本在一天搞定。 谷歌新聞,谷歌公交,和谷歌建議也是推出的20%的項目。我用20%的時間,而在谷歌寫一個Python框架,使得它更容易建立搜索頁面演示。而谷歌的20%的時間在創業初期可能降低生產力,讓工程師們花20%的時間做某件事情而不是他們的產品規划上,仍然是小型工程組織的創新搖籃。


Ooyala公司沒有正式20%的時間,但我花了一些,寫了一個命令行構建工具Flex和ActionScript,加快了團隊構建時間。正當Adobe的Flex Builder工具降級時候我完成了它,在工程團隊超過兩倍大小時該工具仍然在使用。 Atlassian公司在嘗試一年後通過20%的時間。Facebook的喜歡和Ooyala公司後來又增加了一個20%時間的變化是周期性的黑客比賽 - 一晚上的事件,規則是,你可以做任何東西,除了你的正常項目的工作。


自上而下的方法對產品的規劃,對公司的總體方向是重要的,不能指望從工程師中冒出很多的想法。只要工程師對他們20%的時間和專註於什麼可以有很大影響的負責,這些項目可能會導致很大的向前發展。沒有官方的20%的時間,它仍然是可能的,對工程師和設計師可能更難去嘗試瘋狂的想法 - 基本上都找周末或假期做。


9.建立學習和持續改進的文化。


學習和得到充分得到挑戰是心理學教授米哈里·米哈伊稱之為「流」,一個人是如此的完全集中在他們做的事情,他們甚至忘了時間。 直接即時的反饋能夠適應更快的迭代周期。


每周技術會議給工程師分享他們的設計或者正工作的項目,創造了一個機會,工程師們為他們工作感到自豪,並學到更多工作以外的範疇。內部文檔記錄電子郵件服務的工作原理或如何讓排名改變搜索服務,讓工程師學習和探索新的東西,也很好地補充了20%的時間。在Quora的,我們通過內部運行Quora去問產品和發展有關的問題。


建設學習文化的一個辦法是注重指導和培訓,以確保每個人都掌握基本的演算法,系統和產品成功所必需的技能。工程組織的成長,花在招聘(尤其是高校招聘)越多,更多的努力需要投入到指導和培訓。一個導師每天花一個小時為一個新員工的前4周工作上似乎是很大負擔,但投資是總時間的新員工將在一年內花費不到1%,並能幫助到此人是否真正成功。


10.招最好的人。


僱傭最好的人是許多其他列出的基礎。如果你認為自己是一個B級工程師很難有人尊重。如果你不信任他們開發產品能力,很難給別人自主權去開發產品。如果沒有足夠的工程經驗,很難識別正確的抽象去構建系統。這很容易陷入構建複雜結構的陷阱,又沒有其他聰明人來挑戰你的想法和推動你走向簡單正確的道路。


在矽谷的史蒂夫·喬布斯說,「A等人聘請A等隊員。 B等人聘請C等人。「關注招聘和僱傭合適的人很難,但這對工程組織有效增長很關鍵。黃易山,是前Facebook一個工程經理和總監,認為招聘必須是工程組織的首要任務,不只是管理者,工程師也如此。 他也正確地指出「僱傭最好的」和「僱用你面試過的最佳人選」的區別


在Ooyala的初期,我們在客戶工作上不堪重負,我們很想降低我們的招聘門檻,這樣我們可以聘請足夠的人來做大量工作。我很高興我們沒有,因為低質量的代碼和較弱的工程師團隊積累技術債對團隊和產品的傷害是很大的。


建立一個良好的工程文化無疑是一個大量的工作,但由此產生的工作環境是值得的。

【快來看我回答的其他問題】關注我吧~~~


怎樣寫好求職簡歷? - 董飛的回答
怎麼評價產品經理拿數據說話這回事?如何做數據分析? - 董飛的回答
如何成為一個傑出的程序員或軟體工程師? - 董飛的回答
矽谷的Startup一般採用哪些技術方案? - 董飛的回答
互聯網創業公司最常見的失敗原因有哪些? - 董飛的回答
大公司和創業公司怎麼選? - 董飛的回答
創業公司應該如何招人? - 董飛的回答
Linkedin 印象是什麼? - 董飛的回答
在 Coursera 工作是怎樣一番體驗? - 董飛的回答
美國大數據工程師面試攻略有哪些? - 董飛的回答
Coursera 上有哪些課程值得推薦? - 董飛的回答
哪些矽谷創業公司能給拜訪者留下深刻印象? - 董飛的回答


使用工具執行自己的意志?


工程師文化,早期的暴雪應該可以算例子。而EA這種可以算冰冷的商業公司。
我們可以把工程師拆成兩個詞:一個為工程,一個為師。師者傳道、授業、解惑也。與教師中師大體相同。與之區別在於「工程」二字。
工程:科學和數學的某種應用,通過這一應用,使自然界的物質和能源的特性能夠通過各種結構、機器、產品、系統和過程,是以最短的時間和精而少的人力做出高效、可靠且對人類有用的東西。將自然科學的理論應用到具體工農業生產部門中形成的各學科的總稱系統化、團隊化的完成某種項目。
工程師就是通過科學、數學的手段系統化、團隊化的完成某些項目或者解釋某些難以理解的東西。

而工程師文化,指的就是指在工程師團隊中,通過長期合作,逐漸生成的某種約定的習慣或者現象。比如為了使手中的項目變得更加優秀,從而自覺加班的這種習慣。

當然,現在有些公司利用這種文化,使之成為一種硬性規定,讓自已從中獲得收益。這種文化不要也罷。


鬼扯那麼多,那麼高大上,其實公司里技術派在公司派系鬥爭中掌握了話語權唄,銷售、HR、marketing說的都不算,技術派的說了才算!
銷售說我們要投機取巧,技術派說no,我們要用實力壓倒對手。
HR說上班要穿正裝,上下班要打卡,技術派直接讓你滾粗。
marketing說讓我們畫個空心大餅,技術派說我看還是先把餡弄好吧。
CFO說讓我們明年降低成本10%,技術派說其他部門隨便,反正我這裡少一毛錢試試!

外面人一瞅,哇!工程師文化啊!!
當然現在這個詞火了,也有公司扯著工程師文化大旗忽悠人來公司的。


真想好好回答下這個問題。可惜時間太少,寫了幾百字不甚滿意全部刪了,先概括下吧,和大家探討。

首先,工程師的內涵是嚴謹、認真。一個成熟的工作,是用紮實的工作態度來完成的,既要有繡花般的細心,也要有苦行僧般的孜孜不倦。其次,工程師的內核是探索,就像星際穿越中的麥康納大叔一樣,使命是去做探索家而不是守城者。人類文明的直接推動力就是科學技術。科研人員提供理論基礎,工程人員順著這條線索探尋未知,勇於開拓禁地,把科學理論轉化為實在的技術成果延續文明的火種。以上便是我認為工程師文化的內涵。(待續)


家裡電腦自己組,系統自己裝,不用某管家,後台什麼的都是自己寫程序……
家裡電視爛了自己修,洗衣機壞了自己弄,空調製冷劑什麼的自己換……
家裡燈泡壞了自己換,線路老化了自己換,馬桶堵了什麼的都是自己通……
家裡地板磚壞了自己貼,牆花了自己刷,鑰匙忘家裡了,防盜門什麼的都是自己開……
開車帶一家人出去旅遊,汽車拋錨了,荒山野嶺,暮色沉沉,家人十分急迫,一個中年男子從車上下來,打開了後備箱,從滿滿的工具箱里取出來千斤頂,和那把陪伴了多年的扳手。「夥計,我們又要並肩戰鬥了。」男子如是說,只見他依次檢查了汽車發動機的燃油系統,滑油系統,冷卻水系統;又檢查了蓄電池組,電力系統。最後發現是某個慮器的某個密封的螺絲鬆了…………最後……在寂靜的暮色下,他和那把扳手說了道別,換了件衣服,拍了拍塵土,重新上車載著女兒和妻子駛向遠方~~~
工程師不僅僅是畫畫圖紙,設計項目。
以上
是我理想中的工程師文化。


以打造精緻工具為榮的手工匠人


一家公司,沒有虛假的神、美、德等等文科氣息,類似實驗室文化。 就可算是工程師文化。
騰訊的產品文化,深圳的山寨文化,都可算是變種。

再增加點。其實美國人講到工程師文化的時候,對比的對象中國人是不太清楚的,他們的語境
國人不一定了解。其實前兩名的答案未在點子上。
美國商業/企業更主流的文化一個是銷售文化。這個的巔峰可以認為是可口可樂,它只要一個品牌
就可以再塑一個帝國。(是的,品牌就是銷售文化。)
再這個之後,從上世紀六七十年代起,另外一個主流就是管理文化。不再把銷售列為最重要,而把
管理列為最重要。管理的本質是效率以及效率的平衡。一個典型案例,就是IBM,大象也能跳舞。
一個外行拯救了IBM,這就是管理的能力。
工程師文化是隨著互聯網而興起的,google,FB等銷售、管理不是他們成功的原因,工程師才是。
所以才會這麼推崇工程師文化。


談論文化是一個大的命題,沒辦法從這個高度去講工程師這種職業或者行業延伸出來的文化,鄙人就只從個人的成長環境中講一下跟工程師和相關文化的一些個人經歷和體會讓大家有一些認識吧。


鄙人現在出身於工程師家庭,這種家庭氛圍耳濡目染,成長中有一些片段可以分享給大家:
1,小時候在父親房間玩,房間的書桌,地上堆滿了建築工程圖紙。由於自小好奇心旺盛,就愛翻看這些圖紙,每棟建築都會有一套圖,小如私家別墅一套圖紙涵蓋總平面圖、立面圖、建施圖、結施圖、給排水圖和電氣圖等等幾十張。父親將這些圖整理得很好,每個建築就是一個大盒子裝著,所以我常常一個下午就泡在房間里看一套圖,先看總平面圖再看立面圖,然後再看其他的。看著這些陌生的圖紙在腦袋裏竭力構建出一座在某個地方正在建設或者已經建好的房子的樣子成了我童年很大的樂趣來源。一開始看圖並不明白,都是父親的耐心解釋我才漸漸覺得樂趣頗多,也感受到了平時住的房子是如何地有地基到骨架到牆體一步步完成住宅空間的構建,也明白了隨手打開的電燈開關,按下沖水馬桶的按鈕,背後的精確的設計和施工。這種體驗和學習對一個小孩子來講,是獲益很大的。從某種程度上說,這就是工程師的基本邏輯--評估,架構設計,細部設計,部件銜接設計,實現流程,效果評估等等。這也是一個工程師解決問題的方式,這種方式有極強的實用主義色彩,工程師評估和設計到最後執行結果出來的一定是一個可行的解決方案而不是一些形而上的思想性的東西(工程師有思想,但是不是他的終極目標)。


先挖個坑,改天再填,睡覺了


推薦閱讀:

工程師思維有什麼特點?
錢學森是個怎樣的人?

TAG:文化 | Geek文化 | 企業 | 工程師 |