程式設計師,一個辛苦卻令人羨慕的職業,曾經被認為是高科技人才,但隨著IT行業的飛速發展,已被改稱為“IT民工”。但這並不能一概而論,因為程式 員是分很多層次的,雖然所謂的智商也可能是決定一個人的層次的一個重要因素,但主要因素不在於先天條件。如果說這世界是公平的,每個人的先天條件都沒有差 距,那真是有失公正,但絕大多數人之間的差別卻真的沒那麼大。我認為,最主要的得看他是不是個有“心”人。
好奇心:在軟體世界裡充滿了神奇,但也要細心去品味去發現,如果沒有對了解新事物、新技術的的強烈渴望,很容易失去學習的目標與動力,他將停步不前,淪落為“IT民工”。
上進心:光對事物好奇,而沒有學習的願望,始終把新技術當作一種新事物,而沒有把它變成自己的技術的動力,只能望洋興嘆;
細心:軟體開發是一個極其瑣碎的工作,在編碼階段,每一個細節,每一行程式碼都需要認真的思考;在除錯階段,要注意每個狀態變數的狀態以及與程式碼的對 應,注意每個細節來定位問題。粗心大意、馬馬虎虎的人寫出來的程式碼是不可用的,這種人不適合寫程式,適合去布地雷,埋完雷之後連自己都不知道埋到哪兒了, 即便自己想當叛徒都當不了。
耐心:軟體是人寫的,只要是人乾的事兒,總會出錯,關鍵一旦程式出錯,能不有耐心定位、解決問題。特別是除錯程式時,有時一個簡單的BUG可能 需要幾個小時甚至幾天都不能解決,始終挑戰著一個人的耐心極限。是問題總會解決的,只要報著必須解決的決心與足夠的耐心,總能把問題解決。其實,越是這種 複雜問題越應該解決,因為在解決問題的過程中會把平生所學、渾身解數用盡,也是對自己知識體系的一次融合。如果把自己的每一塊知識作為一個軟體模組,把自 己的整個知識體系作為一個軟體系統,那麼一次複雜問題的除錯就是一次知識體系的系統除錯,一旦除錯完成,必然會帶來自身能力的整體提升。
責任心:責任心直接決定著做事的態度,人再聰明,事情再小,如果沒有責任心,即是有心而不用,仍然與“無心”沒有差別。事情做壞了,不僅浪費了 自己的青春,而且是對自己品牌的一種毀損。萬事萬物都是有慣性的,人又是有惰性的,如果外因的影響導致做某件事的責任心的淪喪,必然會影響到下一件事責任 心的發揮,久而久之,將最終導致責任心的喪失。
虛心:“驕傲使人落後,虛心使人進步”,無人不知無人不曉,但不是每個人都對驕傲有足夠的警惕。一次面試,一哥們兒開價很高,可是問了很多細節 以及系統情的問題都不太知道,然後同事說我們做海量資料的檢索與管理,他來一句:“不就是從資料庫裡讀資料、寫資料嗎?太簡單了!“說得我們兩個啞口無 言,面試也戛然而止。
恆心:以上各個“心”是基本條件,條件滿足了還必須保持優越條件,要持之以恆堅持到底。其中很重要的一點就是持續的“學習”,因為IT行業發展實在太快,一不小心就會被時間的車輪壓得屍骨無存,“活到老學到老”必須作為程式設計師人生不變的哲學信條。
大腦,是每一個人都具有的人體部件,正如每臺電腦都有CPU一樣,但最關健的是看是否有”心“,如果有腦無心,就好比CPU不工作或者降頻處理,沒有發揮其真正的作用,如何成為一個優秀的程式設計師