工做一年了,從學生黨變工做黨,從野生程序員變職業前端,收貨了很多東西,於此一年香之際,記錄一下本身的心路歷程以及真實想法。前端
另外,本文純感想且不涉及任何技術,全部內容僅表明我的觀點,與任何組織及公司無關,如有不當或錯誤之處請及時指出,以避免誤傷路人。程序員
在這一年裏,我有幸和你們一塊兒經歷了雙11,雙12,年貨節,517通訊節等大大小小的活動,爲天貓網廳和阿里通訊貢獻本身的力量,阿里在技術上有着豐厚的沉澱,讓個人技術視野開闊了許多,在各路前輩的帶領下本身的能力也獲得不小提高,在和你們一塊兒共事的過程當中也讓我學習到了團隊合做和交流的不少技能,期間有歡笑也有迷茫,有困難也存在許多問題,但這些對我來講都是一種鍛鍊和成長,很榮幸能加入到阿里你們庭,感謝大家。web
好了,正式總結寫完了,下面開始非正式的。npm
先說下公司吧,本人校招生,也沒來實習過,因此來以前懷着滿滿的敬畏之情,哇,大公司耶,還有好多牛人,作了那麼多牛逼的產品和技術,還擔憂本身能不能適應職場生活和禮儀,能不能勝任工做處理好同事關係。來以後發現本身徹底想多了,這就一所「大學」,同事關係都是簡單直接,你們都是對事不對人,工做氛圍很好,環境也不錯,有食堂,有小吃,有餐廳,有咖啡館,還有本身的園區,除了預料之中的加班以外,一切都好。編程
而後是團隊,做爲前端,our team仍是很和諧很會玩的,成員過生日或者工做滿週年都會出去小聚一下,業務不忙時還能飯後踢個球,哪天老大高興還會請客看個電影洗個腳啥的,雖然最浪的仍是UED,可是比起後臺等其餘技術部門仍是要好上很多。其實我想說能碰上一個開放和會玩的老大仍是很幸運的。後端
原本想把工做和生活分開,畢竟阿里一直倡導員工要「認真生活,快樂工做」,然而發現天天大部分時間都在工做,工做已然是生活的重要部分。本身的狀態在這一年中也經歷了很多變化,因此就乾脆一塊兒寫了。瀏覽器
剛來時其實有點虛,之前都是在小做坊小公司玩,忽然變得專業起來仍是頗有壓力,只能更加努力的去工做,去學習,去作出更多的東西來證實本身。生活上則是很認真的對待每件事,畢竟身上只有2千塊錢,在沒發工資的狀況下要租房還要買東買西仍是很心塞的。安全
度過實習期後,內心踏實了不少,而後開始認真對待工做中的每件事,畢竟剛來,不能捅婁子。同時回家以後也常常要學習看書,不斷提高本身能力。因此生活上就很隨便啦,每日三餐都是在公司蹭的,早出晚歸回家就沒剩多久時間了,週末就在家寫點東西,也沒怎麼鍛鍊,沒怎麼出去玩。性能優化
淘寶天貓基本是每天在搞活動,一旦遇到雙11,年貨節,517通訊節這種大型活動,光努力工做已經不夠了,還得加班,何況對我來講都是第一次,如何優雅的處理產品經理運營UED的需求,以及開發節奏和線上問題仍是有挑戰的。印象比較深入的是雙11加班到了凌晨4點,517連續加班了2周,而且常常是到晚上兩三點, 累的不要不要的。從這以後我纔開始從新對待工做和生活的關係。微信
其實天天重複的工做和加班,曾讓我開始迷茫,感到本身就是一個機器人。首先這些快速迭代的業務代碼對個人能力基本沒有提高,而後常常性加班耗費了我本就很少的業餘時間,長此下去必然是個惡性循環,因而便決定休假調節一下狀態。而後就去三亞玩了幾天,在那裏體驗到了不少不同的東西,感受本身的人生又到了一個新的臺階,還有不少美好的東西等待着我去追尋。
這應該是我目前所能達到的最高境界了。「認真生活、快樂工做」這話確定是馬老師說的:「我特討厭認真工做的人,工做不要太認真,工做快樂就行,由於只有快樂讓你創新,認真只會更多的KPI、更多的壓力、更多的埋怨、更多的抱怨,真正把本身變成機器。咱們無論多偉大、多了不得、多勤奮、多痛苦,永遠記住作一個實實在在、舒舒服服、快快樂樂的人」。
我以爲後半句說的很是對。
雖然我很喜歡前端,但對於工做,並未達到「快樂工做」這樣的境界。我更承認用心作好每件事。在溝通交流,討論產品,推進業務每一件小事上都須要花心思,而不是隻專一技術。工做必定得用心,最壞的狀況就是懷疑一切,把全部人都當「傻逼」,固然,我也是傻逼。運營可能會把頁面地址當成圖片地址發佈上線,致使網站開天窗;產品有時本身都沒想好就把需求提過來了:「先這樣改,後期咱們再逐漸優化」,這是我見過的最不負責任的說法;UED可能在你作到一半時忽然把整個頁面的風格都換了,而一個小需求則有可能牽扯到好幾個業務部門,致使溝通成本高而效率低下,產品的設計也是運營驅動,常常會有資源替換的方式來讓產品加上一些很不人性化的東西......還有許多相似問題,然而讓人意外的是,It works!
這些問題都很常見,但我真正想表達的不是如何去埋怨這些問題,而是如何去解決它們。
運營出問題說明咱們的系統人性化和易用性還不夠好,需求不穩定多是咱們流程把控有問題,而常改視覺稿說明咱們尚未造成一個成熟的規範,溝通成本低說明咱們的溝通方式有待改進...總之,任何團隊和企業都會有本身的問題,只有嘗試去解決這些問題,纔會少更多埋怨,而且我的也會有更多的成就感。好在,阿里人有點讓我特別欣慰的就是善於總結和吸收教訓,而且會從以往經驗中不斷完善本身。雖然存在少數老員工有種躺在阿里掙錢的感受,但整體上講這仍是一支頗有活力和激情的隊伍,尤爲是運營!真心服!
再說說生活,這一年總體上仍是比較放縱,想買啥就買了,無聊的時候就靠買東西打發時間了,各類書,電子產品,吃的穿的。後來想畫畫了,因而加入了淘寶叼炸天的核物理研究中心手繪技術實驗組(雖然很久沒去了555),而後又喜歡上了攝影,本着堅定不用單反不買iPhone的人生原則繼續玩安卓渣渣機。生活中培養一些小愛好仍是蠻好的,偶爾出去騎車或者參加活動或者旅遊啥的調節下節奏也很必要。至於理想啊目標啊啥的雞湯類的東西就不寫了,畢竟生活這種東西,每一個人的口味都不同。
這是一個很高深的話題,我要開始裝逼了Orz....
一位大神曾經說過,"不會搞藝術的程序員不是好設計師"。
我其實很嚮往這種感受,每當看到一些美妙的設計,都有一種去當設計師的衝動。
然而我如今是一名程序員。
其實...我本來是,想作漫畫家來着。原本我天賦異稟,骨骼驚奇,從小都是左撇子來着,後來一上小學就被老師掰成右手了;原本想考藝校的,然而燒不起因而就去了某科大搬磚;原本是想轉專業的,後來發現寫代碼也挺好玩的因而就掉坑裏了。本身大學時也作過一段時間設計,可是並未堅持下來,如今看兩年前作的海報和APP簡直就跟屎同樣,都很差意思說本身曾經是宣傳部的,慘的一逼。
不過聽說金牛都是天生的藝術家,看來我仍是有機會翻身的。
個人下一個目標就是不只要成爲一名優秀的前端,還要成爲一名優秀的設計。男神說過,設計師的第一步,應該從多看優秀的做品開始,因此,接下來的一年裏打算多培養一下本身的審美意識和鑑美能力。一旦個人計劃得逞說不定還能偶爾打一下UED的臉,想一想都以爲激動!
要說收貨最大的還數前端,我要開始扯淡了Orz....
之前對前端的認知就是網頁三劍客,如今來看着實膚淺。
當年在學校寫的東西,要麼是SPA官網,要麼是微信推廣頁面,要麼是給自個兒用的後臺管理系統,並且沒有完整的測試,沒有線上監控,沒有性能優化,徹底停留在功能層面。來阿里了纔算見識到一個專業前端所要具有的技能。除去全部程序員都具有的編程能力和工程能力,以及協做開發,代碼維護能力,前端在項目技術選型,開發構建,調試和測試,發佈和版本控制,監控及告警,性能優化與安全,視覺交互與體驗等每個步驟均可以作不少事情,這還不包括髮展異常迅猛的前端新技術(各類框架,工具,新的Web API,新的規範和標準),簡直眼花繚亂。之前的前端只須要library,而如今則須要framework和workflow。究其根本,是前端承載的業務愈來愈複雜,須要更強大的架構去支持,若是要你用一句話來描述如今的前端,你會怎麼說呢?
第一年重點仍是業務,主要貢獻仍是支撐了天貓網廳這邊的幾回大促活動和活動組件化建設。業務技術上也是走天貓和淘寶各自的工做流,整體概擴起來就是業務取得了不錯結果,但技術缺少強力輸出。
而後說下工做外的,這一年前端依然涌現出了不少新技術,本身也都是淺嘗輒止。
對於框架,React學了一陣實在不習慣那怪異的DSL,而且只寫簡單demo也沒有讓我感覺到它在複雜應用上的優點,而對業務進行React重構是否真心能下降將來的維護成本我也不得而知;Vue剛學時感受就是精簡版的Angular,簡單粗暴但直接有效,實際用上以後會發現很是優雅;而學習Polymer的時候一會兒就被驚豔到了,感受這就是WebComponent的將來。而後當Atom和VSC火了以後又去看了下Electron,然而又是隻寫了demo;WebVR也是熱情了一陣,本想用A-Frame寫個VR小遊戲的,無奈手機上跑實在太卡,根本無法玩,只能坐等WebAssembly拯救世界了。然而當我一本正經準備去玩WASM的時候,發現將一個簡單的helloworld.c程序從源文件編譯成asm再到wasm後,竟然達到了驚人的114k...而後再看看WebAssembly的Github,我又陷入了懵逼之中,這玩意兒起碼得再過個三四年...
因此最終能深刻下來的基本沒有,更多的像是在玩。玩新技術能加強本身的視野,把握Web的發展潮流,但也會耗費本身的時間,並且真正有收穫而且能造成我的競爭力的東西也不多,業務和技術其實須要相互平衡和促進,這點本身作的還很差,應當控制。
已經不止一次聽人說前端愈來愈難了,我入行晚,你們不要騙我。
前端這幾年確實變化很快,也愈來愈複雜了,可是用」難」來形容總感受怪怪的。多是前端之前太簡單了,因此跟之前的前端比愈來愈難了,可是跟服務端,跟客戶端相比前端只能算是步入了工程化的正軌。說前端難的導火索無非是各類新技術的不斷涌現,可是這些技術歸根到底不外乎4種:
1.開發語言技術。好比CSS,ES6&7,WebComponent等語言和開發層面的技術更新,須要咱們不斷去學習新的東西。可是語言級別的技術迭代是每種程序員都要面對的,像Java,C++,C#,Swift每一年也都在不斷更新,但從未聽客戶端工程師說愈來愈難了。
2.各類開發框架。好比React,Vue.js,AngularJS,Polymer這種前端開發框架的不斷涌現,其實都是爲了解決日益複雜的業務以及不一樣的用戶場景而生的。類比起來就比如當年後臺的SSH架構,或者客戶端的MFC和WPF。這些技術一般有良好的學習文檔,並且工程性很強,若非深刻研究,上手難度其實並不高。
3.Web能力的擴展。包括瀏覽器不斷開放的更多接口好比藍牙,電池,本地存儲,service worker,Houdini等新的API能力,以及像WASM這樣的底層優化技術。然而這種類型的技術你要你認真去看標準文檔學習其實也還好。
4.衆多的開發工具。好比Grunt,Gulp,Webpack,npm,eslint,mocha這樣的開發工具。除了深刻研究或者本身造輪子以外,對於工具的使用基本上認真學習下官方說明和配置教程就能夠很快上手了。
能夠看到前端的技術層面都是偏上層,大部分技能均可以在一週或幾周內掌握,對於一個毫無計算機專業基礎的人來講成爲一名前端的學習曲線要比成爲一名後臺的學習曲線低,惟一不一樣的是看到前端這麼多技術點一開始可能會懵逼。
因此對比其餘工程師來看,技術和編程的本質並無變,只是前端變得更加工程化,更加專業化了,前端只要打好基礎技術再怎麼變也不會太難。
有趣的是,比起變難,我一樣不止一次聽到有其餘端程序員說前端風氣很浮誇,沒有技術含量。
很顯然我也不贊同這句話,由於有沒有技術含量跟你的職位並無強相關,而是取決你學習和研究的深度。而且,我認爲一個好的前端綜合要求會比其餘工程師更高。好的工程師不會停留在技術表面,而是深刻其原理,這也就意味着一名優秀的前端工程師在技術上除了要應付不斷更新的新技術,還要具有深厚的專業理論基礎,同時在視覺上還須要必定的審美能力,在產品和交互上也須要考慮到各類實現細節和用戶體驗問題。從項目角度來看,前端處在一個面而非一個點,這是全部其餘工程師都不能比的。
若是把工程師分爲工程應用型和技術研究型兩種的話,前端必定屬於前者。因此必定要說前端難的話,我認爲難的不在於技術,而是如何用有限的技術將產品和服務作到極致,這纔是咱們最須要關心的。
從需求上來看,前端工程師的需求這幾年一直很旺盛,隨着前端能力的不斷拓展,技術要求愈來愈高,我相信在從此的幾年中確定會持續旺盛下去。從近幾年的發展趨勢來看,產品開發的重心在不斷往前端轉移,前端承載的東西也愈來愈多。到最後後端和客戶端極可能只提供服務和載體的功能,技術重心會轉移到前端,甚至連業務也會剝離到「前端」。這時候的「前端」確定跟如今的前端有所區別,可能更接近全棧一些。由於從業務開發角度來看,全棧的前端,可以作到技術上的先後端分離,業務上的先後端融合,這樣既下降了溝通成本,也保證了項目的可維護性,這樣的工程師應該是企業最想要的吧。
從技術上來看,web技術一直在迅速發展,整個技術環境也變得更加開放,這將使前端一直保持活力。這點從各大browser vendors的表現就能看出來。這一年整個web界都散發着open的氣息,微軟放棄IE斯巴達Edge了;谷歌在今年的I/O大會上力推PWA,指明瞭Web發展的方向;就連一貫封閉的蘋果在今年的WWDC上也更加開放了,激進的Safari10竟然號稱徹底支持ES6(ES6才正式發佈一年吶),還支持3D touch!(去年末曾寫過一篇文章預測Web極可能會支持壓力感應事件,不到一年就出現了,這速度確實驚人)
這種高速發展其實有好也有壞,野蠻生長,盛極而衰,最終仍是得由程序員來收拾爛攤子。W3C爲Web的將來操碎了心,制定了一個又一個標準,在這野蠻增加的時代和衆多的標準當中確定會有一些奇葩,就好比Houdini。這幫人爲了解決CSS兼容問題竟然又引入了一個新的標準,開放了瀏覽器渲染路徑,試圖用新的標準去解決舊標準不兼容問題,那麼問題來了,我要拿什麼來兼容這新的標準...斯認爲,Web發展的當務之急就是火狐,蘋果,谷歌,微軟這幾個W3C巨頭拆掉各自的瀏覽器研發團隊,下降分裂帶給全人類的傷害,而且集結衆人之力,成立一個W3C瀏覽器聯合開發大隊,就叫Internet FireSafarome!
固然我是在扯淡,整體上,Web技術的發展會不斷加強前端的能力,前端的邊界會不斷拓展,不只僅只是Node.js,還會擴展到WoT,甚至是網絡所能達到的任何地方。前端將來必定會細分出更多職位,形勢一片大好。
深耕技術,務實基礎,少耍流氓多看書。
也指望本身能有更高的眼光去發現美的東西,等過了一年再回頭看本身作的東西就跟屎同樣,屆時不會由於碌碌無爲、虛度年華而悔恨,也不會由於爲人卑劣、生活庸俗而愧疚.這樣總結的時候就可以說:「我已把本身整個的生命和所有的精力獻給了世界上最壯麗的事業!」