阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
對(duì)于一個(gè)從未到過(guò)南方的內(nèi)蒙漢子來(lái)說(shuō),北京的大學(xué)一直是中學(xué)時(shí)憧憬的殿堂,而離家上千公里浙江大學(xué),則是從來(lái)沒(méi)有考慮過(guò)的地方。機(jī)緣巧合之下,被一位年近七旬的浙大老師說(shuō)服,我自此開(kāi)始了南下“修煉”之旅。沒(méi)想到轉(zhuǎn)眼間竟已九年,杭州也成為我的第二家鄉(xiāng)。
值此1024程序員節(jié)來(lái)臨之際,撫今追昔,回顧一下自己的“修煉”歷程。
大學(xué)時(shí)光,嘗試不同的計(jì)算
和計(jì)算機(jī)的緣分也是從大學(xué)開(kāi)始,初入新手村的我擁有了自己的電腦。
升入本科的第一年我們沒(méi)有細(xì)分專(zhuān)業(yè),只有學(xué)科大類(lèi)。大二選專(zhuān)業(yè)的活動(dòng),就像是第二次高考志愿填報(bào)。09年的信電系異常火爆,但比起硬件底層,我對(duì)操作系統(tǒng)、軟件、app更感興趣,最后選擇了計(jì)算機(jī)。
然而,計(jì)算機(jī)系挑戰(zhàn)更大,很多進(jìn)來(lái)的同學(xué)都早已打下基礎(chǔ),相比之下,從頭開(kāi)始學(xué)習(xí)如何編寫(xiě)代碼的我是徹頭徹尾的“萌新”。因此在完成課業(yè)之余,我整天泡在圖書(shū)館:一個(gè)一個(gè)實(shí)現(xiàn)《算法導(dǎo)論》中的算法,研究解決同樣問(wèn)題;使用不同算法把復(fù)雜度從N(n^2)下降到N(nlogn);和同學(xué)在ZOJ(Zhejiang University Online Judge)比拼刷題…
逐漸熟悉掌握前人的知識(shí)的我,就像獲得了打怪的武器。大二開(kāi)始在不同的領(lǐng)域,逐步嘗試用算法和計(jì)算來(lái)實(shí)現(xiàn)自己的想法:
??作為國(guó)內(nèi)第一批使用Kinect的玩家,基于Kinect的SDK,做了一套手勢(shì)+肢體動(dòng)作操作PC的鍵鼠的小工具,并完成了一局全身充分運(yùn)動(dòng)的掃雷。
??嘗試Obj-c, 開(kāi)發(fā)了射擊類(lèi)的iPhone小游戲。依靠這份經(jīng)驗(yàn),和小伙伴開(kāi)發(fā)了一套課堂交互系統(tǒng)(支持教室通過(guò)app布置作業(yè)和回答問(wèn)題),拿到了網(wǎng)易的app創(chuàng)新比賽獎(jiǎng)項(xiàng)。
??自學(xué)《集體智慧編程》和Andrew NG 《機(jī)器學(xué)習(xí)》公開(kāi)課,逐漸點(diǎn)開(kāi)了“推薦算法”和“機(jī)器學(xué)習(xí)”的技能樹(shù)。
正是通過(guò)這些積累的經(jīng)驗(yàn)和知識(shí),大四拿到了阿里巴巴集團(tuán)的實(shí)習(xí)offer,正式從新手村畢業(yè)進(jìn)階。
初到阿里,成為算法達(dá)人
從實(shí)習(xí)到最初兩年在阿里集團(tuán)的工作,我都在和各種算法打交道。而2013年的阿里,“算法工程師”還算是很新的一個(gè)崗位,我們要在海量的信息上,通過(guò)機(jī)器學(xué)習(xí)和挖掘算法讓其可讀、可用、有價(jià)值。
我最初就職于淘寶,怎樣幫助買(mǎi)家在淘寶成百上千品類(lèi)和數(shù)以?xún)|計(jì)的商品中,挑選出自己想要購(gòu)買(mǎi)的商品,或者母嬰產(chǎn)品分類(lèi)該怎么做?我用了一整個(gè)月時(shí)間,研究了淘寶的母嬰類(lèi)目,從關(guān)鍵詞到寶貝類(lèi)型、細(xì)節(jié)描述、品牌歸屬、品牌定位……原本的單身宅男幾乎變成了一個(gè)母嬰專(zhuān)家,甚至在之后半年里,我的女同事們都會(huì)找我咨詢(xún)?nèi)绾钨?gòu)買(mǎi)母嬰產(chǎn)品……
在淘寶的這段時(shí)間,也是我成長(zhǎng)和學(xué)習(xí)最快的時(shí)候。數(shù)據(jù)庫(kù)、機(jī)器學(xué)習(xí)算法、JAVA項(xiàng)目構(gòu)建、GIT版本管理,每一個(gè)技能點(diǎn)都得到了很大的提升。由學(xué)生時(shí)代的幾M數(shù)據(jù)的算法Demo進(jìn)階到TB級(jí)的數(shù)據(jù)處理,傳統(tǒng)的單機(jī)算法已經(jīng)遠(yuǎn)遠(yuǎn)不能滿(mǎn)足需求。
?
經(jīng)常優(yōu)化算法到深夜的我,深刻體會(huì)到了算法從N(n^2)下降到N(nlogn)的意義:也許對(duì)于算法Demo只是跑的慢一點(diǎn),但對(duì)于業(yè)務(wù),可能就決定了這個(gè)業(yè)務(wù)能不能做,能不能控制住成本,能不能真正落地應(yīng)用,我也覺(jué)得身上的責(zé)任更重了。
工作不僅僅是完成任務(wù),更是不斷地去研究和解決問(wèn)題。這些披荊斬棘攻堅(jiān)克難的經(jīng)歷,也讓我練就了強(qiáng)大的內(nèi)功。
擁抱變化,讓城市更加智慧
青年們,到祖國(guó)最需要的地方去!后來(lái)在阿里云的日子,頗有些這樣的滋味。
三年前因?yàn)閳F(tuán)隊(duì)調(diào)整,我們來(lái)到了阿里云,也促使我完成了從把自己的算法做好,到幫助用戶(hù)去實(shí)現(xiàn)用戶(hù)數(shù)字化轉(zhuǎn)型的變化。看待問(wèn)題的視角也從由局部到整體,乃至整個(gè)行業(yè)。
可以做的事情更多了,挑戰(zhàn)也更大了。來(lái)阿里云做的第一個(gè)產(chǎn)品是針對(duì)新媒體行業(yè)的推薦引擎,在這個(gè)項(xiàng)目中,我第一次完整的參與了一個(gè)商業(yè)化產(chǎn)品誕生的全過(guò)程:立項(xiàng)、研發(fā)、測(cè)試、發(fā)布。個(gè)人能力的邊界進(jìn)一步擴(kuò)展到了項(xiàng)目管理,產(chǎn)品運(yùn)維,算法來(lái)說(shuō)也有了更加全面的擴(kuò)展。
2017年,又一次的擁抱變化,是轉(zhuǎn)投向交通行業(yè)。在追趕城市大腦的浪潮中,接觸到杭州的交通行業(yè),才發(fā)現(xiàn)自己對(duì)已經(jīng)待了8年的這座城市,了解還遠(yuǎn)遠(yuǎn)不夠。杭州“首堵”的稱(chēng)號(hào)揚(yáng)名在外,而每天需要開(kāi)車(chē)一小時(shí)通勤上下班的我,逐漸更關(guān)心這個(gè)城市的每一個(gè)交通的脈絡(luò),每一個(gè)新的規(guī)劃和改變。道路就像是杭州的“血管”,我們通過(guò)算法的應(yīng)用,為這座城市疏通它的每一寸“經(jīng)絡(luò)和血管”,注入能量。
?
這樣的工作實(shí)際解決的每一個(gè)環(huán)節(jié)都與我們的生活息息相關(guān)。每每想到自己的每一分努力都能夠幫助整個(gè)城市,都會(huì)獲得滿(mǎn)足感。如果優(yōu)化算法,能使信號(hào)燈的通行效率提升一個(gè)點(diǎn),就可以節(jié)約所有人加起來(lái)上百個(gè)小時(shí)的時(shí)間。如果切實(shí)的減少擁堵和提出建議,更能減少人力資源的浪費(fèi)。
未來(lái)怎么樣讓這個(gè)城市變得更加智慧?也成為了我新的目標(biāo)。
在淘寶的兩年,我關(guān)注如何用算法做好一件需求。而在阿里云,我更關(guān)心怎樣的產(chǎn)品和云平臺(tái),能幫用戶(hù)更好地實(shí)現(xiàn)算法的聯(lián)動(dòng),實(shí)現(xiàn)無(wú)法計(jì)算的價(jià)值。
寄語(yǔ)
掐指一算,今年正好是來(lái)到阿里的第5年,在杭州的第9年。
而這份“修煉”,仍在進(jìn)行中……
對(duì)于有志于做算法工程師的同學(xué),也有一些“修煉”的建議:一是持續(xù)學(xué)習(xí),多去嘗試不同的細(xì)分領(lǐng)域,找到自己最喜歡也擅長(zhǎng)的方向,當(dāng)然個(gè)人認(rèn)為喜歡相對(duì)來(lái)說(shuō)重要一些。 二是希望大家把關(guān)注點(diǎn)放在解決問(wèn)題上面,無(wú)論是用什么框架,什么算法,高效的解決問(wèn)題才是王道。 三是一定要了解計(jì)算邏輯,同時(shí)算法開(kāi)發(fā)的能力也很重要,開(kāi)發(fā)的過(guò)程中可以幫助梳理思路,評(píng)估算法成本。
點(diǎn)擊了解ET城市大腦
https://et.aliyun.com/brain/city閱讀原文
轉(zhuǎn)載于:https://blog.51cto.com/13687323/2308969
總結(jié)
以上是生活随笔為你收集整理的阿里云专家穆轩的《杭州九年程序员之“修炼”手册》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C# 发布APP修改APP图标以及名称
- 下一篇: Algs4-1.4.42问题规模