<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>

          如何在三年內(nèi)快速成長為一名技術(shù)專家

          共 4867字,需瀏覽 10分鐘

           ·

          2021-03-07 09:27


          相關(guān)閱讀

          300本計(jì)算機(jī)編程的經(jīng)典書籍下載

          AI全套:Python3+TensorFlow打造人臉識(shí)別智能小程序

          最新人工智能資料-Google工程師親授 Tensorflow-入門到進(jìn)階

          Java架構(gòu)全階段七期完整

          黑馬頭條項(xiàng)目 - Java Springboot2.0(視頻、資料、代碼和講義)14天完整版

          Spring核心編程思想

          作者介紹


          清英, 螞蟻金服技術(shù)專家,支付寶架構(gòu)師,《JAVA并發(fā)編程的藝術(shù)》作者,10年+軟件開發(fā)和架構(gòu)經(jīng)驗(yàn),并發(fā)編程網(wǎng)(http://ifeve.com/)創(chuàng)始人。




          引言:

          工作前三年是職業(yè)生涯中成長最快的幾年,在這段時(shí)間里你會(huì)充滿激情,做事專注,也容易養(yǎng)成良好的習(xí)慣。在我們公司有些同學(xué)在前三年中就快速成為某一個(gè)領(lǐng)域的技術(shù)專家,有些同學(xué)也可能止步不前。本文和大家一起探討下如何在三年內(nèi)快速成長為一名技術(shù)專家。


          目錄

          學(xué)習(xí)方法

          • 1:掌握良好的學(xué)習(xí)心態(tài)

          • 2:掌握系統(tǒng)化的學(xué)習(xí)方法

          • 3:知識(shí)如何內(nèi)化成能力

          • 4:廣度和深度的選擇

          實(shí)戰(zhàn)技巧

          • 1:你需要學(xué)會(huì)的編碼習(xí)慣

          • 2:在業(yè)務(wù)團(tuán)隊(duì)做開發(fā)如何成長


          掌握良好的學(xué)習(xí)心態(tài)


          空杯心態(tài)


          首先要有空杯的學(xué)習(xí)心態(tài),而不是傲嬌自滿,故步自封,空杯子才可以裝下更多的東西。首先要學(xué)會(huì)取百家之長,帶著欣賞的眼光看團(tuán)隊(duì)的同事或?qū)W校的同學(xué),欣賞每位同事或同學(xué)的優(yōu)點(diǎn),然后吸取他們的優(yōu)點(diǎn),每個(gè)同事都有其擅長的能力,比如有的同事技術(shù)能力強(qiáng),那么可以觀察下他如何學(xué)習(xí)的(或者找他請教學(xué)習(xí)方法),有的同學(xué)擅長解決線上問題,那么觀察他是如何解決線上問題的,解決思路是什么?如果他解決不了時(shí),他是如何尋求幫助。有的同學(xué)擅長使用IDE或MAC的快捷鍵,那么可以向他學(xué)習(xí)提高工作效率。有的同學(xué)能快速理解業(yè)務(wù)知識(shí),觀察他是如何做到的,自己如何達(dá)到他的程度。溝通能力,解決問題能力以及規(guī)劃能力都可以向同事學(xué)習(xí)。


          挑戰(zhàn)權(quán)威


          從書上看到一個(gè)知識(shí)點(diǎn),或者從別人那里聽到一個(gè)知識(shí)點(diǎn),一定要去挑戰(zhàn)和質(zhì)疑這個(gè)知識(shí)點(diǎn)的正確性,否則學(xué)到的知識(shí)點(diǎn)可能是錯(cuò)誤的。先用邏輯思維推測下,再實(shí)戰(zhàn)檢測下,一定要記住實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。比如同事說這個(gè)SQL加這個(gè)索引是最快的,首先要思考同事的結(jié)論是如何得出的,是靠歷史經(jīng)驗(yàn)還是測試過,如果我們沒有經(jīng)驗(yàn),就加上這個(gè)索引跑下SQL,看看執(zhí)行計(jì)劃和執(zhí)行時(shí)間,再換下其他索引試試會(huì)不會(huì)更快。依次類推,并發(fā)一定比串行快嗎?無鎖一定比加鎖快嗎? 很多結(jié)論都是在特定的場景下才會(huì)產(chǎn)生的,一定要自己親手實(shí)踐驗(yàn)證下。


          堅(jiān)持學(xué)習(xí)


          有的同學(xué)可能工作了五年,但是學(xué)習(xí)的時(shí)間可能一年都不到。學(xué)技術(shù)不能急于求成,只要學(xué)習(xí)方法正確,量變一定會(huì)引起質(zhì)變。我在大學(xué)剛學(xué)JAVA時(shí),怎么都學(xué)不會(huì),但是堅(jiān)持學(xué)習(xí)了幾個(gè)月,每天看張老師的JAVA視頻教學(xué),買書按照書里的代碼一行一行的敲代碼,白天睡覺,晚上學(xué)習(xí)和寫代碼,寫到宿舍關(guān)燈時(shí)就去避風(fēng)塘呆一晚上,早上6點(diǎn)鐘回宿舍睡覺,學(xué)到一定時(shí)間后,突然恍然大悟,才入了門。


          在工作中,我曾經(jīng)花了一個(gè)月的時(shí)間學(xué)習(xí)AOP的實(shí)現(xiàn)原理,學(xué)習(xí)了各種方式來實(shí)現(xiàn)AOP的原理,并寫了幾種實(shí)現(xiàn)方式的代碼,雖然花的時(shí)間很多,但是到現(xiàn)在仍記憶猶新,對于排查問題和學(xué)習(xí)其他知識(shí)都非常有幫助。

          要做到堅(jiān)持學(xué)習(xí),學(xué)習(xí)的環(huán)境非常重要。如果你想學(xué),但是又不在學(xué)習(xí)狀態(tài),可以考慮換個(gè)學(xué)習(xí)環(huán)境,我經(jīng)常會(huì)去星巴克看書和學(xué)習(xí)。我聽說有的同事會(huì)周末抽一天去大學(xué)教師上自習(xí)。


          把事做精


          對自己要求越高,進(jìn)步越快。要有強(qiáng)烈的把事情做完美的心態(tài),我剛開始工作的時(shí)候,總是快而不精,做事做的不夠細(xì)致,總希望快速拿出結(jié)果證明自己,但是反而證明不了什么,技術(shù)能力也得不到提升,缺少技術(shù)亮點(diǎn),在團(tuán)隊(duì)中也沒什么影響力,后面就開始鍛煉一次就把事情做對的心態(tài)和方法。我觀察過,很多人都擅長快速做事情,但是把事情做好做精致的人會(huì)比較少,但是結(jié)果卻是**在精益求精的路上才會(huì)快速提高自己的能力**。比如用100行代碼實(shí)現(xiàn)的功能,思考下是否可以用10行來實(shí)現(xiàn),以便于降低運(yùn)維成本,提高下次的編碼效率。引用GUAVA等類庫,提取公共方法,和使用JDK8新特性等。系統(tǒng)的方法壓測過后,單機(jī)只能承受1700QPS,可以思考和實(shí)踐能否優(yōu)化下程序提高QPS,減少服務(wù)器數(shù)量。

          把事情做精,一定是要強(qiáng)迫自己多花心思多花時(shí)間在這件事情上。有位技術(shù)牛人給我分享了一個(gè)心得,我覺得說的非常好,老板給你布置了一個(gè)任務(wù),**你要花百分之150的精力做到100分,這樣在老板那里你就能拿到80分或者60分**。


          掌握系統(tǒng)化的學(xué)習(xí)方法

          如果學(xué)習(xí)到的知識(shí)不成體系,那么遇到問題時(shí)就會(huì)非常難解決。有些同學(xué)會(huì)出現(xiàn)這些情況,比如編碼時(shí)遇到問題百度搜索,如果百度上找不到答案,這個(gè)問題就解決不了。再比如,在開發(fā)中要用到某個(gè)技術(shù)點(diǎn),就學(xué)習(xí)下API,程序調(diào)通后就不再深入研究,淺嘗輒止,如果程序遇到其他問題也不知道如何解決。

          以上情況我認(rèn)為叫**點(diǎn)狀學(xué)習(xí)**。遇到一個(gè)問題,解決一個(gè)問題,需要一項(xiàng)技術(shù),學(xué)習(xí)一項(xiàng)技術(shù)。那么如何由點(diǎn)到面,由面到體,形成系統(tǒng)化學(xué)習(xí)呢。

          首先要確定學(xué)習(xí)的知識(shí)領(lǐng)域,需要達(dá)成的學(xué)習(xí)目標(biāo),針對目標(biāo)制定學(xué)習(xí)計(jì)劃,就像你要寫一本書一樣,先把目錄寫出來,然后根據(jù)目錄上的知識(shí)點(diǎn)逐步去學(xué)習(xí),最后把這些知識(shí)點(diǎn)關(guān)聯(lián)起來,形成一個(gè)系統(tǒng)化的知識(shí)體系。學(xué)習(xí)的時(shí)候,可以制定一個(gè)計(jì)劃,以周為單位,比如第一周學(xué)什么,第二周學(xué)什么。

          比如我最近在學(xué)習(xí)人工智能,學(xué)習(xí)步驟是:

          • 1:高數(shù)基礎(chǔ)知識(shí):線性代數(shù),微積分和統(tǒng)計(jì)學(xué)。最近在打德州撲克時(shí),我也會(huì)用統(tǒng)計(jì)學(xué)里的知識(shí)計(jì)算下輸贏的概率。

          • 2:人工智能基礎(chǔ):買幾本書人工智能的基礎(chǔ)書籍,如《機(jī)器學(xué)習(xí)基礎(chǔ)教程》《Python機(jī)器學(xué)習(xí)》

          • 3:框架:TensorFlow等。

          • 4:實(shí)戰(zhàn):在工作中找到一個(gè)應(yīng)用場景,把學(xué)到的知識(shí)運(yùn)用進(jìn)去。


          知識(shí)如何內(nèi)化成能力

          作家格拉德威爾在《異類》一書中指出,1萬小時(shí)的錘煉是任何人從平凡變成世界級(jí)大師的必要條件。1萬小時(shí)有多久?每天學(xué)習(xí)10小時(shí),需要大約三年。但是很多人都工作了五年甚至更長,但是為什么成為世界級(jí)大師的卻非常少。讀者可以先自己思考下這個(gè)問題。接下來談?wù)勎业目捶ā?/span>

          成長必須經(jīng)歷一個(gè)步驟,就是把知識(shí)內(nèi)化成能力。**知識(shí)是用腦記住的,能力是用手練習(xí)出來的**。在工作的幾年里,我們可能看過很多書,聽過很多技術(shù)講座和視頻,但是通過聽和看只是讓你能記住這些知識(shí),這些知識(shí)還不能轉(zhuǎn)換成你的能力。

          聽和看只是第一步,更重要的是實(shí)踐,通過刻意練習(xí)把聽到和看到的知識(shí)內(nèi)化成你的能力。

          刻意練習(xí),就是有目的的練習(xí),先規(guī)劃好,再去練習(xí)。首先給自己定一個(gè)目標(biāo),目標(biāo)可以有效的引導(dǎo)你學(xué)習(xí),然后使用3F練習(xí)法:

          • 1:專注(Focus),專注在眼前的任務(wù)上,在學(xué)習(xí)過程中保持專注,可以嘗試使用番茄工作法。

          • 2:反饋(Feedback),意識(shí)到自己的不足,學(xué)習(xí)完之后進(jìn)行反思,思考下自己哪些方面不足,為什么不足,

          • 3:修正(Fix),改進(jìn)自己的不足。

          不停的練習(xí)和思考可以改變大腦結(jié)構(gòu),大腦像肌肉一樣,挑戰(zhàn)越大,影響越大,學(xué)習(xí)更高效,并且也會(huì)產(chǎn)生突破性。


          廣度和深度的選擇

          技術(shù)人員的學(xué)習(xí)路徑有兩個(gè)維度,深度和廣度。很多程序員都有這個(gè)疑問,是先深后廣,還是先廣后深呢?

          通過這么多年的學(xué)習(xí)和思考,我的建議先深后廣,因?yàn)楫?dāng)技術(shù)學(xué)到一定深度后,就會(huì)有觸類旁通的能力,自己掌握的廣度也自然有了深度。但是在實(shí)際學(xué)習(xí)過程中,深度和廣度相互穿插著學(xué)習(xí),比如學(xué)習(xí)并發(fā)編程時(shí),首先學(xué)習(xí)JDK源碼,然后學(xué)進(jìn)去之后,開始看JVM源碼,最后看CPU架構(gòu),在技術(shù)點(diǎn)逐漸深度研究的過程中,廣度也得到了完善。

          所以無論哪種學(xué)習(xí)方式,學(xué)習(xí)態(tài)度才是最重要的,在廣度學(xué)習(xí)的時(shí)候有深入研究的態(tài)度就能達(dá)到一定的深度,在深度學(xué)習(xí)的時(shí)候,主動(dòng)學(xué)習(xí)相關(guān)的技術(shù)點(diǎn),廣度也得到拓寬。


          你需要學(xué)會(huì)的編碼習(xí)慣

          程序員應(yīng)該學(xué)會(huì)通過技術(shù)的手段來提高效率。幾個(gè)常用的手段是使用工具,快捷鍵和編寫腳本。

          • 1. 使用各種工具

          技術(shù)人員電腦盡量用MAC,使用命令行效率一定比在1024*1024像素中找一個(gè)10*10像素的按鈕更快。IDE用IDEA,比Eclipse更智能。命令行工具用iTerm和IDEA里的Terminal。寫文章用MAC的客戶端工具M(jìn)acDown,左邊編寫,右邊展示,比Word等工具方便快速很多。有時(shí)候我還會(huì)用按鍵精靈里配置腳本需要解決工作問題,比如通過點(diǎn)擊我們的系統(tǒng),來執(zhí)行任務(wù)。這樣的工具很多,只要能提高工作效率的工具,大家都可以嘗試使用。

          • 2. 使用快捷鍵

          MAC,IDEA和Eclipse有很多快捷鍵都要學(xué)會(huì)使用,比如在MAC命令行中通過idea .快速打開工程,通過open . 快速的打開文件夾,把IDEA里通過快捷鍵把一段代碼抽成一個(gè)單獨(dú)的方法,快速生成getter setter方法。

          • 3. 用腳本寫工具

          當(dāng)我們用人工的方式做一件重復(fù)性很強(qiáng)的事情,首先要考慮使用工具來幫我們自動(dòng)完成,如果沒有類似工具,可以自己寫個(gè)腳本來實(shí)現(xiàn),這樣除了能快速解決問題,還能提高自己的技術(shù)能力。

          比如,我經(jīng)常要在兩個(gè)maven倉庫發(fā)布jar包,我就寫了個(gè)腳本來實(shí)現(xiàn)jar包的發(fā)布,deploy.sh代碼如下:

          在業(yè)務(wù)團(tuán)隊(duì)做開發(fā)如何成長

          我一直在業(yè)務(wù)團(tuán)隊(duì)中做開發(fā),在業(yè)務(wù)團(tuán)隊(duì)最主要的提高的能力是業(yè)務(wù)抽象和架構(gòu)能力,通過業(yè)務(wù)場景,不斷思考如何通過合理的架構(gòu)和業(yè)務(wù)抽象能快速支持業(yè)務(wù),降低運(yùn)維成本。同時(shí)在這個(gè)過程中鍛煉技術(shù)能力,比如寫一些技術(shù)框架來快速支持業(yè)務(wù),做到技術(shù)驅(qū)動(dòng)業(yè)務(wù)。


          可配置化的方式支持業(yè)務(wù)

          設(shè)計(jì)業(yè)務(wù)的領(lǐng)域模型,把不隨著業(yè)務(wù)邏輯變化的領(lǐng)域模型做成系統(tǒng)能力,把隨著業(yè)務(wù)邏輯變化功能,做成可配置化,上一個(gè)新業(yè)務(wù),通過配置的方式或少量開發(fā)就能支持。

          在做客戶后臺(tái)功能時(shí),由于需要展示的數(shù)據(jù)種類非常多,每種數(shù)據(jù)展示可能需要花費(fèi)幾天的時(shí)間,所以設(shè)計(jì)了一個(gè)通用的技術(shù)框架,實(shí)現(xiàn)了通過配置化的方式展示各種數(shù)據(jù)。


          寫框架解決業(yè)務(wù)問題

          我在上家公司經(jīng)常做一些CRUD的業(yè)務(wù)功能,我就自己開發(fā)了一個(gè)快速做CRUD的框架jdbcutil,通過配置實(shí)體生成SQL語句,實(shí)現(xiàn)了子類只要繼承父類,就自動(dòng)擁有CRUD的能力。后面還寫過生成CRUD頁面代碼的程序。

          目前我們團(tuán)隊(duì)在做的TITAN框架通過模塊化開發(fā)的方式,解決易變的業(yè)務(wù)系統(tǒng)在多人開發(fā)時(shí)遇到的問題。


          技術(shù)驅(qū)動(dòng)業(yè)務(wù)

          在業(yè)務(wù)團(tuán)隊(duì),一定要不斷的思考如何利用技術(shù)來支持快速支持業(yè)務(wù),配置化是一種思路,但是有些功能配置復(fù)雜度比較高,配置加驗(yàn)證的工作量,可能需要一個(gè)星期的時(shí)間,那么能不能減少人工配置,實(shí)現(xiàn)系統(tǒng)自動(dòng)化配置,于是可以研究下人工智能,通過人工智能的方式實(shí)現(xiàn),系統(tǒng)告訴人需要配置哪些東西,然后交給人來進(jìn)行確認(rèn),這樣可以大大減少人工成本,更快的支持業(yè)務(wù)。


          往期資源:

          Flutter 移動(dòng)應(yīng)用開發(fā)實(shí)戰(zhàn) 視頻(開發(fā)你自己的抖音APP)
          Java面試進(jìn)階訓(xùn)練營 第2季(分布式篇)
          Java高級(jí) - 分布式系統(tǒng)開發(fā)技術(shù)視頻


          瀏覽 89
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  天天色天天操天天 | 最新无码国产精品色在线看 | 日日三级网 | 福利视频一区二区 | 国产黄色电影在线观看 |