大家尋找高級(jí)程序員到底是什么樣子的?(高級(jí)程序員是做什么的)

      網(wǎng)友投稿 914 2022-05-30

      如果第二次看到我的文章,歡迎「文末」掃碼訂閱我個(gè)人的公眾號(hào)(跨界架構(gòu)師)喲~

      每周五11:45 按時(shí)送達(dá)。當(dāng)然了,也會(huì)時(shí)不時(shí)加個(gè)餐~

      我的第「110」篇原創(chuàng)敬上

      你好,我是Z哥。

      這篇文章主題很簡(jiǎn)單,就是一個(gè)很常見(jiàn)的話(huà)題“什么是高級(jí)程序員?”。

      文章稍微長(zhǎng)了些,但是很容易閱讀。

      我們的中國(guó)文化,對(duì)“面子”看的特別重,所以你會(huì)發(fā)現(xiàn)身邊到處都是高級(jí)XXX,聽(tīng)著倍兒有面子,程序員也不例外。

      但是你真要問(wèn)每個(gè)人,你認(rèn)為的高級(jí)XXX是什么樣子的。估計(jì)每個(gè)人都有不同的回答。

      我還記得在我剛開(kāi)始從事編程工作的時(shí)候,對(duì)坐在邊上不遠(yuǎn)的那位我心目中的高級(jí)程序員的印象是:

      工作至少有6、7年以上,能寫(xiě)一個(gè)用起來(lái)很方便、看起來(lái)很牛逼、但是不太容易讓初級(jí)人員看懂的框架。

      前兩天,我把這個(gè)問(wèn)題丟到群里,大家給出的答案中,占比最高的是以下幾個(gè)。

      有 N 年以上編程經(jīng)驗(yàn)(大部分都說(shuō)5年以上)

      有出版過(guò)技術(shù)圖書(shū)

      對(duì)某領(lǐng)域內(nèi)對(duì)常用框架原理有了解,并且實(shí)際使用超過(guò)2年

      可以隨時(shí)隨地快速寫(xiě)出常見(jiàn)的一些算法

      至少封裝過(guò)一個(gè)被全局使用的開(kāi)發(fā)框架

      寫(xiě)出來(lái)的代碼,閱讀起來(lái)很好理解

      能帶領(lǐng)其他人員成功完成項(xiàng)目

      你看,這件事對(duì)大家來(lái)說(shuō)就是常說(shuō)的,“一千個(gè)人眼中有一千個(gè)哈姆雷/特”。

      不過(guò)這也正常,畢竟像初級(jí)、中級(jí)、高級(jí)這種高度抽象的詞匯,想要得到一個(gè)可描述的定義與人交流,必然需要夾雜著個(gè)人的主觀因素。

      但是很多行業(yè)都在這么進(jìn)行分類(lèi),自然有它的道理和好處。

      我覺(jué)得其中最大的一個(gè)好處恰好是「主觀」的附屬品——「彈性」。

      比如,我現(xiàn)在想招一位高級(jí)程序員,面試的時(shí)候不管是通過(guò)還是不通過(guò),我都有理由來(lái)解釋我對(duì)“高級(jí)”的定義。如此一來(lái),我對(duì)陌生人的判斷就有了更大的「彈性」。

      這其實(shí)是面試官的一種權(quán)利,也是長(zhǎng)期以來(lái)面試者總在面試中處于下峰的原因之一。

      事物總是有兩面性的,我們?cè)趯?duì)陌生人彈性的同時(shí),間接的也對(duì)內(nèi)部的人彈性了,會(huì)導(dǎo)致內(nèi)部的一些人才培養(yǎng)出現(xiàn)問(wèn)題。

      比如,你覺(jué)得內(nèi)部的高級(jí)程序員不夠,希望能在外部招聘的同時(shí),從內(nèi)部也培養(yǎng)一些出來(lái)。但是此時(shí),你又面臨了需要定義什么是“高級(jí)”的問(wèn)題。

      如果沒(méi)法定義一個(gè)能夠達(dá)成共識(shí)的標(biāo)準(zhǔn),又如何指導(dǎo)培養(yǎng)的方向呢?只能是一句空話(huà)。

      長(zhǎng)期以往會(huì)導(dǎo)致更嚴(yán)重的問(wèn)題:真正的高級(jí)程序員不夠,只能讓中級(jí)程序員頂上。頂替的時(shí)間長(zhǎng)了,會(huì)讓一些中級(jí)程序員誤以為自己已經(jīng)達(dá)到了高級(jí)水平。

      在我平時(shí)的面試中,這樣的案例屢見(jiàn)不鮮。網(wǎng)上流傳的工作10年 = 1年重復(fù)10次的段子是真實(shí)存在的。

      下面我來(lái)聊聊我對(duì)「什么是高級(jí)程序員」的個(gè)人看法,歡迎你和我一起探討。

      不管是什么行業(yè),什么崗位,在這個(gè)高度分工協(xié)作的現(xiàn)代社會(huì),所需的能力主要分為三個(gè)維度。

      專(zhuān)業(yè)能力

      連接能力

      領(lǐng)導(dǎo)能力

      我對(duì)程序員在這三個(gè)維度的理解大致是以下這個(gè)樣子。

      先賣(mài)個(gè)關(guān)子,文章的最后我會(huì)將這三個(gè)維度組合起來(lái),你會(huì)發(fā)現(xiàn)一片新的天地。

      大家在尋找的高級(jí)程序員到底是什么樣子的?(高級(jí)程序員是做什么的)

      根據(jù)這三個(gè)維度的水平差異,我們對(duì)初級(jí)程序員、中級(jí)程序員、高級(jí)程序員做一個(gè)簡(jiǎn)要的描述。

      01?初級(jí)程序員 - 知道有事要做

      處在初級(jí)階段的時(shí)候,我們的精力大多只會(huì)專(zhuān)注在專(zhuān)業(yè)能力的提升上。這個(gè)時(shí)候「領(lǐng)導(dǎo)能力」和「連接能力」是很弱的。

      所以,這個(gè)時(shí)候哪怕你有強(qiáng)烈的好奇心也無(wú)法很好的表達(dá)出來(lái),大多只能被動(dòng)的接受工作安排。

      在這個(gè)時(shí)期做事情需要依賴(lài)一些教程、文檔,只能“依樣畫(huà)葫蘆”,幾乎不能在不借助外部信息的情況下解決之前從未遇到過(guò)的新問(wèn)題,所以百度、Google就成了他們唯一的選擇。

      你可以在你的身邊觀察一下,如果經(jīng)常有以下這些場(chǎng)景出現(xiàn),大多是初級(jí)程序員的表現(xiàn)。

      很難提出正確的問(wèn)題,大多會(huì)直接問(wèn)別人這個(gè)功能應(yīng)該怎么做。如果你清楚地向他解釋?zhuān)蜁?huì)完全按你說(shuō)的去做,甚至你寫(xiě)的示例代碼都會(huì)copy過(guò)去。因?yàn)樵谒麄兊氖澜缋铮挥芯幾g成功和編譯失敗,任務(wù)完成和任務(wù)未完成。

      經(jīng)常犯錯(cuò)誤,所以會(huì)預(yù)留過(guò)多“彈性時(shí)間”,以便有時(shí)間在到期日之前重做。所以總會(huì)抱怨“沒(méi)時(shí)間”。

      對(duì)與自己有工作交集的人員的職能沒(méi)有認(rèn)識(shí)。比如,對(duì)測(cè)試人員總是充滿(mǎn)敵意的,因?yàn)樗麄儼l(fā)現(xiàn)了錯(cuò)誤,“阻礙”了自己完成工作。

      還沒(méi)注意養(yǎng)成一些好習(xí)慣,比如習(xí)慣性的提煉重復(fù)代碼、編寫(xiě)風(fēng)格一致的代碼、自測(cè)等等。

      很遺憾,看似很初級(jí)的階段,并不只是剛踏入工作的程序員所屬,在實(shí)際工作中,也有不少工作多年的人還處在這個(gè)階段。

      02?中級(jí)程序員 - 知道如何做某事

      對(duì)人群按照單一維度進(jìn)行劃分,大多數(shù)時(shí)候都是符合正態(tài)分布的,這里也不例外。中級(jí)程序員是我們身邊最多的,包括那些不得不穿上高級(jí)程序員馬甲的中級(jí)程序員。

      在這個(gè)階段,有些中級(jí)程序員開(kāi)始具備了一定的「連接能力」,但并不是所有人,主要看是不是擁有了「共同體意識(shí)」。

      在專(zhuān)業(yè)能力上,中級(jí)程序員已經(jīng)明白了一定的「整體與局部」的概念,但仍然看不到整個(gè)“森林”,大多局限在某個(gè)模塊、流程上。比如,他們會(huì)想“這是做敏捷的正確方式嗎?”,但不會(huì)考慮“這對(duì)整個(gè)團(tuán)隊(duì)、整個(gè)公司會(huì)產(chǎn)生什么實(shí)際的影響?”。

      他們開(kāi)始注重代碼質(zhì)量,因?yàn)閾?dān)心低質(zhì)量的代碼會(huì)影響他們視野中的“整體”。

      但是對(duì)于質(zhì)量的理解還是比較單一。比如,這個(gè)時(shí)候你會(huì)經(jīng)常聽(tīng)到他們把「性能」掛在嘴邊,在他們心目中「性能」的地位是至高無(wú)上的,總是想著你這個(gè)方案和我的方案哪個(gè)性能更好。

      同樣可以觀察一下周?chē)屑?jí)的開(kāi)發(fā)大多數(shù)會(huì)這樣做事。

      針對(duì)一個(gè)問(wèn)題,可以提出多個(gè)方案,但是無(wú)法做出準(zhǔn)確的決策。一旦更權(quán)威的人給出了他的選擇,中級(jí)程序員就會(huì)不假思索的按照建議執(zhí)行。

      可以看出代碼中的一些設(shè)計(jì)模式,但是自己寫(xiě)代碼的時(shí)候除了單例和工廠(chǎng),其它的幾乎想不到。

      在討論一些時(shí)髦的框架和技術(shù)的時(shí)候總能聊上幾句,但是追問(wèn)這個(gè)框架或者技術(shù)有什么缺點(diǎn),基本說(shuō)不上來(lái)。甚至,草率的在項(xiàng)目中運(yùn)用上這些時(shí)髦的框架和技術(shù),最終導(dǎo)致線(xiàn)上問(wèn)題頻發(fā),不得不讓高級(jí)程序員來(lái)收拾殘局。

      能夠?qū)ψ约和瓿扇蝿?wù)所需的時(shí)間有準(zhǔn)確的評(píng)估,但是評(píng)估他人的時(shí)間不會(huì)因人而異,也會(huì)以自己作為標(biāo)準(zhǔn)來(lái)評(píng)估。

      對(duì)與自己有工作交集的人員的職能有了一定的認(rèn)識(shí)。比如,會(huì)主動(dòng)尋求測(cè)試的配合,幫助自己交付更高質(zhì)量的項(xiàng)目。

      其實(shí)這個(gè)階段是最危險(xiǎn)的階段,因?yàn)樽羁膳碌牟皇菬o(wú)知,而是一知半解。心理學(xué)中的鄧寧-克魯格效應(yīng)(The Dunning-Kruger Effect)講述的就是這個(gè)問(wèn)題。

      兩位社會(huì)心理學(xué)家在1999年做的4項(xiàng)研究,證實(shí)了下面的這個(gè)曲線(xiàn)的存在。

      在這種狀態(tài)下,人最容易高估自己,這也是很多導(dǎo)致產(chǎn)生很多“假高級(jí)程序員”的原因所在。

      03?高級(jí)程序員 - 知道必須做些什么

      高級(jí)程序員在「專(zhuān)業(yè)能力」、「連接能力」、「領(lǐng)導(dǎo)能力」這三個(gè)維度都有所建樹(shù)。因?yàn)樗麄儾坏梢园褟?到100的事情做得很好,也有能力帶領(lǐng)其它人完成0到1的事情。

      根據(jù)我身邊所接觸的程序員群體來(lái)看,我所認(rèn)為的高級(jí)程序員,他們明白沒(méi)有什么是完美的,相反,問(wèn)題、缺點(diǎn)和風(fēng)險(xiǎn)總是存在的。

      他們的決策總是站在為了整體的「平衡」角度去考慮,而不是技術(shù)的酷炫或者外界流傳的所謂“正確的”技術(shù)。

      他們會(huì)更多的關(guān)心那些不顯而易見(jiàn)的東西,如可維護(hù)性,可擴(kuò)展性,易閱讀,易調(diào)試等等。

      高級(jí)程序員就好比社會(huì)中的成年人,他們踩過(guò)足夠多的坑,也填過(guò)足夠多的坑,已經(jīng)認(rèn)清了現(xiàn)實(shí)的殘酷,尋求適合而不是完美。周到、務(wù)實(shí)、簡(jiǎn)單,是他們做事的時(shí)候強(qiáng)烈散發(fā)出的“味道”。

      可以根據(jù)下面的這些場(chǎng)景來(lái)看看你身邊有多少“有味道”的高級(jí)程序員?

      與初級(jí)和中級(jí)程序員不同,他們拋出問(wèn)題不是為了正確的做事,而是做正確的事。他們會(huì)詢(xún)問(wèn)為什么要這樣做以及你想要實(shí)現(xiàn)什么。當(dāng)你告訴他們目標(biāo)是什么后,他們或許會(huì)通過(guò)暗示這種方式是錯(cuò)誤的而另一種更好來(lái)做出一些修正;當(dāng)然,更重要的是還會(huì)提供論據(jù)說(shuō)服你。

      因?yàn)樘崆懊鞔_了做事的目標(biāo),所以在動(dòng)手做一件事的過(guò)程中,他會(huì)在關(guān)鍵細(xì)節(jié)思考有沒(méi)有更好的方法,甚至是那些不在之前的討論范圍的新嘗試。

      他可以輕松地承認(rèn)他不知道什么,并且向你請(qǐng)教。同時(shí)也可以輕松地向他人講清楚他所知道的事情。

      他們理解合作的人員的職能的作用,不但知道什么時(shí)候向誰(shuí)尋求幫助,還知道自己如何更好的幫助他們。

      困難的事交給他們很放心,因?yàn)樗麄兩瞄L(zhǎng)的不是某種技術(shù),而是解決問(wèn)題的能力。他們總能解決那些之前從未遇到過(guò)的新問(wèn)題,哪怕它們很困難。

      那么,怎么做有助于我們成為高級(jí)程序員呢?

      01?關(guān)注技術(shù)之余還要關(guān)注業(yè)務(wù)

      為什么把它放第一點(diǎn),因?yàn)槲矣X(jué)得這點(diǎn)最重要,是其它項(xiàng)的基礎(chǔ),也最容易做到。但是很多程序員不愿意去做。

      一定要搞清楚業(yè)務(wù)目標(biāo),不搞清楚不開(kāi)工。相信我,只要是一位合格的leader,一定會(huì)不厭其煩的和你說(shuō)清楚的。

      然后要習(xí)慣基于業(yè)務(wù)目標(biāo)去分析可能會(huì)面臨的技術(shù)挑戰(zhàn)。比如,多少流量,涉及哪些用戶(hù)角色和功能,復(fù)雜度有多大等等。

      再帶著下面的「不可能三角」去尋找合適的技術(shù)框架、解決方案。盡可能的尋求最優(yōu)的平衡,而不是走極端。

      如果拿捏不準(zhǔn),可以將多個(gè)方案各自的優(yōu)缺點(diǎn)羅列出來(lái),向Leader尋求建議。

      02?“設(shè)計(jì)”代碼而不是“寫(xiě)”代碼

      一般人可能拿到需求,就開(kāi)始寫(xiě)代碼了,寫(xiě)著寫(xiě)著由于頁(yè)面功能越來(lái)越多,感覺(jué)代碼越來(lái)越復(fù)雜,自己都會(huì)覺(jué)得難以維護(hù)了。

      雖說(shuō)要做好設(shè)計(jì)離不開(kāi)大量的實(shí)戰(zhàn)經(jīng)驗(yàn)的積累。但是還是有些方法可以讓塑造這個(gè)能力的過(guò)程更快一些。比如,

      首先就是前面提到的第一點(diǎn),多關(guān)注業(yè)務(wù)。不了解業(yè)務(wù),你啥都設(shè)計(jì)不出來(lái)。或者把馬設(shè)計(jì)成了驢……

      如果某個(gè)功能的開(kāi)發(fā)/修改,以“天”為工時(shí)單位,一定要先畫(huà)圖。具體畫(huà)什么圖,可以參考我之前寫(xiě)的文章:軟件開(kāi)發(fā)中會(huì)用到的圖。

      搞明白每個(gè)設(shè)計(jì)模式的特點(diǎn)和適用場(chǎng)景,注意,不需要把代碼怎么寫(xiě)背下來(lái)。只要你每次寫(xiě)代碼之前掃一眼設(shè)計(jì)模式的列表,看看有沒(méi)有適用的。如果有的話(huà),再去“依樣畫(huà)葫蘆”按照設(shè)計(jì)模式去實(shí)現(xiàn),經(jīng)過(guò)時(shí)間的積累,慢慢地,你真正掌握的設(shè)計(jì)模式就越來(lái)越多了。這有助于鍛煉你的設(shè)計(jì)能力。

      03?“接”需求之前會(huì)先“砍”需求

      要做這點(diǎn)還得依賴(lài)于第一點(diǎn),否則,你提出的“砍”需求建議大多是不會(huì)被采納的。

      很多人在聽(tīng)需求講解的時(shí)候,思考的是,這個(gè)功能能不能實(shí)現(xiàn)、怎么實(shí)現(xiàn)、難不難。大多數(shù)的提問(wèn)也是基于這個(gè)思路展開(kāi)的。

      可能也會(huì)提出“砍”需求的問(wèn)題,但是理由大多是這個(gè)實(shí)現(xiàn)起來(lái)太麻煩了,這個(gè)沒(méi)法實(shí)現(xiàn)之類(lèi)。

      其實(shí)只要你時(shí)刻保持著“做這個(gè)需求的目的是什么”這個(gè)問(wèn)題去思考,“砍”需求會(huì)變成一件更容易成功,而且自然而然的事情。

      04?解決一類(lèi)問(wèn)題而不是一個(gè)問(wèn)題

      很多人覺(jué)得,每天看到bug清完就萬(wàn)事大吉了。哪怕同一個(gè)問(wèn)題在生產(chǎn)環(huán)境出現(xiàn)多次,最多也就說(shuō)一句“不會(huì)吧,怎么又出問(wèn)題了”。

      這種對(duì)待問(wèn)題的方式只會(huì)讓你越來(lái)越忙,因?yàn)槟愕慕鉀Q問(wèn)題效率與投入的時(shí)間多少是成同比變化的。

      我們要習(xí)慣于解決掉一個(gè)bug之后,想一下能否通過(guò)什么方式找到現(xiàn)有代碼中的同類(lèi)問(wèn)題,并把它們處理掉。

      甚至是考慮有沒(méi)有什么辦法能夠一勞永逸的避免此類(lèi)問(wèn)題再次發(fā)生,比如封裝一個(gè)SDK或者寫(xiě)一個(gè)組件,盡可能用一種低侵入的通用方式將問(wèn)題扼殺在搖籃里。不但讓自己輕松了,也造福了大家。

      05?遵循KISS原則,寫(xiě)盡可能簡(jiǎn)單的代碼

      KISS 原則:保持簡(jiǎn)單,愚蠢(Keep it simple, stupid)。

      不單單是程序員,任何化繁為簡(jiǎn)的能力才是一個(gè)人功力深厚的體現(xiàn),沒(méi)有之一。

      越簡(jiǎn)單,越接近本質(zhì)。就好比,有的人要用長(zhǎng)篇大論才能講明白一件事,而有的人只要做一個(gè)形象的比喻你就懂了。

      這個(gè)「簡(jiǎn)單」指的是整體的簡(jiǎn)單,而不是通過(guò)局部的復(fù)雜讓另一個(gè)局部簡(jiǎn)單。比如,為了上層的使用更加傻瓜化,底層封裝的代碼錯(cuò)綜復(fù)雜、晦澀難懂,這并不是真正的“簡(jiǎn)單”。

      如果你自認(rèn)為已經(jīng)是一個(gè)中級(jí)或者高級(jí)程序員了,那么你回頭去看看自己還是初級(jí)程序員那會(huì)寫(xiě)的代碼,就會(huì)很容易發(fā)現(xiàn)一些顯得冗余的代碼。

      第二點(diǎn)提到的——「“設(shè)計(jì)”代碼而不是“寫(xiě)”代碼」對(duì)做好這點(diǎn)有很大的幫助。

      06?選擇忍受某些問(wèn)題

      在人工智能還不能代替我們coding之前,我們永遠(yuǎn)要親自面對(duì)無(wú)窮無(wú)盡的、這樣那樣的問(wèn)題。

      然而,任何事物都有兩面性的,一個(gè)方案在解決一個(gè)老問(wèn)題的同時(shí),總會(huì)帶來(lái)新的問(wèn)題。所以,我們一定要意識(shí)到,忍受某些問(wèn)題是必然的。

      那些你現(xiàn)在看起來(lái)很傻逼的設(shè)計(jì),可能就是當(dāng)時(shí)的人做出的妥協(xié)。

      所以,既然如此,你更應(yīng)該考慮的是,當(dāng)前的這個(gè)問(wèn)題現(xiàn)在到底有沒(méi)有必要解決?值不值得,為什么之前沒(méi)去解決?它是不是你當(dāng)前所有待解決問(wèn)題列表中優(yōu)先級(jí)最高的?

      07?打造自己的“T型”專(zhuān)業(yè)技能

      可能很多人都聽(tīng)過(guò)“T型人才”的概念,我們程序員在專(zhuān)業(yè)技能的打造上也適合用這種模型。

      但是對(duì)于“先豎再橫”還是“先橫再豎”可能不同的人有不同的看法。

      我的觀點(diǎn)是,大多數(shù)情況下,先豎再橫。特別是某個(gè)技術(shù)、領(lǐng)域發(fā)展的越成熟,越應(yīng)該如此。

      因?yàn)楹芏嗍挛锏谋举|(zhì)是一樣的,所以對(duì)某一個(gè)領(lǐng)域達(dá)到非常深入,洞察到一些本質(zhì)的東西之后,對(duì)其它相鄰的領(lǐng)域有觸類(lèi)旁通的效果。可以加速自己在「廣度」上的擴(kuò)展。

      不過(guò),「廣度」也不是說(shuō)蜻蜓點(diǎn)水,只知道最表象的“它是什么”。我認(rèn)為比較合適的程度是,可以不用清楚某個(gè)技術(shù)具體的使用方式,但得知道它可以解決哪些問(wèn)題,以及使用成本和潛在的風(fēng)險(xiǎn),我將這些信息概括為“它怎么樣”。

      08?構(gòu)建自驅(qū)動(dòng)的“閉環(huán)”

      很多人都知道閉環(huán)的概念,但是它的重要性和價(jià)值往往被低估。因?yàn)槿丝偸嵌桃暤模熬凵吵伤敝?lèi)的方式總是不受待見(jiàn)。

      常規(guī)的搭建一個(gè)閉環(huán)的過(guò)程大多是這樣的。

      這里所說(shuō)的自驅(qū)動(dòng)的“閉環(huán)”是這樣的。

      如何才能變成這樣呢?只要做一件事,盡可能多的對(duì)外輸出自己的知識(shí)。

      舉個(gè)我自己的例子,我在2015年那會(huì)在項(xiàng)目中開(kāi)始引入領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),并且不斷的在內(nèi)部進(jìn)行分享它的好處,慢慢地越來(lái)越多的項(xiàng)目開(kāi)始往這個(gè)方向走。

      因?yàn)榍捌诘牟粩喾窒恚栽诮M織內(nèi)部,別人對(duì)我的人設(shè)多了一個(gè)“DDD專(zhuān)家”的標(biāo)簽,那么大家遇到有關(guān)DDD的問(wèn)題就會(huì)來(lái)和我一起探討。

      越到后面,我已經(jīng)不用自己主動(dòng)去尋找這個(gè)領(lǐng)域的知識(shí)去學(xué)習(xí)了,因?yàn)榻邮盏降耐獠糠答佉呀?jīng)足夠多了,它們能夠倒逼我往前走。并且這些反饋都是實(shí)際的真實(shí)場(chǎng)景,此時(shí)的信息獲取和學(xué)習(xí)自然能達(dá)到「學(xué)以致用」的效果。

      說(shuō)實(shí)話(huà),有不少人并不是這么想的,他們想的恰恰相反:“為什么每個(gè)人都在問(wèn)我問(wèn)題!你自己去學(xué)習(xí)吧!”。

      所以,當(dāng)你遇到其他人來(lái)請(qǐng)教你的時(shí)候,如果恰巧這是你所關(guān)注的領(lǐng)域,那么應(yīng)該去擁抱這個(gè)問(wèn)題而不是排斥它。因?yàn)槟闶菆F(tuán)隊(duì)里最權(quán)威的人,這是你構(gòu)建自驅(qū)動(dòng)“閉環(huán)”的好機(jī)會(huì)。錯(cuò)過(guò)這一回,下一回不知道得等多久。

      前面文章里說(shuō)到,我會(huì)將「專(zhuān)業(yè)技能」、「連接外部的能力」、「領(lǐng)導(dǎo)力」三個(gè)維度組合起來(lái)給你看。就是下面這個(gè)樣子。

      你會(huì)發(fā)現(xiàn)這里面包含了程序員在進(jìn)階后的幾個(gè)常見(jiàn)崗位。

      可以對(duì)號(hào)入座一下:D

      好了,我們總結(jié)一下。

      這篇我先和你聊了一下在大家眼中高級(jí)程序員是什么樣子,發(fā)現(xiàn)沒(méi)有特別統(tǒng)一的標(biāo)準(zhǔn),都是模糊的。這也體現(xiàn)在了幾個(gè)現(xiàn)實(shí)的場(chǎng)景中,比如招聘高級(jí)程序員、培養(yǎng)高級(jí)程序員上。

      其次,我對(duì)初級(jí)、中級(jí)、高級(jí)程序員的特點(diǎn)分別闡述了自己的觀點(diǎn)。

      然后,給出了一些幫助大家往高級(jí)程序員靠攏的實(shí)踐思路。

      希望對(duì)你有所啟發(fā)。

      最后,用Martin Fowler的一句話(huà)作為結(jié)尾:“任何傻瓜都能寫(xiě)計(jì)算機(jī)能理解的代碼,優(yōu)秀的程序員編寫(xiě)人類(lèi)能夠理解的代碼。”

      Any?fool?can?write?code?that?a?computer?can?understand.?Good?programmers?write?code?that?humans?can?understand

      希望看到這篇文章的每個(gè)程序員最終都能成為頭發(fā)茂盛的碼農(nóng):D

      推薦文章:

      8個(gè)月打磨,一份送給程序員的「分布式系統(tǒng)」合集

      一個(gè)引發(fā)程序員們干架的問(wèn)題

      出處:https://www.cnblogs.com/Zachary-Fan/p/seniordev.html

      如果你喜歡這篇文章,可以點(diǎn)一下左下角的「」。

      這樣可以給我一點(diǎn)反饋。: )

      謝謝你的舉手之勞。

      定期發(fā)表原創(chuàng)內(nèi)容:架構(gòu)設(shè)計(jì)丨分布式系統(tǒng)丨產(chǎn)品丨運(yùn)營(yíng)丨一些思考。

      如果你是初級(jí)程序員,想提升但不知道如何下手。又或者做程序員多年,陷入了一些瓶頸想拓寬一下視野。歡迎關(guān)注我的公眾號(hào)「跨界架構(gòu)師」,回復(fù)「技術(shù)」,送你一份我長(zhǎng)期收集和整理的思維導(dǎo)圖。

      如果你是運(yùn)營(yíng),面對(duì)不斷變化的市場(chǎng)束手無(wú)策。又或者想了解主流的運(yùn)營(yíng)策略,以豐富自己的“倉(cāng)庫(kù)”。歡迎關(guān)注我的公眾號(hào)「跨界架構(gòu)師」,回復(fù)「運(yùn)營(yíng)」,送你一份我長(zhǎng)期收集和整理的思維導(dǎo)圖。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:成熟度模型: 敏捷和DevOps在企業(yè)中規(guī)模化推廣的利器(成熟度模型五個(gè)階段)
      下一篇:excel表格分類(lèi)排序的教程詳解(excel表格如何分類(lèi)排序)
      相關(guān)文章
      久久亚洲色WWW成人欧美| 亚洲精品9999久久久久无码| 在线观看亚洲专区| 亚洲熟妇久久精品| 亚洲无圣光一区二区| 911精品国产亚洲日本美国韩国| 亚洲国产精品久久久久久| 国产精品亚洲片在线观看不卡| 亚洲无码在线播放| 国产精品亚洲成在人线| 亚洲熟女一区二区三区| 亚洲日本va在线视频观看| 亚洲色欲色欲www在线丝| 亚洲自偷自偷偷色无码中文| 亚洲乳大丰满中文字幕| 久久夜色精品国产亚洲| 久久青青草原亚洲AV无码麻豆| 亚洲伦理一区二区| 国精无码欧精品亚洲一区| 国产精品久久久亚洲| 久久精品国产亚洲AV麻豆~| 亚洲天堂中文字幕| 亚洲熟妇av一区| 国产成人精品日本亚洲网址| 亚洲中文无码永久免费| 亚洲国产成人无码AV在线| 亚洲av区一区二区三| 亚洲永久无码3D动漫一区| 亚洲国产一成人久久精品| 亚洲AV无码码潮喷在线观看| 亚洲色图在线播放| 亚洲国产精品久久网午夜| 伊人久久亚洲综合影院首页| 久久亚洲AV成人无码国产最大| 亚洲国产综合人成综合网站| 77777亚洲午夜久久多人| 久久99国产亚洲精品观看| 亚洲欧洲日产国产最新| 亚洲 欧洲 日韩 综合在线| 无码天堂亚洲国产AV| 美腿丝袜亚洲综合|