Java冠軍程序員告訴你如何提升技術

Java冠軍程序員告訴你如何提升技術

  讓我們跟着兄弟連JavaEE培訓導師,聊一聊——怎樣成爲冠軍程序員? 我認爲以下幾點能力是非常有幫助的:

1.強大的記憶力。當 我上八年級的時候,全因那位死氣沉沉的歷史老師,讓我自己都相信我的記憶力太差了。然而,令我驚訝的是,歷經多年程序員的工作,我驚奇地發現自己對之前看 過的 Java 源代碼可以立即重現。在我閱讀 JDK 裏的一個方法(method)的時侯,我常常能說出該方法(method)相較先前版本有無改動。也許我並不能記清楚某個人的長相和名字,但是對於 Java 代碼可以做到過目不忘——要是人的名字也是 for 循環就好了。所幸,缺乏好的記憶力也絲毫不影響我們成爲冠軍程序員,但擁有強大的記憶力依然是一個明顯的優勢。

2.數學能力。不是成爲一個數學高手才能成爲一個好的 Java 程序員,但數學能力顯然會幫助你擁有成爲優秀程序員的資質。今年一月份我有點空餘時間,於是決定去試試歐拉謎題(Project Euler)。其中有一個謎題需要運行九個半小時去尋找解決方案。在它運行的過程中,我看了一下這個問題,然後發現其中數字間的一點關係,這可以用以優化解決方案。我再次運行,這次只花了 6 分鐘。與此同時,我第一個算法仍然持續運行,嘗試找到答案。我再次回到數字中去,發現了另外一種沒有見過的模式,現在它只需要 6 秒鐘就完成了。我也嘗試過用聰明的編程技巧和並行去暴力優化代碼,這可能讓速度加快了一點點,但是依然沒有辦法使之少於6秒鐘。

  大約十年前, Sun 發佈了 Java 冠軍程序員(Java Champion)計劃。這個點子是用來發現世界上最頂尖的 1000 個 Java 專家,他們在也積極的做事情來幫助 Java 提升。我們現在大概排名在第 160 名。 Oracle 公司持續進行着這個計劃,而且在過去的幾年裏,我們看到了這個認可制度的更多好處。這是一個自選的團體。新的冠軍是被現存冠軍推介並進行票選的。通常情況 下,在選定冠軍之前,需要有十多個贊成,而一個反對就會否決提議。自薦的情況是會被考慮的,但是一般不會得到足夠多的支持。

  程序員朋友們經常問我是怎麼成爲 Java 冠軍程序員的,“很簡單”我說,“只要和我一樣,發表 200 篇 Java 相關的文章;要麼寫個 Hibernate、Spring、Jacoco什麼的;或者在 StackOverFlow 上回答數千個問題並出版一打好文章;或者組織歐洲最大的 Java 開發者大會。”

  你需要做一些卓越的事情,這將花費時間和精力。沒有人因爲他們的個人魅力和顏值而成爲 Java 冠軍程序員,全靠辛苦工作纔可以,這也許是爲什麼我們的名字後面沒有臉部照片的原因 ;-) 。甚至,不要爲成爲冠軍程序員而成爲冠軍程序員。摒棄私心、等待其他人的讚揚,這將讓你感覺更好。並不是每個冠軍程序員都會被官方冠以“Oracle Java Champion(甲骨文Java冠軍程序員)”的稱號。

  無論你選擇了哪種方式,成爲冠軍程序員就意味着奉獻。和朝九晚五式的上班是完全不一樣,你不可能在上班時學到所有你需要的知識。而要成爲冠軍程序員,需要利用晚上和週末的時間學習,以保持與時俱進。最誇張的笑話是,程序員一到40歲就會進入淘汰期。也許他們在 Java 編程上做的還不錯——除非他們通過閱讀書籍、文章,或是參加開發者大會和具有挑戰性的課程來刷新他們的知識——否則僅僅依靠一紙文憑,終將變得毫無價值, 這個行業將會把他們像用過的餐巾紙一樣拋棄掉。千萬不要變成這樣的人!學習,學習,再學習!而最好的學習方式無疑是和你的同僚分享知識。

  怎麼樣分享你的知識呢?如今,我們有很多方式可以選擇:可以在 StackOverflow 或者其他類似的網站上回答問題;可以在午餐時間通過叫外賣來討論技術問題——許多年前在我所在的一家公司裏,我們就通過這樣的方式過了一遍”Design Patterns”。這需要一點犧牲,你可能必須放棄午餐,花費某些晚上去準備你的會談。然而,比起單純地做一個信息的消費者,這能學到的東西要多得多。

“The Java Specialists’s Newsletter” 現在爲130多個國家的 70000 多程序員所閱讀,但開始起步的時候非常微小,我把它發給我的八十個朋友和家人(包括我哥哥,和我父母),我懇求他們轉發給他們的朋友和同事。隨着時間地推移,它慢慢地發展。我相信,如果你觀察周圍,你可以找到 80 個電子郵件地址,這就是它怎麼起步的。萬事開頭小。它發展緩慢,但是成長很穩定。我知道當你看到 70000 這個數字,可能會被震懾,但是這僅僅是 Java 程序員很小的比例。

  最後,我想以一個非常有幫助的要點結束這篇文章:熱忱。大部分人不得不做枯燥的計算機工作,很少有人能在其中享受。在我的一份工作裏,他們把組織源代碼庫的工作安排給一個電子工程師。他完全搞錯了——當他在做源代碼控制的時候,讓我們在目錄之間拷貝源代碼樹。每週的build時我們都要同時做這件事,服務器就像爬蟲一樣緩慢。在機器卡殼的時候往往需要幾個小時,所有的人都只能慢慢等,這是令人痛苦和沮喪的。我對 VSS(Visual Source Safe:用於管理軟件開發中各個不同版本的源代碼和文檔)毫無熱情。找到一個你令你感到熱愛的事情,它他應該是你下班之後非常願意做的事。對我而言,就 是研究 Java 生態系統裏的犄角旮旯。熱忱就是,當有無數個理由要我們停下,它依然驅使我們前進。

看了小編整理的文章大家是不是深有感觸呢,歡迎大家來兄弟連論壇和小編一起討論!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章