開始
不知不覺發現本身已經快30了,古人說三十而立,在這個歲數是應該找到本身安身立命之本了,可是此時此刻的我感受確十分迷茫,爲何?由於我是個程序員,是個小前端開發(哈哈哈);正如同不少前端開發那樣,迷茫的是前端開發將來的出路是什麼?前端
技術or管理
不少人面試的時候,十有八九都會被面試官問到你的職業規劃是什麼,籠統歸納,通常都是:有人繼續想深耕技術,有人想帶人作管理。這也是大多人可以想到,或者說可以達到的一個將來發展,那麼從本身我的的角度來分析,技術路線or管理路線,哪一個會更加適合本身。node
技術路線
前端這幾年發展十分迅速:jquery
- 前端框架從jquery到mvc,再到mvvm框架;
- 開發語言從coffescript到es6/7,再到ts;
- 腳手架從grunt到glup,fis3,再到webpack等等;
- 領域也從傳統web前端,到服務端(nodejs),到移動端(rn,weex),再到桌面(electron);
既然發展那麼迅速,涌現了那麼多新的技術,爲何前端危機感仍是十分之大尼?android
- 前端技術入門檻依然比較低,這對於一項技術來講或許是一件好事,可以讓更多的人進入這個領域;
- 前端技術天花板也比較低,固然這個觀點不必定你們都贊成(畢竟前端有nodejs,有webgl,這些技術天花板並不低);
- 前端技術離核心業務和數據太遠,這其實與管理路線關聯更加之大,不過這裏既然談危機感,就不得不提到這點;
- 最後一點,在移動互聯網時代,web前端並有分享到這塊大餅(緣由不少),因此一樣是客戶端技術,安卓/ios開發在公司話語權都比web前端要大(畢竟江山都是他們打下的),甚至有的公司會把web前端納入到安卓/ios客戶端管理裏面去。
如今再慢慢分析爲何會有這些問題:webpack
- 入門門檻低;js自己就是一門很是容易學習的語言,甚至我我的以爲之後小孩子入門編程,均可以從js上手;js發展曾經一度十分滯後,不少語言特性都是最近這幾年瘋狂打補丁上去的(async/await,es module等等),其實這一點也成爲後面nodejs發展的一個隱患;對於js這門語言,我以爲有一個更加大的隱藏殺手是webassembly,不知道爲啥,不少人都以爲wasm不會對js形成多少的衝擊,他們的理由大都是引用文檔(wasm是js的一個補充並不是替代),wasm當前沒法直接操控dom;先不說wasm是否是js的一個補充或者替代,畢竟使用用技術的是人嘛,你想要替代就替代補充就補充,歷來不須要受文檔限制;但可能最根本的一點就是wasm沒法直接操控dom(目前仍是要經過js間接操做,會抵消wasm的性能優點),這也是大部分jser以爲能夠高枕無憂的一個緣由,可是從wasm發展目標來看,直接操控dom會有的,gc也是會有的,只要有那麼一點可能性其實都不該該掉以輕心。
- 前端技術天花板比較低,若是是過往幾年或許沒人會反對,可是最近這幾年前端發展迅速,觀點就有點變化了,因此最近這幾年,前端把js關聯的技術:nodejs,rn等等都歸入到前端範圍了;這固然有了新的技術,也有了新的領域,咱們的技術天花板又提升了一些;可是我我的認爲,大前端最大的問題是整個都是圍繞js生態的,js生態強天然就會有市場,因此關於第一點,wasm會不會動搖這根柱石真的很難說;並且咱們看到前端的一些技術選型通常也是以圍繞js去選的,搞服務端就找nodejs吧,別無二選,甚至願意花費精力從零開始搭建一些監控或者發佈平臺(其實我的瞭解的一些公司確實沒有成體系的nodejs開發設施);搞移動端跨平臺吧,選rn,weex,也基本無視flutter這樣的框架(以前不少人吐槽就是dart不是js,還要多學一門語言);我我的感受前端如果想把技術的天花板提得更高,或許須要跳出js的生態圈,有時候背靠後端團隊,或者android/ios團隊去選型技術會更好,爲啥搞前端搞後端開發就不能選個go,移動端搞跨平臺就不能選個flutter,從技術評估來講,上手難度也不高,將來幾年發展潛力也不錯。
- 前端技術離業務比較遠,這個幾乎沒法反對了,因此感受在第二點的時候,有些團隊會強力推行落地nodejs,其實nodejs能不能在服務端開發佔有一席之地,某乎上也是撕逼了好久;不過尼,我所瞭解到的,有成體系node開發的公司真的很少(也多是我孤陋寡聞吧);因此我纔想到,若是咱們落地nodejs這項技術,若是目標是爲了接觸到業務的核心,或許大可沒必要選nodejs做爲切入點(固然前端選nodejs,徹底合情合理),選個go語言也不錯,學習成本不算高,也沒有太多歷史包袱,或許你的後端團隊或許也已經有計劃或者已經在利用go搞些項目在開發,徹底能夠共同交流,共同建設基礎設施(這多是個人我的一廂情願的想法,哈哈哈)
- 移動互聯網時代,前端開發確實沒有吃到這塊大餅,畢竟咱們的體驗一直比不上原生開發,不管是使用體驗仍是功能特性;但願最後半場,咱們這個機會遇上吧。
總的來講,走技術路線,若是一直圍繞的js來走,感受未來會愈來愈窄;或許多作一些其餘技術的儲備更加好。ios
管理路線
管理並非本身擅長的領域了,可是我知道的時候人的管理有時候會比代碼難寫多了;不過尼,前端開發當前端技術的管理是能夠的,可是當項目組的技術管理,這個你們都知道,項目組技術的管理大可能是後端出身,畢竟剛剛也說到,後端開發更加接近核心的業務和架構;還有做爲技術出身,是不該該選擇純管理的路線,除非在一家至關穩定的公司;感受更傾向於技術+管理這種路線,既要保有本身的核心競爭力,又要拓展一些本身的附加能力。程序員
結束
說了那麼多,其實仍是沒有一個很明確的結論,只拋出了問題,或許往後我會知道答案吧。es6