一、Why choose front-end
2012.07畢業后,進了一家游戲公司做運營策劃,寫過營銷方案、做過內容編輯、知道廣告投放和換量,還得兼職產品經理畫原型, 每天9.30-23.00以后,周末經常加班,像無頭蒼蠅一樣碰撞一年后,我沒有任何成就感,我開始思考自己每天做的是什么,將來會做什么,做的這份作業是自己喜歡的嗎?在這個領域上將來會有所成就嗎? 1、重復而繁雜 => No,我喜歡專心研磨一個東西,直到做好它 2、各種會議和無數遍的方案修改 => No,我做事的時候不喜歡被打擾,但這并不妨礙我是個喜歡交流的家伙 3、表面上付出了無數心血的產品,到頭來說不出它哪些地方屬于你 => 很可悲,螺絲釘,物質和精神上都沒有得到回報 4、個人成長,想總結自己畢業一年的提升,除了滿口的流量、DAU、PV等詞匯和一套又一套的運營方法論,發現竟然都是一些很虛的東西(至少在當時的我看來是的) 5、高強度而無原則、低效率的加班
基于以上等等,從2013開始,我不斷的審視自己,我自己是個什么樣的人,我喜歡做什么,我適合做什么,我會在什么領域有所成就
1、我經常會為了研究一個東西廢寢忘食,投入而專注 => 貌似適合做技術 2、我能堅持做一件事情,不會三分鐘熱度 => 貌似適合做技術 3、我大學很喜歡搗鼓跟電腦相關的東西,從軟體PS、AI、ID到優化電腦系統到重裝系統到最后自己組裝電腦 => 貌似適合做IT 4、我的舍友是后端,在我搗鼓第三點的時候他已經在幫學校和外面的公司寫系統了,我很崇拜他,但大三大四讀了《人人都是產品經理》,崇拜歸崇拜,畢竟還是經理比較有吸引力,年少無知隨大流 5、我是985通信工程專業,好歹見過C語言,知道資料結構,上過計網 => 這不明擺著去做開發的意思么
綜上所述,我看到面前清清楚楚的寫著三個字:程式員 再加上詢問了一些朋友和同學的意見,2013.09.01開始在家全日制脫產自學,從前端開始……
二、2013.09-2014.04(自學)
嗯,自學開始,怎么學呢?
我并沒有一股腦就開始學
這里得感謝第一份作業對我的鍛煉,我利用了產品思維來看待這件事 目標:4-6個月找到一份前端作業 核心技能:HTML、CSS、Javascript + 一個框架(Vue)+ 一個專案
確認好需求后,我利用思維導圖把這三個模塊進行了需求拆分和梳理,每個大需求下要學的是什么,特別是最核心的模塊-JS 然后是尋找合理快速的學習方法,我瀏覽了很多關于如何自學前端、前端推薦書籍、前端知識體系等等方面的內容,最后總結出來我要做的事:看視頻快速入門 => 看書扎實基礎 => 大量敲代碼實踐,期間不斷積累好的博客資源,吸取前人的經驗,特別是github(懂的自然懂)
但其實,前面的我并沒有消化多少,對新手來說 《Javascript DOM編程藝術》 《Javascript面向物件編程》 這兩本書我覺得是比較合適的,其他的書都有它對應的階段,強讀不來 《Javascript高級程式設計》真是一本好書,入門后就值得不斷的翻看了
到現在作業一年了,我的桌面上常備《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和前端老大,或許因為中大華工一家親?
三、2014.7.01-2015.07.01(作業一年)
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,有任何問題可以隨時來咨詢我,
再加上跟一些群里的大牛虛心請教,給自己確認了一些打基礎的方向,也是接下來的長期方向
作為前端
- 把目前業務中用的框架用明白,總結坑,寫文章(react性能、RN坑)
- 讀原始碼,寫文章
- 演算法(從位運算開始)
作為程式員
- 學英語(每天Anki背單詞、聽podcast、看英文文章和檔案、無字幕看美劇和電影)
- 補基礎(作業系統、編譯原理)
- 學 C++(看情況,這個有點遠)
以上幾點都需要沉下心來,一點一點去積累,急功近利不得,
總結起來,這一年里有幾個關鍵詞:勤奮、養生、學英語、輸出、雜學
1、勤奮
這一年里,在本職作業之外,我貌似活成了一個很“正能量”的人 公司九點半上班,我八點就到公司開始看書學習(家里離公司單程地鐵一個小時,沒錯,我每天6點多起床),下班后或者周末,不是在家里就是在公司學東西
2、養生
每天六點多早起了,那自然是得早睡,11:00-11:30睡覺,最晚不敢超過12:00,對于一個程式員來說,是否有點unbelievable 晚上下班回家后會去健身房或者家里旁邊的籃球場練球 周末的話,雷打不動至少有一個下午打籃球,堅持了10年的籃球 身體是革命的本錢,尤其程式員這種物種 另外,我幾乎不吃外賣,
3、學英語
不知從哪個時間段起,發現經常要讀英文檔案,google和stackoverflow都是英文的,很多好的文章和博客都是英文的
決心把自己的英語撿回來,然后開始每天記單詞、閱讀英文文章、嘗試無字幕看美劇或者電影
推薦一個叫Anki的軟體,對于記憶內容非常有幫助,建議入手嘗試一下
4、輸出
輸出很好理解,就是寫博客,堅持寫 我充分利用了bear、MindNode、Axure、github這幾個工具 把自己所學所想所思的內容都沉淀了下來,
5、雜學
對于雜學這個詞,我想了很久,其實這個詞不好,有點類似上面說的,啥都學一下,啥都不會
其實我真正想表達的是:我擁有對新技術的好奇心和熱情,會主動關注最新技術趨勢,對知識擁有饑渴感,以前端為中心發散開來的技術領域,我都會保持關注,但不僅限于前端,給自己的定位應該是解決實際問題的工程師,前端只是我目前的一個職業,
四、next to learn
對于接下來要學什么,上面籠統的寫了個大方向
作為前端
- 把目前業務中用的框架用明白,總結坑,寫文章(react性能、RN坑)
- 讀原始碼,寫文章
- 演算法(從位運算開始)
作為程式員
- 學英語(每天Anki背單詞、聽podcast、看英文文章和檔案、無字幕看美劇和電影)
- 補基礎(作業系統、編譯原理)
- 學 Java(看情況,這個有點遠)
還是給自己一個一年內的目標吧 1、繼續react原始碼學習(學有余力就把vue的原始碼也學了) 2、學Node,并用Node+react(vue)寫一個完整的前后端專案 3、把《演算法》第4版啃完
時隔一年,多虧自己有寫東西的習慣,還能勉強寫個總結 新的一年,希望自己能更上一層樓 雖然自己起步晚,但有句話:種一棵樹最好的時間,一個是十年前,一個是今天,不要被這個事情影響 另外,堅持是制勝法寶
五、一點學習心得
有人會覺得,大神們才有資格寫學習心得,你算個什么東西,你的資歷呢,請先show出阿里騰訊的5年經驗!
個人初衷,寫這一part是把自己這一階段的學習態度、方法、心得記錄下來,可能哪天自己回頭審視的時候,發現這個階段其實有點學習方法是錯誤的,那么也能及時更正自己,重點:這是我自己的學習方法 另外一方面,目前的確還有很多小白還苦惱于如何學習,希望能有幸對這一群體有點點幫助,那我也是做了好事,算回饋社會了吧, 所以,大神們請繞道啦
一、合理利用時間
請充分利用好下班時間
1、上班時長
如果你是996,加上通勤就沒有自己的時間了,完全沒有下班時間給自己充電,我建議還是盡快換一家公司
大部分情況下(除了專案上線+短期內敏捷開發),這些加班都是無謂的消磨時間,試想一下,六點半,感覺下班了,點個外賣或者出去吃飯,這里起碼得消耗一個小時吧,七點半到了,吃完飯休息一下,這時候大部分人的心理是想著反正還要加班,吃完飯休息一會,找個娛樂活動,看會抖音、頭條、斗魚、動漫,就半個鐘……八點到了,進入作業狀態,離9點就剩一個小時,即使全程投入,有效加班時間也就一個小時,反正我是不相信白天的八個小時內無法通過提高效率和專注力來彌補這一個小時, 如果你說常態要加班到十一點之后,那么復出的就是身體的代價了,還有前途,作業時間的業務驅動,每個人都會有,你想比別人更有優勢,就要利用作業之外的時間, 程式員是靠技術吃飯的,如果沒有作業之外的時間來增長技術,還要賠上大量時間,你很快就廢掉了,
請利用好下班后的那一兩個小時,榷訓月累,你會看到不一樣的自己,一萬個小時理論,
as for me,除了利用下班時間,我還有早上的一個多小時可以靜靜看書,不受任何人影響,還有一個隱形的優勢,吃的健康睡得早,我每天都精力充沛,所以我能保證白天的作業效率,
2、上班效率
1、列好todo list,分好優先級,做完一個劃掉一個,比如這樣
- App **bug修復
- H5 頁面開發
- 管理后臺添加功能
2、作業一段時間起來休息一下,這是為了確保你下一個作業時間段更有精力,番茄作業法了解一下
二、補基礎+看檔案
計算機、軟工的科班好學生可以忽略,我是轉行的,所以我需要大量補基礎 不單單是JS基礎,還有網路、演算法、服務端等等等
如果是學習新框架或者其他工具,請第一時間看檔案,有代碼的地方就對著實踐一遍,別人的博客最起碼也都是第二手資料了 官方檔案作者是最了解這個東西的人,你不問他問誰? 遇到問題,也請第一時間查看官方檔案,再看其他
三、會查資料+學好英語
普通程式員+google = 超級程式員 國外真的有不少好的資料,Medium、Youtube、Twitter請了解一下,github上也大部分是英文的 國內大部分資料都是二手的,除了慢,還有翻譯是否準確的問題
想要吸收國外的精華,學好英語相信是毋庸置疑的
還有,不會英文你可能連報錯都看不懂,還有google+stackoverflow的超級組合咧
學英語其實比學編程簡單多了,而且產出比非常高,你可以從裝翻譯插件開始 你只需要堅持背背單詞+強迫看一段時間的英文文章,技術詞匯就那么點,很快你就能看得懂了,
這一點上,請相信我好嗎,你不會后悔的,
三、搜索+提問
個人搜索問題三大步驟,請放棄百度,擁抱google,查看順序 1、官方檔案+github 2、Stack Overflow 3、國內答案、博客、其他
搜索不出來后,可以求助于同事或者朋友,請準確描述問題 不要沒搜索過就問人,反正我就會很反感這樣的人咯,別人的時間也很寶貴的
四、總結、反思、歸納
這一個,更多的是一個思維習慣 也是提升自己最關鍵的一個步驟
具體怎么做呢? 如果初中高中有做過錯題本、喜歡做筆記的同學,特別是理科生,可能會比較容易理解這一塊
最笨的方法,先從記錄bug、寫博客開始,得先有一部分的實踐與素材才能開始整理歸納 然后慢慢歸納同一類問題,同一類優化方案 至于更高層次的舉一反三,就要看個人積累與沉淀了
其實這一步也不難,對嗎,也就是多寫寫,記錄記錄而已
另外就是,看了別人的博客文章,也可以記錄下來,作為自己的經驗所用 踩在別人的肩膀上,你會看得更遠 如果踩的是巨人,那就更好了
最后
如果你覺得這篇文章不錯,請別忘記點個贊跟關注哦~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/11075.html
標籤:Html/Css
