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

          編程高手是如何練成的?

          共 2932字,需瀏覽 6分鐘

           ·

          2021-01-27 15:50

          每個(gè)人都有成長(zhǎng)的渴望,也都會(huì)遇到成長(zhǎng)的瓶頸。下面這個(gè)問(wèn)題是一個(gè)讀者問(wèn)我的:

          如何才能訓(xùn)練成為一個(gè)編程高手?

          先簡(jiǎn)單說(shuō)下這個(gè)讀者的背景:工作 3 年多,目前在大廠做后臺(tái)開發(fā),身邊有不少編程高手,是他想要追趕的目標(biāo)。
          最近半年時(shí)間,他花了一些精力在研究源碼和底層原理上,但總覺得這些知識(shí)和實(shí)際工作銜接不好,提升很慢,學(xué)習(xí)動(dòng)力也越來(lái)越差,希望我能給點(diǎn)建議。
          我和他語(yǔ)音聊了半個(gè)小時(shí),講了一些我個(gè)人以及身邊同事的案例。交流下來(lái)后,雙方都有所啟發(fā)。所以再次整理下,分享給大家。

          ?1?

          何謂 “編程高手

          我覺得能分成這樣 3 類:

          第 1 類:天賦和成就都很高的人中龍鳳,比如能一個(gè)人寫出 WPS 的求伯君、一個(gè)人開發(fā)出電子郵件 Foxmail 的張小龍,對(duì)開源領(lǐng)域影響很大的章亦春等人。

          第 2 類:有不錯(cuò)的口碑同時(shí)廣為人知的技術(shù)大牛,他們一般在知名公司的重要崗位任職過(guò),對(duì)技術(shù)純真熱愛,同時(shí)熱衷分享,比如耗子哥、阮一峰、尤雨溪等人。

          第 3 類:工作中被我們視為崇拜對(duì)象、未來(lái)有希望企及的高 P 或者架構(gòu)師。

          前面兩類不在我的圈層射程內(nèi)(除了跟耗子哥在亞馬遜有過(guò)一面之緣以外),因此本文主要聊下第 3 類人。這個(gè)也是絕大部分讀者最關(guān)心的、同時(shí)可以設(shè)定為超越對(duì)象的群體。
          這樣就有了一個(gè)新問(wèn)題:既然想成為第 3 類人,那如何給第 3 類人下一個(gè)相對(duì)準(zhǔn)確且具象的定義呢?如果目標(biāo)都是模糊的,就難言超越了)
          這其實(shí)是一個(gè)很有意思的問(wèn)題,每個(gè)人的答案可能都不一樣,因?yàn)?span style="font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.5444px;background-color: rgb(255, 255, 255);">「編程水平的高與低本身就是一個(gè)相對(duì)的概念。
          我先說(shuō)一下我的看法。
          剛畢業(yè)那會(huì),我眼中的編程高手是我的同事 -?,他是亞馬遜的架構(gòu)師,團(tuán)隊(duì)里面技術(shù)級(jí)別最高的人(后來(lái)他做到了亞馬遜中國(guó)首架的位置,現(xiàn)在也算圈內(nèi)比較知名的大牛了)。
          超哥是那種能搞定一個(gè)復(fù)雜項(xiàng)目(跨多個(gè)系統(tǒng)),從架構(gòu)設(shè)計(jì)、到編碼、到自動(dòng)化測(cè)試、再到運(yùn)維工具、甚至寫文檔都非常全面的人。顯然是我這個(gè)剛畢業(yè)的菜鳥極其崇拜的大佬。
          再后來(lái),我工作了四五年,走向了技術(shù)管理路線,因?yàn)閹F(tuán)隊(duì)的原因,我又多了一個(gè)新視角來(lái)審視編程厲害的人。

          對(duì)比所謂的 PPT 架構(gòu)師、以及講到技術(shù)原理就滿嘴跑火車而編碼能力卻稀松平常的人,我傾向給編程高手下一個(gè)更務(wù)實(shí)的定義:那就是實(shí)際工作中,能做到高效率、高質(zhì)量、且穩(wěn)定輸出的人。看似容易,實(shí)則很難。我對(duì)這個(gè)定義的詳細(xì)解讀如下:

          高效率:編程效率能做到團(tuán)隊(duì)中的 Top,對(duì)于復(fù)雜需求或者復(fù)雜問(wèn)題能夠快速理解,具備將復(fù)雜工作拆解成一系列簡(jiǎn)單子問(wèn)題并搞定這些問(wèn)題的人。他們能從實(shí)際場(chǎng)景出發(fā),有造輪子的能力,也有不造輪子的覺悟。

          高質(zhì)量:編程質(zhì)量能做到團(tuán)隊(duì)中的 Top,設(shè)計(jì)方案的合理性、編碼的嚴(yán)謹(jǐn)性、測(cè)試方法、監(jiān)控運(yùn)維方案等,都能思考全面的人。

          穩(wěn)定輸出:給高效率和高質(zhì)量增加的限定。我覺得只有量變引起質(zhì)變,真正形成了自己的方法論,能持續(xù)搞定一類問(wèn)題,而不是單個(gè)問(wèn)題的人才算是高手。

          也許你會(huì)說(shuō)要同時(shí)做到這 3 點(diǎn)太難了,但是實(shí)際工作中,一定有人能做到某個(gè)點(diǎn)或者某幾點(diǎn),那么以他們作為這一點(diǎn)的標(biāo)桿即可。
          因?yàn)樗^的編程高手不過(guò)是我們?cè)O(shè)定的一個(gè)目標(biāo)而已,你清楚這個(gè)目標(biāo)是什么就足夠了,不一定非得安在同一個(gè)人身上。

          ?2?

          ? 如何理解 “底層知識(shí)?的價(jià)值?
          要成為一個(gè)編程高手,底層知識(shí)是必不可少的。這是一句正確的廢話,就不展開解釋了。
          讀者真正的問(wèn)題在于:如何將底層知識(shí)和實(shí)際工作銜接起來(lái),做到相輔相成?
          先看一個(gè)具體的例子。對(duì)于簡(jiǎn)歷中寫自己做過(guò)性能優(yōu)化的候選人,我面試時(shí)比較喜歡問(wèn):你是如何定位性能瓶頸并完成調(diào)優(yōu)的?如果再次碰到此類問(wèn)題,你的詳細(xì)思路是什么?
          很顯然,這是一個(gè)系統(tǒng)性的工程問(wèn)題,能同時(shí)對(duì)技術(shù)深度和寬度進(jìn)行考察。
          不僅僅是應(yīng)用層的代碼,還包括所使用的框架、中間件、虛擬機(jī)、網(wǎng)絡(luò)甚至操作系統(tǒng)等等。有性能指標(biāo)等基礎(chǔ)性的知識(shí),有監(jiān)控和壓測(cè)工具的運(yùn)用,還有成體系的排查思路和優(yōu)化方法等等。

          如果是編程低手,他們的答案通常有這幾類:

          1、性能指標(biāo)都不清楚,遇到問(wèn)題也不知道該用什么工具,這一類人應(yīng)用層都不達(dá)標(biāo)。

          2、初步定位到一個(gè)疑似瓶頸點(diǎn)后,就著手優(yōu)化,最終解決的只是一個(gè)淺層次的性能瓶頸問(wèn)題,根本原因并未觸達(dá)到。

          3、能定位到根本原因,但是對(duì)于解決方案的合理性缺少深入思考,不追求極致,最終只是用了曲線的方案再次隱藏了性能問(wèn)題。

          通過(guò)這個(gè)例子,我其實(shí)想說(shuō)明兩點(diǎn):

          1、不具備底層知識(shí),你的視野根本就觸達(dá)不到底層的東西,思維以及能力永遠(yuǎn)只能停留在應(yīng)用層面,能解決的問(wèn)題有限。

          2、讀源碼、學(xué)習(xí)各種原理,所有這些都只是學(xué)習(xí)和鞏固知識(shí)的過(guò)程,真正體現(xiàn)編程水平的是實(shí)際解決問(wèn)題的能力,因此如何將知識(shí)變成有效的經(jīng)驗(yàn)?這個(gè)才是關(guān)鍵,做不到要么是實(shí)踐不夠,要么是壓根沒研究明白。

          然后,我們?cè)倩氐絾?wèn)題身上:究竟如何才能做到底層知識(shí)和實(shí)際工作的銜接呢?如果銜接不好,那問(wèn)題出在哪個(gè)環(huán)節(jié)?
          大家可以先思考下:過(guò)往工作中那些對(duì)你編程能力幫助很大的經(jīng)歷,你認(rèn)為你能獲得提升最關(guān)鍵的因素是什么?是底層知識(shí)的儲(chǔ)備嗎?
          細(xì)想一下一定不是,而是發(fā)現(xiàn)問(wèn)題的能力(注意:我說(shuō)的是最關(guān)鍵的因素,并不是否認(rèn)底層知識(shí)的儲(chǔ)備不重要)
          大家可以去觀察一個(gè)工作中很常見的現(xiàn)象:同一個(gè)問(wèn)題你能看到哪一層?而編程高手又能看到哪一層?誰(shuí)能更快地貼近問(wèn)題的本質(zhì)?誰(shuí)又能衍生出一系列的問(wèn)題?這其實(shí)就是發(fā)現(xiàn)問(wèn)題的能力體現(xiàn)。
          只有當(dāng)你意識(shí)到它是一個(gè)值得深挖的問(wèn)題時(shí),才會(huì)有一層一層的思考,一層一層的分析。
          那應(yīng)該如何提高這方面的能力呢?其實(shí)就是思考力的提升過(guò)程,除了觀察和刻意練習(xí),我想不出更好的建議。多看高手是怎么做的?遇到問(wèn)題時(shí)自己多問(wèn)幾個(gè)為什么?多反思自己的思路是否正確?日積月累水平自然會(huì)提高。
          當(dāng)你具備了發(fā)現(xiàn)問(wèn)題的能力,就相當(dāng)于給知識(shí)和經(jīng)驗(yàn)之間架起了一座橋梁,真正做到相輔相成以及互相驅(qū)動(dòng)。

          ?3?

          ? 成為?“編程高手?的幾點(diǎn)建議
          編程作為一門實(shí)踐性的學(xué)科,多動(dòng)手解決問(wèn)題是最基本的要求了,解決問(wèn)題越多、越難,能力提升越快。
          而在這個(gè)過(guò)程中,如果有知識(shí)輸入(底層知識(shí)的儲(chǔ)備),還有思考的加成(發(fā)現(xiàn)問(wèn)題的能力),編程水平的提會(huì)更加迅速。
          我?guī)н^(guò)的團(tuán)隊(duì)里面,還有一類人總說(shuō)自己技術(shù)進(jìn)步很慢,工作沒有挑戰(zhàn)。但是當(dāng)團(tuán)隊(duì)遇到一個(gè)技術(shù)難題時(shí),他根本沒有意愿去做深入了解,嘴上說(shuō)熱愛技術(shù)、渴望成長(zhǎng),但是卻看不到行動(dòng),這種人是永遠(yuǎn)成為不了編程高手的。
          真正的熱愛來(lái)源于行動(dòng)上的投入,不是找借口,不是追求舒服,這是很重要的一個(gè)區(qū)別。
          編程高手是如何練成的?這樣看來(lái),它其實(shí)是一個(gè)體力、腦力、心力的修仙之路。
          歡迎大家評(píng)論區(qū)留言,說(shuō)說(shuō)你的看法。

          大家在看:

          學(xué)會(huì)這幾招,年底晉升不慌了

          我給 Apache 頂級(jí)項(xiàng)目提了個(gè) Bug

          一個(gè)架構(gòu)師的緩存修煉之路

          一個(gè)核心系統(tǒng)3萬(wàn)行代碼的重構(gòu)之旅



          武哥漫談 IT??


          前亞馬遜工程師,現(xiàn)大廠技術(shù)總監(jiān),持續(xù)分享個(gè)人的成長(zhǎng)收獲,希望為你的職場(chǎng)發(fā)展帶來(lái)些新思路,歡迎掃碼關(guān)注我!

          瀏覽 45
          點(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>
                  婷婷五月天AV | 日韩视频中文字幕 | 青榴网| 欧美 91| 99精品视频在线观看免费 |