近期都遊蕩在各大羣裏看你們的討論,常常看到關於程序員生涯的一些討論,很有感觸,最近的國慶的確過得有些墮落,都沒怎麼更新,仔細相信仍是應該分享點經驗給你們的!想必你們都經歷過面試,這是進入一家公司的必要門檻,面試官總會問「你的職業規劃是什麼」,那麼你怎麼回答? 技術經理,項目經理,架構師,有時候這些回到不是你想到的,而是你身邊的人說多了,就脫口而出。javascript
咱們爲什麼須要職業規劃,我在以前的文章中有說過,咱們程序員不可能寫一生代碼,咱們不是在美國,在美國你就算50多少,60多少也能頗有底氣的寫代碼,可是彷佛在中國,你幹到40歲還在寫代碼,也許會被人瞧不起。見過不少30歲不到的程序員,會由於這樣而困惑,可是人生必經年輕,不少事情值得努力php
每次有人說迷茫了,大多的緣由就是本身到了瓶頸,不知道該如何突破,不論你是FEer仍是BEer,都會這樣,技術這個東西只能慢慢去摸索,去查閱國外文檔,看源碼, java或者js,都同樣,這個時候你付出的努力也許是別人的10倍,小編我在一個QQ羣中,成員大多都是剛畢業的,或者還在學校的,極少數有個一點工做經驗,那些人,很努力,對技術充滿熱情,整個國慶,沒有一天是停下來的,都在討論問題,有時候夜間出來噓噓都能看到手機qq羣裏還在討論着,每一個人都有過這樣的熱情,當初的我也是同樣前端
好吧,好吧,今天咱們不談後端,聊聊改如何提高本身的前端技能java
初級前端:node
假若你只是想學好JS的一些簡單技能,那麼預解析、做用域、做用域鏈、|| &&、原始類型、引用類型、閉包、for循環、多重for循環、遞歸、原型鏈、繼承等等,這些使用原始javascript來寫的代碼,必須會,曾經我寫過純js代碼,不用任何的框架,這樣,很是鍛鍊人,並且純js在將來很是持續,聽說微信小程序就是如此python
這些技能必須學會!靜下心來慢慢寫,慢慢實現,慢慢去了解,好比你用一個禮拜的時間弄懂「this」這個用來幹嗎的,不要問我爲什麼要用7天,7天的時間理解this很正常,你能夠多些不少代碼來了解他,去查閱相關資料,this,在任何面試中,我是必問的,這些你不學,永遠入不了門。好好打好js基礎,這個纔是最重要的jquery
高級前端:android
回調函數,綁定,js面向對象,封裝、異步ajax、學習算法、設計模式等。這條路很是長,不是一口氣吃成胖子,對於這個,沒有捷徑,只能經過本身的努力去學,去作。最後你在去看一些框架的源碼,好比backbone,angularJS等等ios
技能拓展:程序員
現在的先後端調用,不只僅是HTML與後端,也有手機端,因此,瞭解HTTP的協議是必須的,還須要瞭解必定的後端技能,好比nodejs(這個算是前端了)、php、python、java等等、只須要了解就行,固然你若是要作全棧,能夠都學,只有時間充足。
HTTP,restful,設計模式,算法,這些在現在互聯網開發中都會用到,並且是通用的,不管是手機端仍是HTML與後端交互,好比一個圖片上傳,一樣一個接口能夠同時被js,android還有ios調用。
小編我沒在這裏沒有提到各類JS框架,由於小編我也不太會,我僅僅只會的jquery,backbone而已,固然我沒有說哪一個重要哪一個不重要,搞懂了,其實都同樣,都通的,好比後端開發人員精通了struts後,再學習springmvc後那就簡單的一比,由於大部分框架的核心都是差很少的,學會思想,學會如何運用便可。
另外,做爲一名前端,要關注新技術,移動互聯網發展如火如荼,甚至幾天就能出一個js框架,你能夠不會,可是須要關注,能夠去國外相關網站訂閱一些有用的資料,天天會以郵件的形式發給你,雖然是全英文的,可是也值得一看。
像CSS/CSS3, HTML/HTML5這個我就很少說了,玩前端是必須會的,瀏覽器兼容啦,響應式佈局啦,等等
下面這段引用我遠在美國的王組原話:
不論你是前端仍是後端,總會有一些問題是你須要考慮的,比方說:
無論開發平臺,開發語言,框架如何變化選擇;無論你是選擇JAVA/Servlet, Ruby/Rails, Python/Django, NodeJS/Express, 你都會面對一些任何平臺,任何語言,任何開發都會面對的問題。
0. Logging system怎麼作,什麼樣的信息須要被log,用什麼工具去分析log。
0. 分佈式下的application session 如何管理,store in memory or db? session sticky or non sticky?
0. Services層的粒度如何劃分,如今流行的microservices粒度劃分到最小,那麼service與service之間的通訊怎麼作
0. 通訊問題又牽涉出最基本的IO,blocking IO, non-blocking IO, asynchronous IO.
0. 一套完整的業務流程可能要通過多個services, 這就牽涉到跨服務的事物問題,如何保證事務的一致性,強一致?最終一致?
0. DB 要如何部署才能應對高併發,高性能,還要保證容錯,可擴展。如何應對多數據源,若是作到多數據源對sevices透明化。
0. RDMBS OR NON-SQL?
0. DB cache怎麼作,熱點數據緩存仍是所有數據緩存,緩存服務器會不會成爲性能瓶頸,分佈式緩存策略如何作,如何保證可擴展性?
0. 大型網站天然也須要引入search。
0. 大數據時代如何對這些數據作挖掘,作用戶個性化定製
0. 人工智能?Machine Leanring?
前端技術,高性能我的電腦的出現,多終端的普及,給前端技術也帶來了很大的發展和挑戰
0. 優化優化再優化,節省用戶資源,尤爲是手機端要減小通訊交互
0. MVC,AngularJS, Backbone
0. jQuery? 有人說過期了,不會用最新的React不是合格的前端工程師?
0. SASS, LESS,BEM,連CSS都要面向對象了。
0. 各類UI plugin.
0. 一次性頁面render VS 多點AJAX 互動。
0. SEO
最後要說的,不忘初心!鍥而不捨!