成爲Java大神必須具備哪些條件?

完美life


給親推薦一篇Java大神阿里巴巴孤盡的一篇文,希望對你有所啟發!

以下為文章正文:

我叫孤盡,是一名阿里程序員。

如果說,我身上有一點點和普通程序員不一樣,也許是更軸一點。比如我覺得JAVA是世界上最好的語言,沒有之一。

最近,我又幹了一件比較軸的事情。

我因為這件事曾被大家群嘲。有人還好奇地發帖:孤盡是誰?怎麼膽子這麼大,敢給整個阿里集團寫技術規範?

插畫師:赫柏

一個瘋狂的主意

事兒得從兩年前說起,有一次,我去參加一個跨部門的會議,開著開著,忽然掐起來了。

起因是兩個團隊使用的代碼規範不一樣,但都想讓別人採用自己的。最後誰都說服不了誰,一個哥們氣得嗷嗷叫,還有個哥們,恨不得要跳上桌子現場表演胸口碎大石。

長期以來,咱們程序猿雖然都靠武功行走江湖,但又各立山頭。

大家的代碼規範都不一樣。我學降龍十八掌,你學蛤蟆功,還有人打還我漂漂拳,不按照一個“套路”出牌。單兵作戰還好,遇到團體作戰的時候,難免會因為要統一“出拳”的步調,犧牲掉一些效率。

想到這,一個大膽的念頭冒了出來:為啥不做一個統一的規範出來呢,讓大家達成共識呢!

這個瘋狂的想法,我越想越激動,馬上告訴了身邊的小夥伴。

大家跟我想得一樣,這個主意不但很瘋狂,還很不靠譜。代碼規範都是程序員們多年編碼生的繭,豈能說改就改!

有人問我,誰給你的勇氣,梁靜茹全家嗎?還有人說,規範又不是你的KPI!好好搬你的磚(黑話,指寫代碼)。

攝影師:俱往

搬磚的故事

別說,我還真搬過磚!

初二的時候,我不好好上課,天天在學校打架,後來我爹把我揪回了家,一頓胖揍之後,讓我去家裡附近的窯廠搬磚。

搬了大半年,有個親戚來家裡做客,看了我一眼,說,這個娃腦瓜子好使,但當不了房梁,只能當房椽,不堪大用。

那句話激怒我了,後來,我就去找我爹,我要回學校。我爹平靜的告訴我,晚了,認命吧。

我就不認,我打死都不認。

回了學校,別人一題做一遍,我做三遍。寢室都睡了,我打著手電筒還在看書,就這樣,從年級倒數第一,到了期末,我爬到了年級倒數一百。

在我們的人生中,一定會有一個人告訴你,這事太難了,別幹了。

這個時候,一定要對自己說一句話:對於別人來說,也許是很難,但我不是別人啊。

攝影師:啟一

失敗99次之後

2016年3月,我在阿里ATA(技術同學華山論劍處)上發表了第一版《阿里巴巴集團JAVA技術規範》。

覺得好的人有之,覺得不好的也很多。還有人覺得我膽子太大了,去知乎發帖,問孤盡是誰,怎麼敢給整個阿里集團寫技術規範?

每次被群嘲,晚飯我就讓食堂阿姨多給我打兩個雞腿,安慰一下自己。有批評,證明有關注,有關注,就有希望。

那個時候,一個部門一個部門的去遊說,失敗了一次,就試第二次。失敗了99次,那也還要再試一次,沒別的,湊個整數唄。

也許是精誠所至,也許是走了狗屎運,阿里技術大牛多隆給我的規範做了推薦,被一個技術大牛看到,還引發了業內的討論。

阿里在Java後端領域支撐起全球訪問量最大的服務器集群; Java代碼構建的阿里雙11系統訂單處理能力達到17.5萬筆/秒。如果能在這個基礎上運營一套加強團隊分工與合作、真正提升效率的規則,不就能撒豆成兵嗎?

阿里巴巴CTO行癲說過一句話:“消防局最主要的工作不是滅火,而是為了不發生火災建立很多規範。”

