回覆列表
  • 1 # 阿里云云棲號

    以下為文章正文:

    我叫孤盡,是一名阿里程式設計師。

    如果說,我身上有一點點和普通程式設計師不一樣,也許是更軸一點。比如我覺得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,經歷過很多挫折,也經歷過晉升失敗,雖然到現在,我還是沒能改變一個時代,但我很開心,我給世界帶來了一點點改變。

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

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

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

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

  • 2 # 碼農視界

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

    專案經驗+基本技術+個人潛力

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

  • 3 # 阿里孤盡

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

    1)熱愛程式設計,享受程式設計的快樂。

    2)動手,動手,動手。

    3)總結,總結,總結 。

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

    實的要求羅列如下:

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

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

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

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

  • 中秋節和大豐收的關聯?
  • 怎麼做芋頭湯?