2012.07畢業後,進了一家遊戲公司作運營策劃,寫過營銷方案、作過內容編輯、知道廣告投放和換量,還得兼職產品經理畫原型。 天天9.30-23.00之後,週末常常加班,像無頭蒼蠅同樣碰撞一年後,我沒有任何成就感,我開始思考本身天天作的是什麼,未來會作什麼,作的這份工做是本身喜歡的嗎?在這個領域上未來會有所成就嗎? 一、重複而繁雜 => No,我喜歡專心研磨一個東西,直到作好它 二、各類會議和無數遍的方案修改 => No,我作事的時候不喜歡被打擾,但這並不妨礙我是個喜歡交流的傢伙 三、表面上付出了無數心血的產品,到頭來講不出它哪些地方屬於你 => 很可悲,螺絲釘,物質和精神上都沒有獲得回報 四、我的成長,想總結本身畢業一年的提高,除了滿口的流量、DAU、PV等詞彙和一套又一套的運營方法論,發現居然都是一些很虛的東西(至少在當時的我看來是的) 五、高強度而無原則、低效率的加班javascript
基於以上等等,從2013開始,我不斷的審視本身,我本身是個什麼樣的人,我喜歡作什麼,我適合作什麼,我會在什麼領域有所成就前端
一、我常常會爲了研究一個東西廢寢忘食,投入而專一 => 貌似適合作技術 二、我能堅持作一件事情,不會三分鐘熱度 => 貌似適合作技術 三、我大學很喜歡搗鼓跟電腦相關的東西,從軟件PS、AI、ID到優化電腦系統到重裝系統到最後本身組裝電腦 => 貌似適合作IT 四、個人舍友是後端,在我搗鼓第三點的時候他已經在幫學校和外面的公司寫系統了,我很崇拜他,但大三大四讀了《人人都是產品經理》,崇拜歸崇拜,畢竟仍是經理比較有吸引力,年少無知隨大流 五、我是985通訊工程專業,好歹見過C語言,知道數據結構,上過計網 => 這不明擺着去作開發的意思麼vue
綜上所述,我看到面前清清楚楚的寫着三個字:程序員 再加上詢問了一些朋友和同窗的意見,2013.09.01開始在家全日制脫產自學,從前端開始……java
嗯,自學開始,怎麼學呢?node
我並無一股腦就開始學python
這裏得感謝第一份工做對個人鍛鍊,我利用了產品思惟來看待這件事 目標:4-6個月找到一份前端工做 核心技能:HTML、CSS、Javascript + 一個框架(Vue)+ 一個項目react
確認好需求後,我利用思惟導圖把這三個模塊進行了需求拆分和梳理,每一個大需求下要學的是什麼,特別是最核心的模塊-JS 而後是尋找合理快速的學習方法,我瀏覽了不少關於如何自學前端、前端推薦書籍、前端知識體系等等方面的內容,最後總結出來我要作的事:看視頻快速入門 => 看書紮實基礎 => 大量敲代碼實踐,期間不斷積累好的博客資源,吸收前人的經驗,特別是github(懂的天然懂)webpack
但其實,前面的我並無消化多少,對新手來講 《Javascript DOM編程藝術》 《Javascript面向對象編程》 這兩本書我以爲是比較合適的,其餘的書都有它對應的階段,強讀不來 《Javascript高級程序設計》真是一本好書,入門後就值得不斷的翻看了git
到如今工做一年了,個人桌面上常備《Javascript高級程序設計》+《You don’t know JS》系列,閒來無事就翻一翻,我的以爲進階必備程序員
大學折騰過科學上wang,看得懂hello world的英文水平(大學過完六級後就扔了)……在牆外發現了一些新世界:Google、Medium、Youtube、Twitter
四個月後的我,能寫靜態網站、JS基礎能隨口胡扯一點、會Vue的基礎使用(對,爛大街的仿餓了麼Web App)、用github page給本身作了個在線簡歷
這段時間留下來的積累是30多張知識腦圖+50篇博客(不是如今github上的)
花了一個月去面試,這次省略一萬心酸字,最終入職一家理想的互聯網公司,產品技術驅動、最新技術棧、leader和同事是985大牛、技術氛圍很nice、效率至上965 回想起來當初的本身真滴是渣渣,肚子裏那點東西一眼忘穿秋水,換作如今我是面試官,說不定本身都會搖搖頭 面試時獲得的反饋:能學到的東西叫技能,花時間就能學會,咱們要的是有自學能力和技術熱情的人。 很感恩如今公司的CEO和前端老大,或許由於中大華工一家親?
6.1兒童節當天正式入職,對我來講,還有個特殊的意義:在前端路上,我只是個兒童,剛剛開始蹣跚學步,將來路很長……
剛開始是內部管理系統的開發,vue對新手小白真的很是友好,過分平緩 而後寫了兩個星期的微信小程序,妥妥的練了一把手 緊接着就上了公司的react-native大船開發App(公司核心產品),一開始真的是一無所知,幸得leader炒雞耐心,簡直手把手有木有,在react的路上越走越遠…… 加入RN-App項目後,我花費了大量的時間去熟悉項目 加上我很喜歡從大局看問題,想掌控一個項目,因此不斷的嘗試如何從零搭建項目、移動端打包測試、項目部署、App Store提審等等流程,所有本身跑了一遍,有時候不懂的就直接拉着leader教本身,在此過程順便了解了下gulp、webpack、Xcode相關操做 從添加小功能 => 負責獨立模塊 => 宏觀掌握App => 參與重構 很快我就對react技術棧的使用駕輕就熟,但並不知足於此,開始研究數據流、項目性能優化、總結踩坑,開始去了解virtual Dom和diff算法,順遍入了閱讀react源碼的坑(路漫漫其修遠兮,吾將上下而求索),結果發現redux的源碼更簡單一點…… JS基礎和框架刷累了,又跑去寵幸一下網絡相關,HTTP、緩存、瀏覽器等張口就來,滿口性能優化卻又無從實踐,不幸還發現了事件循環這個東西,又趕忙跑去系統擼了一遍異步
大半年後,公司前端方面的業務都已經駕輕就熟,功能開發和維護什麼的都已經不成問題,這個時候的本身其實有點小竊喜了,感受本身在前端方面有點無所不能的感受,貌似只要有後端的接口,什麼頁面都能開發 幸虧本人一直保持着一顆敬畏的心和危機感,立刻意識到本身處於溫馨圈了,必須得想辦法打破它,給本身敲一個警鐘
趕忙對本身進行總結:其實本身僅僅知足於獲取數據渲染頁面,就已經開始自我陶醉了
在面向內部人員的管理後臺上,不太考慮性能優化、兼容性(只用chrome)、美觀等,那麼是否應該在開發複雜應用功能、優化權限系統、提升開發效率上下功夫呢? 在面向用戶的App和web頁面上,性能優化、兼容性又成爲了核心要素
這時候很想試一下react同構和服務器端渲染,據說能解決白屏,大大提高首屏加載速度,但遲遲未和後端同事找到機會試,這時候就對後端的知識蠢蠢欲動,想本身動手
其實前端就夠本身吃一壺了,加上node帶來的各類工具,還有數據結構與算法、服務端、數據庫等等,有點貪心不足蛇吞象,草草刷了一遍node擼了幾個express的demo妄圖通吃後端,卻沒練過實際項目,花了兩天學完了python語法,殊不知所措……
越學卻愈加心生焦慮,學的越多,發現本身越無知
學啊學的,某天終於悟出了一點道理:百藝通不如一藝精 每天聽別人全棧全棧,這學一點那沾一下,太浮躁了 還不如在前端這個領域往下深耕,紮實基礎,T型縱向深刻,等時機成熟了,一點點去擴展服務端的知識,橫向面的寬度很重要,但急不來,只有把目前所作的東西給擼清楚了,留下本身的思考和沉澱,才能爲長足發展打下厚實的基礎。
若是你們對於學習前端有任何問題,學習方法,學習路線,如何學習有效率的問題,能夠隨時來諮詢我,或者缺乏系統學習資料的,我作這行年頭比較久,
自認爲仍是比較有經驗的,能夠幫助你們提出建設性建議,這是個人web前端交流qq羣851231348,有任何問題能夠隨時來諮詢我。
再加上跟一些羣裏的大牛虛心請教,給本身確認了一些打基礎的方向,也是接下來的長期方向
做爲前端
做爲程序員
以上幾點都須要沉下心來,一點一點去積累,急功近利不得。
總結起來,這一年裏有幾個關鍵詞:勤奮、養生、學英語、輸出、雜學
這一年裏,在本職工做以外,我貌似活成了一個很「正能量」的人 公司九點半上班,我八點就到公司開始看書學習(家裏離公司單程地鐵一個小時,沒錯,我天天6點多起牀),下班後或者週末,不是在家裏就是在公司學東西
天天六點多早起了,那天然是得早睡,11:00-11:30睡覺,最晚不敢超過12:00,對於一個程序員來講,是否有點unbelievable 晚上下班回家後會去健身房或者家裏旁邊的籃球場練球 週末的話,雷打不動至少有一個下午打籃球,堅持了10年的籃球 身體是革命的本錢,尤爲程序員這種物種 另外,我幾乎不吃外賣。
不知從哪一個時間段起,發現常常要讀英文文檔,google和stackoverflow都是英文的,不少好的文章和博客都是英文的
決心把本身的英語撿回來,而後開始天天記單詞、閱讀英文文章、嘗試無字幕看美劇或者電影
推薦一個叫Anki的軟件,對於記憶內容很是有幫助,建議入手嘗試一下
輸出很好理解,就是寫博客,堅持寫 我充分利用了bear、MindNode、Axure、github這幾個工具 把本身所學所想所思的內容都沉澱了下來。
對於雜學這個詞,我想了好久,其實這個詞很差,有點相似上面說的,啥都學一下,啥都不會
其實我真正想表達的是:我擁有對新技術的好奇心和熱情,會主動關注最新技術趨勢。對知識擁有飢渴感,之前端爲中心發散開來的技術領域,我都會保持關注,但不只限於前端,給本身的定位應該是解決實際問題的工程師,前端只是我目前的一個職業。
對於接下來要學什麼,上面籠統的寫了個大方向
做爲前端
做爲程序員
仍是給本身一個一年內的目標吧 一、繼續react源碼學習(學有餘力就把vue的源碼也學了) 二、學Node,並用Node+react(vue)寫一個完整的先後端項目 三、把《算法》第4版啃完
時隔一年,多虧本身有寫東西的習慣,還能勉強寫個總結 新的一年,但願本身能更上一層樓 雖然本身起步晚,但有句話:種一棵樹最好的時間,一個是十年前,一個是今天,不要被這個事情影響 另外,堅持是制勝法寶
有人會以爲,大神們纔有資格寫學習心得,你算個什麼東西,你的資歷呢,請先show出阿里騰訊的5年經驗!
我的初衷,寫這一part是把本身這一階段的學習態度、方法、心得記錄下來,可能哪天本身回頭審視的時候,發現這個階段其實有點學習方法是錯誤的,那麼也能及時更正本身。重點:這是我本身的學習方法 另一方面,目前的確還有不少小白還苦惱於如何學習,但願能有幸對這一羣體有點點幫助,那我也是作了好事,算回饋社會了吧。 因此,大神們請繞道啦
請充分利用好下班時間
若是你是996,加上通勤就沒有本身的時間了,徹底沒有下班時間給本身充電,我建議仍是儘快換一家公司
大部分狀況下(除了項目上線+短時間內敏捷開發),這些加班都是無謂的消磨時間,試想一下,六點半,感受下班了,點個外賣或者出去吃飯,這裏起碼得消耗一個小時吧,七點半到了,吃完飯休息一下,這時候大部分人的心理是想着反正還要加班,吃完飯休息一會,找個娛樂活動,看會抖音、頭條、鬥魚、動漫,就半個鍾……八點到了,進入工做狀態,離9點就剩一個小時,即便全程投入,有效加班時間也就一個小時,反正我是不相信白天的八個小時內沒法經過提升效率和專一力來彌補這一個小時。 若是你說常態要加班到十一點以後,那麼復出的就是身體的代價了,還有前途。工做時間的業務驅動,每一個人都會有,你想比別人更有優點,就要利用工做以外的時間。 程序員是靠技術吃飯的,若是沒有工做以外的時間來增加技術,還要賠上大量時間,你很快就廢掉了。
請利用好下班後的那一兩個小時,日積月累,你會看到不同的本身,一萬個小時理論。
as for me,除了利用下班時間,我還有早上的一個多小時能夠靜靜看書,不受任何人影響。還有一個隱形的優點,吃的健康睡得早,我天天都精力充沛,因此我能保證白天的工做效率。
一、列好todo list,分好優先級,作完一個劃掉一個,好比這樣
二、工做一段時間起來休息一下,這是爲了確保你下一個工做時間段更有精力,番茄工做法瞭解一下
計算機、軟工的科班好學生能夠忽略,我是轉行的,因此我須要大量補基礎 不僅僅是JS基礎,還有網絡、算法、服務端等等等
若是是學習新框架或者其餘工具,請第一時間看文檔,有代碼的地方就對着實踐一遍,別人的博客最起碼也都是第二手資料了 官方文檔做者是最瞭解這個東西的人,你不問他問誰? 遇到問題,也請第一時間查看官方文檔,再看其餘
普通程序員+google = 超級程序員 國外真的有很多好的資料,Medium、Youtube、Twitter請了解一下,github上也大部分是英文的 國內大部分資料都是二手的,除了慢,還有翻譯是否準確的問題
想要吸取國外的精華,學好英語相信是毋庸置疑的
還有,不會英文你可能連報錯都看不懂,還有google+stackoverflow的超級組合咧
學英語其實比學編程簡單多了,並且產出比很是高,你能夠從裝翻譯插件開始 你只須要堅持背背單詞+強迫看一段時間的英文文章,技術詞彙就那麼點,很快你就能看得懂了。
這一點上,請相信我好嗎,你不會後悔的。
我的搜索問題三大步驟,請放棄百度,擁抱google,查看順序 一、官方文檔+github 二、Stack Overflow 三、國內答案、博客、其餘
搜索不出來後,能夠求助於同事或者朋友,請準確描述問題 不要沒搜索過就問人,反正我就會很反感這樣的人咯,別人的時間也很寶貴的
這一個,更多的是一個思惟習慣 也是提高本身最關鍵的一個步驟
具體怎麼作呢? 若是初中高中有作過錯題本、喜歡作筆記的同窗,特別是理科生,可能會比較容易理解這一塊
最笨的方法,先從記錄bug、寫博客開始,得先有一部分的實踐與素材才能開始整理概括 而後慢慢概括同一類問題,同一類優化方案 至於更高層次的觸類旁通,就要看我的積累與沉澱了
其實這一步也不難,對嗎,也就是多寫寫,記錄記錄而已
另外就是,看了別人的博客文章,也能夠記錄下來,做爲本身的經驗所用 踩在別人的肩膀上,你會看得更遠 若是踩的是巨人,那就更好了
最後
若是你以爲這篇文章不錯,請別忘記點個贊
跟關注
哦~