在這段時間,JAVA規範前後改了很多版,從我一個人,到越來越多的程序員加入。我們相信,當規範改到第七版,我們就能召喚神龍。

其實,我們每一個行動,都需要消耗勇氣。開始前的猶豫,行動中的波折,被質疑時的動搖……記住,千萬別去管天多高地多厚,反正管了你就贏不了。

第83行代碼

今年年初,代碼規範終於實現了。

現在阿里所有的BU都開始使用這個JAVA規範,所有人都開始奔著一個方向奔跑了。

今年,我和小夥伴又開始鼓勵大家把寫得好的曬代碼曬出來,甚至被重新review。

這個過程,不是找茬,而是讓大家看看好在哪裡,不好在哪裡,做得好的學習,不好的避免再次掉坑裡。

連馬老師都來回貼了,“感謝大家的智慧和努力,更感謝大家的分享和敬業精神。我可以驕傲的說,我可以一輩子不用懂代碼,因為我有你們!!!”

現在這個曬代碼的帖子,已經有5萬多人圍觀,400多位技術極客們秀代碼、亮肌肉。

通過算法,定期抓捕漂亮代碼進行全員review,我們正在推動它成為現實。小夥伴們還給這個項目起了一個性感的名字——第83行代碼!

當然,最讓我激動的,是食堂大媽終於記住我的花名了,有天我去打飯,她跟我說,還給我留了兩個大雞腿。

阿里程序員們在做代碼review

從阿里P5到P8

八年前,我筆試阿里失敗,一氣之下,我抱著自己的簡歷和一堆獲獎證書跑到浙大準備安排面試的HR,準備霸王面。

我還記得當時說了一句:你們錯過了我,就錯過了一個時代。特別感激那個笑得好看的HR大哥,並沒有因為我不知天高地厚而生氣,相反,他破例給了我一次面試的機會。

在阿里的八年,從P5到P8,經歷過很多挫折,也經歷過晉升失敗,雖然到現在,我還是沒能改變一個時代,但我很開心,我給世界帶來了一點點改變。

這是我的照片,怕掉粉現在才上

小時候,我們總被教育,別不知道天高地厚,要有自知之明。自知之明的潛臺詞,大概是遇到困難,記得認慫。

但有的時候,請保留一些“不管天高地厚”吧。

敢不切實際地妄想,才敢不顧一切地努力啊。


更多技術乾貨敬請關注雲棲社區頭條號!


雲棲社區


我看到有人截圖給我說,這個問題似乎答非所問。特地過來給大家一個答案,首先我不是大神,我只是一個正在路上、熱愛技術、愛分享的Java碼農而已。不知道為什麼要把為成大神當成目標呢?技術最終是解決某一類問題的,大神,我的理想是深入淺出,融匯貫通,前一個成語往往能夠深入,但無法淺出,無法用簡單的語言介紹自己的知識體系。而後一個成語,融匯似乎容易,但是貫通,需要自己打通自己的任督二脈。關於需要具備的技術體系,虛的要求羅列所下:

1)熱愛編程,享受編程的快樂。

2)動手,動手,動手。

3)總結,總結,總結 。

4)勇於挑戰技術浪潮之巔。

實的要求羅列如下:

1)瞭解JdK體系的技術框架,深度瞭解重點類的源碼設計,特別是集合和併發編程的知識。幾乎50%的故障都是來源於集合的誤用和併發錯誤上。

2)知道主流框架的使用方式和總體框架體系。

3)知道設計模式和架構理論,並且運用到實際代碼中去。

4)知道如何做好自我測試,包括單元測試、集成測試,還有識別錯誤,定位問題的能力。

5)技術風險的判斷能力。


阿里巴巴孤盡


想成為java大神需要具備哪些條件呢?從以下幾點綜合分析吧:

項目經驗+基本技術+個人潛力

想成為java大神,還得需要自己的不斷總結和積累經驗,有自己的一套工作流程和方法,不斷的學習才能達到這樣的狀態,項目不能少,更多的是大型的項目經驗。因為只有在工作和項目中才能更好的總結,讓自己更瞭解這個編程和代碼,知道怎樣提高效率更好的完善這個項目。


分享到:


相關文章: