對不起,“熱愛程式設計”是什麼鬼?
不知是因為各個網際網路公司在招聘時總是標註他們要招那些“熱愛程式設計的人”,還是因為很多人到處標榜“我熱愛程式設計”,這個詞彙在程式設計師圈子裡已經隨處可見了。可惜的是我從業這麼多年,還是發現自己並不是一個熱愛程式設計的人。不過,我真的很想問問他們:
熱愛程式設計是什麼鬼?
解釋這個問題,先要確定一下對於“熱愛”的理解,百科上這樣解釋的:
情願全身心投入地愛,激情四射,充滿幸福的幻想,去奮鬥、去付出,享受其中過程(即使是酸甜苦辣),即使沒有回報也不後悔。尤其在遇到阻力、挫折時,才顯出什麼是真正熱愛。
如果認可這個解釋,似乎就意味著只有當程式設計遇到阻力的時候,我們才能區分一個人是不是熱愛它。所以,正常情況下我們並不能確定一個人到底是不是熱愛程式設計。也就是說:
如果一個人和你說,她/他花了整個晚上去搭建伺服器,我覺得我看不出其中的熱愛;
如果一個人和你說,她/他花了一個週末去解決一個演算法題,我覺得我也看不到其中的熱愛;
如果一個人和你說,她/他一直花時間在學習、深入某個技術上,我覺得我還是看不到其中的熱愛……
別笑,我自己就是這樣的人,但是我並不覺得我是熱愛程式設計的。
而且有趣的是,有很多人還在鼓吹一種說法:如果你不熱愛程式設計,你可能就沒有辦法掌握好程式設計這門技能。也就是說,不熱愛程式設計就會影響程式設計師的能力?
不僅如此,程式設計的門派之別也好像武俠電視劇上看到的門派之爭一樣,武林正派鼓吹自己的派別才是正途,除了自己的方法以外,別人的方法都是異教徒式的。同理,如果有的人通過某個程式設計技能成為了大師,而別人因為沒有掌握這個技能而沒有成為大師,於是這個大師就會告誡別人“你應該這樣走(用我所學習的技能),你如果不這樣走,可能就成不了大師了”,所謂程式設計的門派便在於此。
光熱愛一點用處都沒有
熱愛程式設計才能成功,真的是這樣嗎?如果他所謂的熱愛程式設計,只是因為對於演算法的熱愛,或者只是因為沉迷於程式設計呢?(在實際工作上能有多大用處呢?)
在我多年的程式設計歷程中,反而見到很多這樣的現象:有些“熱愛程式設計”的人,即使他再怎麼熱愛,能力也沒有比一些“不熱愛程式設計的人”高,有的人還不如別人。
絕大部份公司需要的還是能解決問題的人。即使他們覺得一個程式設計師是否熱愛程式設計很重要,但最終聘用的決定還是會更看重他在現在、未來是否能解決更多問題。如果員工的“熱愛”與公司需要的解決問題能力不在同一個維度,那麼再怎麼熱愛也是無益的。
況且,程式設計是技術的一種,先不說技術在很大程度上只是一些業務的附屬品,重點在於,只要是技術,就是一種“可以被學習的方法”,也就意味著誰都能夠掌握它(只是時間問題)。我們“熱愛”它並不保證能學得又快又好,但是“不熱愛”也不意味著我們學不好。況且在很多情況下,有目的的學習要比熱愛的學習效率更高。
拋開熱愛程式設計,你可以去熱愛什麼?
一個單純只是熱愛程式設計的程式設計師更像是一個機器人,他甚至不需要知道自己的目的是什麼,有可能只是在盲目地擴大或者深入某個知識範圍、知識點,心裡會覺得樂此不疲罷了,這種“爽”對實際工作來說往往並沒有多大用處,他深入的這個知識點恐怕鮮有機會能用到。程式設計只是表面的東西,比起熱愛“程式設計”,我們應該可以再深入挖掘程式設計背後的東西。
那麼可以去熱愛的還有什麼呢?
對於我來說,更喜歡的應該是創造和解謎,就好比在造輪子之前,我們可以先去學會怎麼拆輪子。解開一個又一個謎團的過程,比單純地訓練程式設計能力來得更有益處,也成長得更快。當我們把一個個謎團解開後,可能會發現生活變得索然無味了,這時候就可以利用習得的經驗去創造一些“更有意思的輪子”。
而創造並不意味著你需要去了解一門語言的所有,又或者去了解一個系統的所有。我們所要做的只是去依據需要的東西,瞭解這個“點”的所有。
舉例來說:我對自己需要的能力定義是“可以不斷地‘創造輪子’,快速完成開發”。這就意味著我需要學會讀懂別人的設計思想和系統性的框架設計。因此,我開始在我的Github不斷地“造輪子”,不斷地開發應用。直到某一天,我完成了我需要的那些知識和技術積累,我便覺得可以了。
比起“目的”,在一開始的時候,“熱愛”給人帶來的感覺的確會好一點,但是隨後兩者的差異會越來越少,直到有一天,我們看不出兩者的區別。事實上,在某項事業的長期的實現過程中,我們往往會忘記初衷,無論出於目的還是發自熱愛,都會有足夠的驅動力讓我們完成它。所以,不需要太擔心“並不熱愛”就意味著失敗,你更要去考慮的是解決擺在面前的事情。想要長時間在程式設計師這條路上走下去,把這個關於熱愛程式設計的問題想清楚是有利無害的。
相關文章
- [譯] Bob,函數語言程式設計是什麼鬼?函數程式設計
- 程式設計師思維看愛情是什麼?程式設計師
- UILayer是什麼鬼UI
- JavaScript是什麼鬼?JavaScript
- 為什麼你還是學不會程式設計程式設計
- 和程式設計師談戀愛,是什麼樣的體驗程式設計師
- 什麼是最好的程式語言?(怎樣才能愛上程式設計呢?)程式設計
- 什麼是AOP程式設計?程式設計
- cross-env 是什麼鬼ROS
- 程式設計師:活到 35 歲,我對不起誰?程式設計師
- 程式設計師最愛 Mac、JS 是最熱門技術程式設計師MacJS
- 為什麼有的程式設計師不會程式設計?程式設計師
- 程式設計師,熱愛你的 bug程式設計師
- 程式設計師被懟!HR:對不起,我們不招“精通Excel”的程式設計師程式設計師Excel
- 為什麼新人不會程式設計程式設計
- 電腦程式設計是什麼?程式設計
- 什麼是極端程式設計?程式設計
- [譯] JavaScript:回撥是什麼鬼?JavaScript
- 兩個程式設計師談戀愛,究竟會是什麼樣的呢?程式設計師
- 不愛洋娃娃愛程式設計的10歲女孩程式設計
- 什麼是程式設計師思維?程式設計師
- 什麼是現代化程式設計?程式設計
- 我為什麼是程式設計師?程式設計師
- 什麼是真正的程式設計師?程式設計師
- 什麼是真正的程式設計師程式設計師
- 什麼是反應式程式設計?程式設計
- 程式設計師的悲哀是什麼?程式設計師
- Django-rest-framework 是個什麼鬼?DjangoRESTFramework
- 節流函式throttle是什麼鬼?函式
- 大資料到底是什麼鬼大資料
- 大資料是個什麼鬼啦?大資料
- 什麼是程式設計?大道之行也,“程式設計”為公程式設計
- .NET的併發程式設計(TPL程式設計)是什麼?程式設計
- 布隆過濾器是什麼鬼?有什麼用?過濾器
- 你為什麼總是學不會設計模式?設計模式
- UI設計是什麼_UI設計學什麼?UI
- 程式設計師為什麼不應該加班程式設計師
- 不要輕易在簡歷上寫我熱愛程式設計,我熱愛學習程式設計