對不起,“熱愛程式設計”是什麼鬼?

leiphone發表於2015-09-25

  不知是因為各個網際網路公司在招聘時總是標註他們要招那些“熱愛程式設計的人”,還是因為很多人到處標榜“我熱愛程式設計”,這個詞彙在程式設計師圈子裡已經隨處可見了。可惜的是我從業這麼多年,還是發現自己並不是一個熱愛程式設計的人。不過,我真的很想問問他們:

  熱愛程式設計是什麼鬼?

對不起,“熱愛程式設計”是什麼鬼?

  解釋這個問題,先要確定一下對於“熱愛”的理解,百科上這樣解釋的:

情願全身心投入地愛,激情四射,充滿幸福的幻想,去奮鬥、去付出,享受其中過程(即使是酸甜苦辣),即使沒有回報也不後悔。尤其在遇到阻力、挫折時,才顯出什麼是真正熱愛。

  如果認可這個解釋,似乎就意味著只有當程式設計遇到阻力的時候,我們才能區分一個人是不是熱愛它。所以,正常情況下我們並不能確定一個人到底是不是熱愛程式設計。也就是說:

如果一個人和你說,她/他花了整個晚上去搭建伺服器,我覺得我看不出其中的熱愛;

如果一個人和你說,她/他花了一個週末去解決一個演算法題,我覺得我也看不到其中的熱愛;

如果一個人和你說,她/他一直花時間在學習、深入某個技術上,我覺得我還是看不到其中的熱愛……

  別笑,我自己就是這樣的人,但是我並不覺得我是熱愛程式設計的。

  而且有趣的是,有很多人還在鼓吹一種說法:如果你不熱愛程式設計,你可能就沒有辦法掌握好程式設計這門技能。也就是說,不熱愛程式設計就會影響程式設計師的能力?

  不僅如此,程式設計的門派之別也好像武俠電視劇上看到的門派之爭一樣,武林正派鼓吹自己的派別才是正途,除了自己的方法以外,別人的方法都是異教徒式的。同理,如果有的人通過某個程式設計技能成為了大師,而別人因為沒有掌握這個技能而沒有成為大師,於是這個大師就會告誡別人“你應該這樣走(用我所學習的技能),你如果不這樣走,可能就成不了大師了”,所謂程式設計的門派便在於此。

對不起,“熱愛程式設計”是什麼鬼?

  光熱愛一點用處都沒有

  熱愛程式設計才能成功,真的是這樣嗎?如果他所謂的熱愛程式設計,只是因為對於演算法的熱愛,或者只是因為沉迷於程式設計呢?(在實際工作上能有多大用處呢?)

  在我多年的程式設計歷程中,反而見到很多這樣的現象:有些“熱愛程式設計”的人,即使他再怎麼熱愛,能力也沒有比一些“不熱愛程式設計的人”高,有的人還不如別人

  絕大部份公司需要的還是能解決問題的人。即使他們覺得一個程式設計師是否熱愛程式設計很重要,但最終聘用的決定還是會更看重他在現在、未來是否能解決更多問題。如果員工的“熱愛”與公司需要的解決問題能力不在同一個維度,那麼再怎麼熱愛也是無益的。

  況且,程式設計是技術的一種,先不說技術在很大程度上只是一些業務的附屬品,重點在於,只要是技術,就是一種“可以被學習的方法”,也就意味著誰都能夠掌握它(只是時間問題)。我們“熱愛”它並不保證能學得又快又好,但是“不熱愛”也不意味著我們學不好。況且在很多情況下,有目的的學習要比熱愛的學習效率更高。

對不起,“熱愛程式設計”是什麼鬼?

  拋開熱愛程式設計,你可以去熱愛什麼?

  一個單純只是熱愛程式設計的程式設計師更像是一個機器人,他甚至不需要知道自己的目的是什麼,有可能只是在盲目地擴大或者深入某個知識範圍、知識點,心裡會覺得樂此不疲罷了,這種“爽”對實際工作來說往往並沒有多大用處,他深入的這個知識點恐怕鮮有機會能用到。程式設計只是表面的東西,比起熱愛“程式設計”,我們應該可以再深入挖掘程式設計背後的東西。

  那麼可以去熱愛的還有什麼呢?

  對於我來說,更喜歡的應該是創造和解謎,就好比在造輪子之前,我們可以先去學會怎麼拆輪子。解開一個又一個謎團的過程,比單純地訓練程式設計能力來得更有益處,也成長得更快。當我們把一個個謎團解開後,可能會發現生活變得索然無味了,這時候就可以利用習得的經驗去創造一些“更有意思的輪子”。

  而創造並不意味著你需要去了解一門語言的所有,又或者去了解一個系統的所有。我們所要做的只是去依據需要的東西,瞭解這個“點”的所有。

  舉例來說:我對自己需要的能力定義是“可以不斷地‘創造輪子’,快速完成開發”。這就意味著我需要學會讀懂別人的設計思想和系統性的框架設計。因此,我開始在我的Github不斷地“造輪子”,不斷地開發應用。直到某一天,我完成了我需要的那些知識和技術積累,我便覺得可以了。

對不起,“熱愛程式設計”是什麼鬼?

  比起“目的”,在一開始的時候,“熱愛”給人帶來的感覺的確會好一點,但是隨後兩者的差異會越來越少,直到有一天,我們看不出兩者的區別。事實上,在某項事業的長期的實現過程中,我們往往會忘記初衷,無論出於目的還是發自熱愛,都會有足夠的驅動力讓我們完成它。所以,不需要太擔心“並不熱愛”就意味著失敗,你更要去考慮的是解決擺在面前的事情。想要長時間在程式設計師這條路上走下去,把這個關於熱愛程式設計的問題想清楚是有利無害的。

相關文章