<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          作為工程師,最好的學習心態(tài)是什么?

          共 2147字,需瀏覽 5分鐘

           ·

          2021-11-22 23:23

          作為程序員,我們會用到很多的技術,這些技術涉及到不同的領域,而每一個領域都有很大的可以深挖的空間,那我們學習的時候怎么在深度和廣度的做抉擇呢?

          我的觀點是在一個領域持續(xù)深入,成為這個領域的專家,但對其他的領域也要做一些了解,也就是成為一專多能的 T 型人才。這樣既能保證較高的競爭力,也有擴展其他方面的可能性。

          我們的晉升路線也是這樣的,p7 的定位是領域專家,也就是要在一個領域有比較體系化的認知和沉淀,但是 p8、p9 則需要對整個前端領域的技術和發(fā)展都有比較好的認知,也就需要廣度,先深度后廣度的學習路線也更利于晉升。

          但是持續(xù)深入某一個領域也不是一件容易的事情,有兩個主要的問題,下面我拿我自己來舉例說明下:

          在某個領域越深入,學習越費力

          我剛開始學 babel 插件的時候,看官方插件手冊,感覺啥都是新的知識,學的很快,但是當我想找一個真實場景的應用案例的時候,文檔中卻沒有,網上也幾乎沒有這方面的資料,我不得不自己去探索各種場景下用 babel 插件來做自動化的可能性,后面就梳理出了業(yè)務方面的自動埋點、國際化、生成 api 文檔的應用,還有在工具方面的 linter、type cheker、壓縮混淆等的應用。剛開始學習這個領域是很快的,但是后來需要自己探索的部分進度卻很慢。

          其實很多領域都是這樣,大多數(shù)資料都停留在淺水區(qū),入門的話學的很快,感覺進步飛速。但是當你逐漸深入的時候,可參考的資料會越來越少,甚至逐漸進入無人區(qū),這時候你會感覺費了很大的力進度卻很慢,會感覺到痛苦,但是這確實成為領域專家必須要經歷的階段,需要一些韌性或者說執(zhí)著來扛過去,繼續(xù)深入。過了這段時期之后,你才能建立技術壁壘,可以說自己是這個領域的專家了。

          在某個領域做久了,同質化的內容越來越多

          還是拿我自己來舉例,我是想在前端編譯方面持續(xù)深入,直到寫一本書的。我的打算是 babel、eslint、typescript compiler api、postcss 甚至 swc 都要單獨寫一本小冊,然后整理成書。

          剛開始研究 babel 插件的時候,感覺收獲很大,因為各種知識都是新知識。但是后來逐漸研究了別的一些工具之后,會發(fā)現(xiàn)同質化現(xiàn)象越來越嚴重,收獲也越來越小。

          babel 插件是做代碼轉換的,基于 AST 做分析和增刪改。

          eslint 插件是做代碼的靜態(tài)分析和格式檢查的,也是基于 AST,只不過因為 AST 中保留了 token 信息,能夠做格式的檢查,比如行列號、空格這種。然后生成代碼也不是基于 AST 打印,而是直接做的字符串替換。和 babel 插件的不同只在于能夠檢查格式以及生成代碼的方式不同,其余的地方是類似的、同質的。

          typescript compiler api 是做 ts 到 ts 的轉換的,也是基于 AST,相對于 babel 插件來說,能夠生成 ts 代碼,這點 babel 插件做不到,而且還能做類型檢查。其余的方面也是同質的。

          postcss 插件和 babel 插件的作用差不多,只不過針對的是 css 領域,很多東西也是同質的。

          當你在一個領域持續(xù)研究的時候,就會發(fā)現(xiàn)很多東西都是類似的、同質的,新的東西越來越少。這也是不可避免的事情,需要一些韌性或者說執(zhí)著來扛過這段時期。

          所以說,如果你想在一個領域持續(xù)深入,度過剛開始的快速成長期之后,不可避免的會遇到資料越來越少、學習越來越費力的問題,以及同質化內容越來越多的問題,你需要一些執(zhí)著來忍受這些,繼續(xù)深入,之后才能成為這個領域的專家。

          但是,雖然說對技術要有一定的執(zhí)著,也要有限度,職業(yè)邊界之外的技術作為興趣來了解即可。

          還是拿我來說,我發(fā)覺前端領域的編譯技術只是源碼到源碼的轉譯器(transpiler),涉及不到解釋器 (interpreter)和編譯到字節(jié)碼或機器碼的編譯器(compiler)。所以才會想著去華為做編程語言,去深入學習編譯器、解釋器這種編譯技術,但是最終那邊也沒去成,阿里的工作也丟了。

          后來想了想,作為前端工程師,想學習編譯技術的話,能把各種 transpiler 學好就足夠了,至于編譯器、解釋器這不屬于前端工程師的 scope 了。作為興趣來了解,那是非常好的,但是如果想進一步深入,反而沒必要,代價很大,對前端工作也沒啥幫助。

          所以說,我們要在某個領域持續(xù)深入,但也要注意邊界,深入到職業(yè) scope 的邊界就可以了,邊界之外的事情,可以做了解,沒必要過度深入。

          總結

          作為工程師,最好的學習路線是先深度后廣度,這樣也更利于職業(yè)的發(fā)展。

          想在某個領域持續(xù)深入的話,剛開始成長是很快的,但是會慢慢遇到資料越來越少,學習越來越費力的問題,會遇到很多技術的同質化,新的東西越來越少的問題,需要一些執(zhí)著來度過這段時期。

          但是對技術的執(zhí)著要有個限度,到達職業(yè) scope 的邊界即可,邊界之外的事情可以做為興趣了解,但沒必要過度深入。

          也就是說,學習技術要有一定的執(zhí)著但也不能太執(zhí)著。

          瀏覽 69
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美精品在线自偷自拍 | 插鸡巴网站一区二区三区豆花视频 | a∨在线免费看 | 国产婷婷无码21p | 考逼无码|