最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

那些編程水平很高的程序員是怎么訓(xùn)練出來的?

2023-08-07 16:43 作者:炸芋泥丸子  | 我要投稿

在我看來,成為編程高手其實(shí)是一場體力、腦力、心力的修仙之路。

我基于個人以及身邊同事的案例展開說一下我的建議,希望讓你有所啟發(fā)。

1、首先何謂 “編程高手” ?

我覺得能分成這樣 3 類:

第 1 類:天賦和成就都很高的人中龍鳳,比如能一個人寫出 WPS 的求伯君、一個人開發(fā)出電子郵件 Foxmail 的張小龍,對開源領(lǐng)域影響很大的章亦春等人。
第 2 類:有不錯的口碑同時廣為人知的技術(shù)大牛,他們一般在知名公司的重要崗位任職過,對技術(shù)純真熱愛,同時熱衷分享,比如耗子哥、阮一峰、尤雨溪等人。
第 3 類:工作中被我們視為崇拜對象、未來我們也有希望達(dá)到這一水平的高 P 或者架構(gòu)師。

前面兩類不在我的圈層射程內(nèi)( 除了跟耗子哥在亞馬遜有過一面之緣以外 ),因此本文主要聊下第 3 類人。這個也是絕大部分讀者最關(guān)心的、同時可以設(shè)定為超越對象的群體。

這樣就有了一個新問題: 既然想成為第 3 類人,那如何給第 3 類人下一個相對準(zhǔn)確且具象的定義呢? (如果目標(biāo)都是模糊的,就難言超越了)

這其實(shí)是一個很有意思的問題,每個人的答案可能都不一樣,因?yàn)椤妇幊趟降母吲c低」本身就是一個相對的概念。

我先說一下我的看法。

剛畢業(yè)那會,我眼中的編程高手是亞馬遜的架構(gòu)師,團(tuán)隊(duì)里面技術(shù)級別最高的人(后來他做到了亞馬遜中國首架的位置,現(xiàn)在也算圈內(nèi)比較知名的大牛了)。

他能搞定一個復(fù)雜項(xiàng)目(跨多個系統(tǒng)),從架構(gòu)設(shè)計(jì)、到編碼、到自動化測試、再到運(yùn)維工具、甚至寫文檔都非常全面的人。顯然是我這個剛畢業(yè)的菜鳥極其崇拜的大佬。

再后來,我工作了,走向了技術(shù)管理路線,因?yàn)閹F(tuán)隊(duì)的原因,我又多了一個新視角來審視編程厲害的人。

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

看似容易,實(shí)則很難。我對這個定義的詳細(xì)解讀如下:

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

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

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

也許你會說要同時做到這 3 點(diǎn)太難了,但是實(shí)際工作中,一定有人能做到某個點(diǎn)或者某幾點(diǎn),那么以他們作為這一點(diǎn)的標(biāo)桿即可。

因?yàn)樗^的 「 編程高手」 不過是 我們設(shè)定 的一個目標(biāo)而已,你清楚這個目標(biāo)是什么就足夠了,不一定非得安在同一個人身上。

2、如何訓(xùn)練成為一個“編程高手”?

要成為一個編程高手,底層知識是必不可少的。這是一句正確的廢話,就不展開解釋了。

我覺得最重要的一點(diǎn)是,能夠摸索清楚:如何將底層知識和實(shí)際工作銜接起來,做到相輔相成?

先看一個具體的例子。對于簡歷中寫自己做過性能優(yōu)化的候選人,我面試時比較喜歡問:你是如何定位性能瓶頸并完成調(diào)優(yōu)的?如果再次碰到此類問題,你的詳細(xì)思路是什么?

很顯然,這是一個系統(tǒng)性的工程問題,能同時對技術(shù)深度和寬度進(jìn)行考察。

不僅僅是應(yīng)用層的代碼,還包括所使用的框架、中間件、虛擬機(jī)、網(wǎng)絡(luò)甚至操作系統(tǒng)等等。 有性能指標(biāo)等基礎(chǔ)性的知識,有 監(jiān)控和壓測工具的運(yùn)用,還 有成體系的排查思路和優(yōu)化方法等等。

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

