[雜談] 視野
對我而言,周末要比平時忙碌得多。陪孩子上課,讀書,玩耍是我的必修課程。這也是周末為何我有時比平時還要早發文章。有朋友曾經提醒我,新聞上說了孩子這麼小,上各種早教課沒用,只會給孩子帶來不必要的壓力。我不這麼認為。我覺得評判一個課程有用沒用,要看孩子是否喜歡,大人說了不算。對我而言,我只能提供各種機會和必要的引導,如果她不喜歡,不強迫就是了。為什麼要聽信和我毫不相干的專家的話試都不試,就一杆子打死所有的早教?我上音樂課的結果就是,女兒現在聽著音樂就開始有節奏地翩翩起舞。有次去朝陽大悅城,有個化妝品專櫃請了個美女拉小提琴。一聽到悠揚的小提琴聲,她就在我懷裡歡快地舞動,於是我循著聲音找了過去,在那個化妝品櫃檯附近把她放下,任她跳舞。於是小傢伙就在眾目睽睽之下跟隨樂曲的旋律跳了好久,連拉琴的美女也為之動容,專門拉了首jingle bells助興。
今天的時間更緊張,所以和昨天的文章主題對調了一下。如果你沖著周日的『途客們的旅行夢』而來,請閱讀昨天的文章,謝謝!
最近我在干一個讓我比較窩火的「重新發明輪子」的活。為了更好地闡述這件事又不透露細節,我暫且比較籠統地說我在做系統層的某個非常基礎的組件。這是個典型的我們可以用現有的實現(包括非常完善的開源項目)去完成,沒必要自己從頭去寫的功能。然而,項目的技術老大指出了現有實現的很多不足,如太複雜,不符合項目的特定需求,所以要我們自己重頭去寫。
在此問題上,我的觀點一直都是鮮明的:只要已有的成熟的實現沒有本質上的無法利用的問題,那麼我們就不該重寫。儘管幾百行的代碼在開發階段不是個什麼事,但是測試呢?維護呢?以後的擴展呢?幾百行代碼也許是一周的工作量(實際不止幾百行,我在上面也part-time工作了不止幾周了),但以後帶來的工作量可不止這麼簡單。
可惜我說了不算。我強烈地反對過,但我無法影響對方,所以只能收回我的反對,乖乖地按著既定線路走。其實從個人的角度來說,重寫這樣的代碼對我能力的提升很有好處,但對項目而言,真心沒有太大益處,反而把時間和資源花在了本不該花的地方。
這個問題儘管只是個技術問題,深層次看是視野的問題。技術人往往容易沉浸於細節不能自拔 —— 我們太熟悉,太熱愛我們所做的東西,所使用的工具,而忽略了更大的世界。此外,技術人員太高估自己的能力而忽視全局的後果 —— 我們對我們的能力和對進度的把控太自信(自負),以至於耽誤了項目。
相對互聯網人,這種視野的局限性發生在通信人身上的機會要大很多,我認為有以下原因:
(1) 通信人在一個封閉的生態圈,而互聯網人在一個開放的生態圈。
在通信界,整個生態圈裡使用到的IP(Intellectual Property)很多都是需要購買的,而在互聯網界,整個生態圈構建在開源,開放IP的基礎上。在封閉的生態圈裡,人的思維也容易封閉。當你使用「封閉」建立起護城河,拱衛你的城堡時,那麼,除了自己的一畝三分地,你就會很少關心外面的世界。比如說我們做freebsd的做久了,都不知道linux系統下有那麼多新鮮的工具,內核里有那麼多先進的功能。反觀互聯網,開放使得產品有了百花齊放的態勢,大家都赤膊上陣,敞開了競爭,結果是你必須不斷關注最新最好的技術,這樣一旦有需求,你會儘快驗證。
(2) 做通信是大規模集團作戰;做互聯網是特種部隊的「斬首行動」。
當然這個不是絕對的,只是一般而言。做通信很少有一個項目就幾個人做的情況,至少幾十人,而互聯網項目起初幾個人就夠。當你只有很有限的資源時,你會儘可能「站在巨人的肩膀上」幹活,整合一切能整合到的資源,把好鋼用在刀刃上;而當你有很多資源可以使用時,如果沒有一個清醒的認識,很可能會把資源整合到不必要的場景下。
視野的問題,如果只是出在執行層面,問題還不算大;但如果出在了決策層,則對項目會有嚴重的影響。現在做產品的思路和十年前大不相同了,很多時候比拼的是個整合(開源)資源的能力。instagram,whatsapp如果不去整合各種已有的資源,一上來就什麼都要自己做,那必定無法快速地開發出供市場檢驗的產品。
如果你對本文感興趣,歡迎訂閱公眾號『程序人生』(搜索微信號 programmer_life)。每天一篇原汁原味的文章,早8點與您相會。
推薦閱讀:
※想讓伺服器跑得快,並不是換個編程語言那麼簡單
※談談管理
※[技術與產品] Bower & Brunch
※[雜談] 當你回首往事的時候
TAG:迷思 |