過去的幾個月里發生的幾件事情,讓給政府做軟件開發的人感受到壓力的陡增,從奧巴馬的醫保網站飽受詬病到美國退伍軍人事務部官方網站的預約系統從1985年起就沒有更新過,這些事情讓我回憶起曾經作為政府程序員的經歷,以及這段經歷如何變成一種一直督促我努力工作的思想動力。
我曾在某個政府部門維護過一個寫于1990年代的老系統。當一個新的系統啟動開發來替代部分的老系統功能時,很多的程序員對開發新系統的工作產生的嚴重的抵制心里。起初,我并不知道為什么他們會有這么大的反感。對這個系統維護一段時間之后,我才慢慢明白,有些程序員是專門維護系統,時間長達15年之久。當被邀請開發新系統時,他們對新事物和新技術都感到心里沒底。
這讓我警醒:這種事情也會很容易發生在我的職業生涯中。我可能會安逸的干著某一種工作,安逸的年年維護著某個系統。當這個系統長歲數時,我對它也變的更有價值,我的角色會最終變成專職維護它。我的余生也就整天執行相同的任務,直到退休。而當有一天,當這個系統不再被人需要時,我會發現外面的世界已經日新月異,我需要從頭學起。
這可不是我希望的生活軌跡;我作為程序員喜歡的方式是學習新思路來解決新問題,而不是安于現狀。我們程序員很容易迷住某一項技術而將全部精力都放在上面,對于其它的毫不關心。雖然這樣可以讓你在某一個領域成為專家,但你卻得不到探索其它領域獲得的更多好處。當意識到這種目光狹窄會扼殺我的進取心后,我開始避免讓所有雞蛋都放到一個籃子里,我開始走出自己職業仕途中的安逸環境。
學習新技術
你一直在用PHP編程嗎?嘗試一下使用Rails或ASP.NET。也許嘗試一種新的語言或框架會讓你感到受挫和沮喪,但探索的趣味也就在這里。至少,你應該看看同一種功能用其它語言是如何實現的。如何你只會用錘子,那你眼里所有的東西看起來都像釘子。
不懼怕老代碼
雖然上面我舉例的那個老代碼的例子有些極致,但我并不認為所有的老代碼都應該立刻替換掉、刪掉。在如今的軟件中,有很多穩固的、良好設計的程序代碼,它們對那些只會使用集成開發組件的現代程序員來說是很好的學習教材。如果你的公司里有老項目、老代碼需要你去維護,研究一下!你會吃驚于從中學到那么多的編程知識以及公司的業務規則。還會發現一些當前正在研究的問題,其實幾年以前就有人已經解決了。
了解你的敵人
程序員很容易對某種語言或框架產生宗教式的虔誠。如果你發現自己曾經痛恨或鄙視某種技術(參看Jeff Atwood的一篇經典文章),也許你應該強迫自己去研究一下它們。最不濟,至少你能證明討厭它們是有理由的。最好的情況是,你會從它們中學到很多東西。不要讓你的偏見阻擋了你的探索道路。
不要太貪心
程序員很容易被各種層出不窮的新平臺、新語言、新工具、新類庫嚇倒。你很容易產生一種恐懼心理,感覺自己已經落后——那些程序員談論的技術我怎么從來沒有聽說過?當你發現一種新技術看起來很有用或很有趣時,做個筆記,幾周或幾月后在回來看看它,如果人們還在談論它,那么,你就應該進一步研究它。事實上很多熱門新技術都是曇花一現,你完全可以忽略它,不要讓它們浪費了你的大腦。
學無止境
程序員都有著一種天生的好奇心,這種好奇心引導著我們的編程生涯。寫幾行代碼,裝載到計算機里,讓它按照你的思路工作,這是非常有趣的事情。但隨著開發的東西越來越多,我們變的越來越忙,這種好奇心會慢慢的減退。我們應該時不時的用一些新思路挑戰自己,讓自己的思想保持鋒銳和專注,提醒自己為什么當初選擇碼農這條道路。
-
程序員
+關注
關注
4文章
952瀏覽量
29799
發布評論請先 登錄
相關推薦
評論