1、性能指標(biāo)都不清楚,遇到問題也不知道該用什么工具,這一類人應(yīng)用層都不達(dá)標(biāo)。
2、初步定位到一個疑似瓶頸點(diǎn)后,就著手優(yōu)化,最終解決的只是一個淺層次的性能瓶頸問題,根本原因并未觸達(dá)到。
3、能定位到根本原因,但是對于解決方案的合理性缺少深入思考,不追求極致,最終只是用了曲線的方案再次隱藏了性能問題。

通過這個例子,我其實(shí)想說明兩點(diǎn):

1、不具備底層知識,你的視野根本就觸達(dá)不到底層的東西,思維以及能力永遠(yuǎn)只能停留在應(yīng)用層面,能解決的問題有限。
2、讀源碼、學(xué)習(xí)各種原理,所有這些都只是學(xué)習(xí)和鞏固知識的過程,真正體現(xiàn)編程水平的是實(shí)際解決問題的能力,因此如何將知識變成有效的經(jīng)驗(yàn)?這個才是關(guān)鍵,做不到要么是實(shí)踐不夠,要么是壓根沒研究明白。

然后,我們再回到問題身上:究竟如何才能做到底層知識和實(shí)際工作的銜接呢?如果銜接不好,那問題出在哪個環(huán)節(jié)?

大家可以先思考下:過往工作中那些對你編程能力幫助很大的經(jīng)歷,你認(rèn)為你能獲得提升最關(guān)鍵的因素是什么?是底層知識的儲備嗎?

細(xì)想一下一定不是,而是發(fā)現(xiàn)問題的能力。 (注意:我說的是最關(guān)鍵的因素,并不是否認(rèn)底層知識的儲備不重要)

大家可以去觀察一個工作中很常見的現(xiàn)象:同一個問題你能看到哪一層?而編程高手又能看到哪一層?誰能更快地貼近問題的本質(zhì)?誰又能衍生出一系列的問題? 這其實(shí)就是「發(fā)現(xiàn)問題」的能力體現(xiàn)。

只有當(dāng)你意識到它是一個值得深挖的問題時,才會有一層一層的思考,一層一層的分析。

那應(yīng)該如何提高這方面的能力呢?其實(shí)就是思考力的提升過程,除了觀察和刻意練習(xí),我想不出更好的建議。多看高手是怎么做的?遇到問題時自己多問幾個為什么?多反思自己的思路是否正確?日積月累水平自然會提高。

當(dāng)你具備了發(fā)現(xiàn)問題的能力,就相當(dāng)于給知識和經(jīng)驗(yàn)之間架起了一座橋梁,真正做到相輔相成以及互相驅(qū)動。

3、成為 “編程高手” 的其他建議

編程作為一門實(shí)踐性的學(xué)科,多動手解決問題是最基本的要求了,解決問題越多、越難,能力提升越快。

而在這個過程中,如果有知識輸入(底層知識的儲備),還有思考的加成(發(fā)現(xiàn)問題的能力),編程水平的提升會更加迅速。

我?guī)н^的團(tuán)隊(duì)里面,還有一類人總說自己技術(shù)進(jìn)步很慢,工作沒有挑戰(zhàn)。但是當(dāng)團(tuán)隊(duì)遇到一個技術(shù)難題時,他根本沒有意愿去做深入了解,嘴上說熱愛技術(shù)、渴望成長,但是卻看不到行動,這種人是永遠(yuǎn)成為不了編程高手的。

真正的熱愛來源于行動上的投入,不是找借口,不是追求舒服,這是很重要的一個區(qū)別。

編程高手是如何練成的?這樣看來,它其實(shí)是一個體力、腦力、心力的修仙之路。


那些編程水平很高的程序員是怎么訓(xùn)練出來的?的評論 (共 條)

分享到微博請遵守國家法律
盐亭县| 呼玛县| 金乡县| 万宁市| 南雄市| 太湖县| 嘉善县| 营口市| 兴海县| 仁布县| 衡阳县| 吐鲁番市| 来宾市| 开封县| 长宁区| 关岭| 宁乡县| 德清县| 南丹县| 西乌珠穆沁旗| 新建县| 桃园县| 和平县| 桦甸市| 锦州市| 辛集市| 禄劝| 泽州县| 察哈| 上犹县| 宾川县| 磐石市| 长宁区| 灌云县| 资阳市| 三河市| 巴青县| 香河县| 汽车| 乐业县| 措美县|