1年轉行資深前端工程師,開源項目過 1k stars,完整學習過程

来源:https://www.cnblogs.com/lyy-1/archive/2020/06/11/13091352.html
-Advertisement-
Play Games

先介紹下大致情況時間線。 18 年 8 月正式轉方向為前端,之前做了一段時間的 iOS,後來因為對前端更感興趣所以就打算轉方向了。19 年 10 月入職當前公司,定級資深前端,分配到業務架構小組,自此在一年零兩月的時間內完成從 iOS 轉方向到資深前端的過程。 很多讀者會問我是如何學習的,今天這篇文 ...


先介紹下大致情況時間線。

18 年 8 月正式轉方向為前端,之前做了一段時間的 iOS,後來因為對前端更感興趣所以就打算轉方向了。19 年 10 月入職當前公司,定級資深前端,分配到業務架構小組,自此在一年零兩月的時間內完成從 iOS 轉方向到資深前端的過程。

很多讀者會問我是如何學習的,今天這篇文章就來完整的梳理一遍整個過程。過程可能不能複製,但是其中很多的方法論我相信一定對你有幫助。

 

 學習經歷

轉前端之前

17 年底開始正式學習前端,這時還在做 iOS 開發,所以拿來學習的時間並不會很多。偏向實戰論,喜歡邊學邊補,至今完整讀過的前端書籍寥寥幾本

  1. 你不知道的 JS 基本讀完
  2. 忍者秘籍第二版讀完
  3. 其他零零碎碎的讀過一些書,但是基本都是隨便翻翻就過了

很多人推崇的紅寶書筆者就讀了四五章節,這本書主要是基礎內容,對於基礎內容我更喜歡讀文檔。MDN 翻一翻,網上查一查,基本就能把 JS 基礎瞭解個大概,CSS 及 HTML 的內容基本沒花時間學,都是現學現用。

在轉前端之前大致的學習路線如下:

  1. JS 基礎瞭解個大概,CSS 和 HTML 花的時間很少,當然在後續的學習過程中逐步在填補基礎的漏洞,只是沒有一開始就花大量的時間去學習。
  2. 讀文檔,開始寫 Vue。將自己的需求寫成一個小項目,主要技術棧為 Vue 及 Node,都只屬於會用。
  3. 從同事那裡瞭解到 Webpack 是個難啃的東西,自己買了 相關的課,照樣畫葫蘆最後產出一個教程。
  4. 開始學習 React,同樣也買了相關的課,最後產出一個開源項目,至今過 1k stars。

時間節點到這裡大概是 18 年 1 月份,總結幾個幫助我學習的點:

  • 動手很重要,把自己學到的知識寫成一個小項目或者文章,對於自己的幫助是很大的。在這個節點之前,我在掘金產出了六篇前端相關的文章,獲得了四千多的點贊。
  • 文檔最重要,牛逼的項目的文檔幾乎沒有錯誤,只有二手資料才會錯誤百出。
  • 活用搜索引擎,那時候我還是個小透明,沒加過任何的前端群,有問題就是谷歌搜答案。遇到報錯就把報錯丟上去;遇到寫的和預期不對就把想要的搜一下;遇到自己沒學過的,就搜一下相關知識,就這樣逐步累積上來。當然在這一步最為核心的點是得用英文 + 谷歌搜索,缺一效率就低。覺得自己英語不好的不要擔心,把自己想問的谷歌翻譯一下不就好了。

接下來就是一個面試季了,這時候掘金的面經文章層出不窮,我也嘗試去解答了那些面試題。這時發現自己不會的相當多,因此覺得這些面試題會是一個幫助自己填補知識漏洞的好辦法。

於是接下來很長一段時間我都是處於這樣一個迴圈中:

  1. 找面試題
  2. 回答面試題,挖掘它背後的知識點,寫成內容

在這個迴圈中我逐步發現如果我能把這個東西做大做好,那麼一定會是個爆款,畢竟那時候沒有競品,轉方向的念頭也是這個期間萌發的。後面的事情應該很多讀者都曉得了,我把它做成了開源,最後獲得了一萬六千多的 stars。

在這個做開源的期間,我覺得最重要的可能是費曼學習法了,也就是以教促學。從我不會到我覺得自己會了到最後把自己會的東西寫成內容教給別人,那時候的學習途徑如下:

  1. 發現自己不會的點,不管你是從哪裡發現的
  2. 搜索資料,嘗試搞懂它
  3. 寫一下代碼,驗證一下
  4. 把自己理解的寫成文字
  5. 把自己代入讀者,看著自己寫的內容是否能學會這個知識
  6. 多搜索這個知識相關的文章,看看有沒有遺漏的
  7. 在前幾個環節你可能還會發現更多自己不會的點,繼續迴圈

