1. 程式人生 > >阿裏雲專家穆軒的《杭州九年程序員之“修煉”手冊》

阿裏雲專家穆軒的《杭州九年程序員之“修煉”手冊》

sdk 落地 開發 版本 浙江 一次 交互 1024程序員節 ima

摘要: 對於一個從未到過南方的內蒙漢子來說,北京的大學一直是中學時憧憬的殿堂,而離家上千公裏浙江大學,則是從來沒有考慮過的地方。機緣巧合之下,被一位年近七旬的浙大老師說服,我自此開始了南下“修煉”之旅。沒想到轉眼間竟已九年,杭州也成為我的第二家鄉。

對於一個從未到過南方的內蒙漢子來說,北京的大學一直是中學時憧憬的殿堂,而離家上千公裏浙江大學,則是從來沒有考慮過的地方。機緣巧合之下,被一位年近七旬的浙大老師說服,我自此開始了南下“修煉”之旅。沒想到轉眼間竟已九年,杭州也成為我的第二家鄉。

值此1024程序員節來臨之際,撫今追昔,回顧一下自己的“修煉”歷程。

大學時光,嘗試不同的計算

和計算機的緣分也是從大學開始,初入新手村的我擁有了自己的電腦。

升入本科的第一年我們沒有細分專業,只有學科大類。大二選專業的活動,就像是第二次高考誌願填報。09年的信電系異常火爆,但比起硬件底層,我對操作系統、軟件、app更感興趣,最後選擇了計算機。

然而,計算機系挑戰更大,很多進來的同學都早已打下基礎,相比之下,從頭開始學習如何編寫代碼的我是徹頭徹尾的“萌新”。因此在完成課業之余,我整天泡在圖書館:一個一個實現《算法導論》中的算法,研究解決同樣問題;使用不同算法把復雜度從N(n^2)下降到N(nlogn);和同學在ZOJ(Zhejiang University Online Judge)比拼刷題…

逐漸熟悉掌握前人的知識的我,就像獲得了打怪的武器。大二開始在不同的領域,逐步嘗試用算法和計算來實現自己的想法:

? 作為國內第一批使用Kinect的玩家,基於Kinect的SDK,做了一套手勢+肢體動作操作PC的鍵鼠的小工具,並完成了一局全身充分運動的掃雷。
? 嘗試Obj-c, 開發了射擊類的iPhone小遊戲。依靠這份經驗,和小夥伴開發了一套課堂交互系統(支持教室通過app布置作業和回答問題),拿到了網易的app創新比賽獎項。
? 自學《集體智慧編程》和Andrew NG 《機器學習》公開課,逐漸點開了“推薦算法”和“機器學習”的技能樹。

正是通過這些積累的經驗和知識,大四拿到了阿裏巴巴集團的實習offer,正式從新手村畢業進階。

初到阿裏,成為算法達人

從實習到最初兩年在阿裏集團的工作,我都在和各種算法打交道。而2013年的阿裏,“算法工程師”還算是很新的一個崗位,我們要在海量的信息上,通過機器學習和挖掘算法讓其可讀、可用、有價值。

我最初就職於淘寶,怎樣幫助買家在淘寶成百上千品類和數以億計的商品中,挑選出自己想要購買的商品,或者母嬰產品分類該怎麽做?我用了一整個月時間,研究了淘寶的母嬰類目,從關鍵詞到寶貝類型、細節描述、品牌歸屬、品牌定位……原本的單身宅男幾乎變成了一個母嬰專家,甚至在之後半年裏,我的女同事們都會找我咨詢如何購買母嬰產品……

在淘寶的這段時間,也是我成長和學習最快的時候。數據庫、機器學習算法、JAVA項目構建、GIT版本管理,每一個技能點都得到了很大的提升。由學生時代的幾M數據的算法Demo進階到TB級的數據處理,傳統的單機算法已經遠遠不能滿足需求。

技術分享圖片

經常優化算法到深夜的我,深刻體會到了算法從N(n^2)下降到N(nlogn)的意義:也許對於算法Demo只是跑的慢一點,但對於業務,可能就決定了這個業務能不能做,能不能控制住成本,能不能真正落地應用,我也覺得身上的責任更重了。

工作不僅僅是完成任務,更是不斷地去研究和解決問題。這些披荊斬棘攻堅克難的經歷,也讓我練就了強大的內功。

擁抱變化,讓城市更加智慧

青年們,到祖國最需要的地方去!後來在阿裏雲的日子,頗有些這樣的滋味。

三年前因為團隊調整,我們來到了阿裏雲,也促使我完成了從把自己的算法做好,到幫助用戶去實現用戶數字化轉型的變化。看待問題的視角也從由局部到整體,乃至整個行業。

可以做的事情更多了,挑戰也更大了。來阿裏雲做的第一個產品是針對新媒體行業的推薦引擎,在這個項目中,我第一次完整的參與了一個商業化產品誕生的全過程:立項、研發、測試、發布。個人能力的邊界進一步擴展到了項目管理,產品運維,算法來說也有了更加全面的擴展。

2017年,又一次的擁抱變化,是轉投向交通行業。在追趕城市大腦的浪潮中,接觸到杭州的交通行業,才發現自己對已經待了8年的這座城市,了解還遠遠不夠。杭州“首堵”的稱號揚名在外,而每天需要開車一小時通勤上下班的我,逐漸更關心這個城市的每一個交通的脈絡,每一個新的規劃和改變。道路就像是杭州的“血管”,我們通過算法的應用,為這座城市疏通它的每一寸“經絡和血管”,註入能量。

技術分享圖片

這樣的工作實際解決的每一個環節都與我們的生活息息相關。每每想到自己的每一分努力都能夠幫助整個城市,都會獲得滿足感。如果優化算法,能使信號燈的通行效率提升一個點,就可以節約所有人加起來上百個小時的時間。如果切實的減少擁堵和提出建議,更能減少人力資源的浪費。
未來怎麽樣讓這個城市變得更加智慧?也成為了我新的目標。

在淘寶的兩年,我關註如何用算法做好一件需求。而在阿裏雲,我更關心怎樣的產品和雲平臺,能幫用戶更好地實現算法的聯動,實現無法計算的價值。

寄語

掐指一算,今年正好是來到阿裏的第5年,在杭州的第9年。

而這份“修煉”,仍在進行中……

對於有誌於做算法工程師的同學,也有一些“修煉”的建議:一是持續學習,多去嘗試不同的細分領域,找到自己最喜歡也擅長的方向,當然個人認為喜歡相對來說重要一些。 二是希望大家把關註點放在解決問題上面,無論是用什麽框架,什麽算法,高效的解決問題才是王道。 三是一定要了解計算邏輯,同時算法開發的能力也很重要,開發的過程中可以幫助梳理思路,評估算法成本。

阿裏雲專家穆軒的《杭州九年程序員之“修煉”手冊》