面試的時候候選人常常會被問到,"爲何要從事前端這個職業?",特別是你的履歷中以前是作別的崗位甚至是別的行業,而後又轉到前端崗位的時候,就更會勾起面試官的好奇,我被問到過這樣的問題,也問過別人這樣的問題。大部分的回答能夠總結爲:"興趣",也有少部分同窗會有以下的答案:"前端比其餘崗位好入門"、"前端如今很火,賺錢不少"等等...css
固然若是在其餘條件基本一致,HC 又有限的狀況下,我會優先選擇感興趣的同窗,由於這部分同窗會擁有更持續的動力繼續專研下去 ...html
可是面試官爲何會問這樣的問題呢?前端
那這就要看你是在第幾面被問到這個問題的,頭一面可能大部分狀況下是知足本身的好奇心,越日後,大部分狀況下,面試官可能想聽到的就是你對本身職業的規劃或者是理解了 ~~ 這時候的答案可能就會豐富多彩了 ~~ 固然大部分狀況下可能依舊是 "感興趣" 😝😝😝 ~~java
實習時作現場實施(偏技術運維),轉正後 java 開發,再以後作前端至今,正由於這樣的"體質",讓我無形中具有了"百分百被問爲何轉前端"這樣的被動技能。react
轉前端至今將近四年的時間,對前端的認識從最開始的懵懵懂懂到如今發生了很大的變化,對本身的職業規劃也愈來愈清晰(迎娶白富美,走向人生巔峯!)。git
在大學期間就對有視覺衝擊的東西更感興趣,以後就是以爲寫 html + css + js 實現的東西比寫 shell, 寫 sql, 寫 java 更能給本身帶來成就感,而後就是在作了 1.5 年的 java 後帶着自學不健全的前端知識體系義無反顧的轉了前端崗,也是從那時起真正領略到了前端的魅力,接觸到了正規的前端工程化,今後沒法自拔(儘管與大神相比,本身成長緩慢) ~~github
前兩年的職業規劃就是沒規劃(無心識),就是各類健全前端的知識體系,固然這個事情目前依舊在進行,而後就是癡迷工程化,開始以爲很神祕,遙不可及,當知識積累到必定狀況下,寫了一些 "玩具" 性質的工具後,慢慢的也有了一些本身的認知,再後來本身設計了一套前端工程化的方案 pandolajs,旨在爲前端同窗提供一種沉浸式的開發體驗,這也是我目前以及將來業餘時間會一直去維護與實踐本身理論的東西。面試
最開始 pandolajs
是想圍繞 react 去打造工程化的,可是不少東西都是在公司項目中實踐完後,但因爲僅是本身一我的利用業餘時間維護,其實主要是本身懶,因此從實際項目中抽象出來進行開源,react 工程化的進度就比較慢。算法
後來公司開始搞微信小程序,爲了能提供一套高效的小程序開發工做流,因此基於 pandolajs
整理實現了小程序腳手架 pandora-boilerplate-wechat, 感興趣的能夠看看個人另一篇文章 一款小而美的小程序腳手架,讓你更流暢的開發小程序 因爲在公司實踐的時間比較長,因此目前是使用起來也比較流暢,也是目前我以爲比較好的一個做品。sql
在 pandolajs
的實踐中讓我對工程化有了更深的認知(後續整理),也讓我對本身的職業發展有了更清晰的規劃,固然也發現了 pandolajs
最初設計中的諸多不足,因此目前這套方案中全部的 packages 都處於 0.x, 最近在參考了其餘開源方案後,正在進行 1.0 方案的設計,徹底重構以前的架構(嚴格來講,0.x 沒啥架構),讓 pandolajs
更具擴展性,把以前沒有作完全的事情作好,固然也會對 0.x 中的腳手架提供方便的兼容方案。
跑遠了(廣告預熱),回來繼續聊規劃,在實踐中,讓我對本身的職業規劃更加清晰。
我一直信奉這樣的信條:「技術是爲業務服務的」, 脫離業務的技術是沒有前途的,因此 pandolajs
的初衷就是 提升開發效率,以更低的成本,更快的節奏支持業務
,一開始我只是想作一條"流水線" 可是如今我想圍繞這條 "流水線" 打造一個生態,由於僅僅是一條 "流水線" 根本沒法完全的低成本高效率的支撐業務,可是這兩個事情有徹底不是一個量級的,"流水線" 可能經驗豐富的的工程師就能完成,可是一個生態,就須要有一顆 "強大" 的心臟(內核),至少要有搞擴展性,即完善的二次開發的 API, 就目前市場上的一些方案,就是提供插件能力,或者中間件能力,要實現合理的設計,就不只僅是豐富的經驗了,更須要有更專業的設計能力,更完善的知識體系。
要達到上述的 Level, 我要作的第一步就是創建更完善,更底層的知識體系,因此將來兩年的規劃就是:
說白了不在拘泥於上層 DSL 的學習,儘量多的去修煉本身的"內功"。新建 daily 這個 github 倉庫中更新個人學習計劃,週日進行本週的總結與下週的計劃。
不論是工程化仍是生態圈,目的都是 低成本,快節奏
。低成本就是要爲業務的運營提供自給自足的平臺,換句話說就是讓本身失業,快節奏就是豐富平臺中的素材(組件,功能模塊,api 等等)。
要實現上述目標,僅僅靠使用已有的上層應用(高級語言,框架 ...)是不夠的,咱們必須具有發明上層應用的能力,編譯原理提供了可能性和靈感,深刻學習能讓其成爲可能。
複雜底層的實現,沒有深厚的數據結構與算法功底沒法實現高效可用的系統,這個自不用多說。
要想實現上述的目標,並參與其建設,上述能力不得不成爲本身信手拈來的技能 ~~