整個開源項目我都是這樣操作下來的,其中包括了之前我不懂的、懂的、懂的但並不完善的知識,通過以上的學習方法完成了自己的知識梳理及填補漏洞的過程,至今我還一直踐行著以上方法論,真的很有效。

項目開源以後,我也順利了找到了工作,至此完成方向轉型。

希望對正在學習,或者轉行,大學生的伙伴有所幫助,在學習的路上少走彎路, 從事全棧6年
專門建立的學習q裙851231348   分享學習方法和需要註意的小細節,互相交流學習,不停更新最新的教程和學習技巧(從零基礎開始到WEB前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)

工作中

在工作中學習的這塊內容其實之前已經寫過,在這裡我就直接把精華總結一下:

  1. 用到的所有技術棧務必用精,沒到這個階段之前別想東想西的這個那個都想學點皮毛,沒啥用。
  2. 瞭解下市場的熱門技術,過時的就別浪費時間學了,順便也給自己儲備點知識,最好學點公司未來可能要用的技術棧。
  3. 想想看未來怎麼在自己的簡歷上寫工作上的亮點,然後嘗試著去做。
  4. 別寫完代碼就完事了,看看還有沒有能調優的地方,這都是你未來能寫在簡歷上的東西,多從未來給簡歷加分上看齊。
  5. 學會偷懶,能用腳本做的就讓腳本去實現,在這個過程中你就能成長。
  6. 給自己列點計劃在業餘中學習。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 大家都說yarn比npm好,今天全局安裝yarn嘗試下 cnpm install -g yarn 安裝完成後,查看yarn版本 yarn --version 項目搭建 安裝vuepress yarn global add vuepress 初始化項目 創建項目目錄blog mkdir blog cd ...
  • 關於前端的話題知乎不能再多了,但作為一個自學者,希望以我的經歷給你們一點啟示或者幫助。 關於前端的學習資料和視頻可謂多之又多,學習方法也是大相徑庭,有推薦跟著慕課網的,也有W3C的,傳智播客,這裡就簡單提一下吧。我想大部分都是零基礎的居多吧,所以一些必備的基礎知識都沒有的話,後面的學習是很困難的。這 ...
  • 本次做後臺管理系統,採用的是 AntD 框架。涉及到圖片的上傳,用的是AntD的 upload 組件。 我在上一篇文章《前端AntD框架的upload組件上傳圖片時遇到的一些坑》中講到:AntD 的 upload 組件有很多坑,引起了很多人的關註。折騰過的人,自然明白其中的苦楚。 今天這篇文章,我們 ...
  • JavaScript是一種屬於網路的腳本語言,已經被廣泛用於Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。 CSS(Cascading Style Sheet)層疊樣式表單 表現(presen ...
  • ie8下透明度處理 css3新增屬性rgba和opacity:(0~1); 在ie8下無法使用 Alpha(opacity=[0~100]);//[0~100] 0是透明 100是不透明。 IE下的透明度屬性,子元素會繼承這個透明度。下麵有阻斷子元素繼承方法。 解決方法: 背景透明,文字不透明。 < ...
  • Vue計算屬性 1、提到計算屬性,我們馬上就會想到它的一個特性:緩存,Vue 文檔也如是說: 計算屬性是基於它們的響應式依賴進行緩存的/ 2。很榮幸給大家分享,我是一名08年出道的前端高級老鳥,大家如果想跟我交流學習經驗,可以進我的扣扣裙 519293536 有問題我都會儘力幫大家,喜歡中高級問題, ...
  • 在Vue項目中,引入到工程中的所有js、css文件,編譯時都會被打包進vendor.js,瀏覽器在載入該文件之後才能開始顯示首屏。若是引入的庫眾多,那麼vendor.js文件體積將會相當的大,影響首屏的體驗。可以看個例子: 差點忘記介紹了:我是一名08年出道的高級前端老鳥,大家如果想跟我交流學習經驗 ...
  • 別天天販賣焦慮,能當上程式員就已經幹掉多少億人了? 程式員不優秀嗎?很優秀啦!你非要跟那些運氣好的,出身好的,趕上紅利期的,比你玩命的比,那不能焦慮嗎? 程式員肯定是一個小圈子。程式員距離過剩還遠,只是門檻越來越高,你感嘆飽和只是你想不努力就掙錢,哪有那麼簡單的事情。 有大量的人學習程式,但是真正能 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...