【群碩專欄】 淺談技術(shù)大牛的成長.docx_第1頁
【群碩專欄】 淺談技術(shù)大牛的成長.docx_第2頁
【群碩專欄】 淺談技術(shù)大牛的成長.docx_第3頁
【群碩專欄】 淺談技術(shù)大牛的成長.docx_第4頁
【群碩專欄】 淺談技術(shù)大牛的成長.docx_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【群碩專欄】 淺談技術(shù)大牛的成長作者簡介:大房是群脈SCRM產(chǎn)品架構(gòu)師。他說:“馬上入行10年了,為了不想一直貼個(gè)程序猿的標(biāo)簽,從碼代碼、做架構(gòu),轉(zhuǎn)向練習(xí)碼字。記住了,是練習(xí),我還是一個(gè)剛剛開始寫字的孩子,認(rèn)真專注寫字的孩子。都說7年可以精通一個(gè)行業(yè),IT不敢說精通但也算入行;希望再一個(gè)7年以后,我也算入行碼字說話!專注架構(gòu)和團(tuán)建!”題記本文是我在群碩軟件做的一次培訓(xùn)演講,整理出來希望對大家有所幫助。最近兩三年,技術(shù)之外,花了一些時(shí)間帶技術(shù)團(tuán)隊(duì),也陸陸續(xù)續(xù)和大家聊了很多關(guān)于技術(shù)、管理以及成長方面的話題。聊天總歸比較零散,今天以文字的形式,把我的所思、所想做一下系統(tǒng)的整理和總結(jié),也許,對正在徘徊的你有所幫助呢?我眼中的技(手)術(shù)(藝)人成長曲線如果起點(diǎn)是進(jìn)入一個(gè)行業(yè)的小白,那么到成為這個(gè)行業(yè)的專家,至少經(jīng)歷三個(gè)階段:1、知識的原始獲取階段:剛進(jìn)去一個(gè)行業(yè),我們都是“學(xué)徒”,不懂的東西很多,每天只要稍微動(dòng)動(dòng)手、動(dòng)動(dòng)腦就可以感覺到不錯(cuò)的成長。畢業(yè)工作后開始融入一個(gè)團(tuán)隊(duì),開始參與項(xiàng)目的開發(fā),有師傅帶、有同事學(xué),很多時(shí)候你不想學(xué)到東西都很難。所以,在這個(gè)階段,是自身技術(shù)的爆棚期,是一個(gè)快速成長的階段。2、知識的結(jié)網(wǎng)積累階段:八年抗戰(zhàn),經(jīng)歷過第一個(gè)階段以后,大家都有了自己的看家本領(lǐng),技術(shù)足以應(yīng)對日常的工作和研究。每天忙忙碌碌,但是感覺都是重復(fù)性的工作,“收獲很小”。即使繼續(xù)學(xué)習(xí),發(fā)現(xiàn)每天研究和接觸到的新知識很多都是重復(fù)性的內(nèi)容??释殡S著迷惘可能是這個(gè)階段的特點(diǎn),從“靈魂深入”隱約感覺到自己應(yīng)該再多學(xué)點(diǎn)東西,但是每次付諸行動(dòng)感覺都收獲頗少,所以開始懷疑和迷惘。其實(shí),大家忽略了這個(gè)階段最本質(zhì)的特點(diǎn):由于知識的廣度加快,知識的深度速度“變慢”,但是廣度的知識,往往給人一個(gè)“膚淺”、“無用”的幻覺?!皬V”在某個(gè)程度上就是“深”,看似無關(guān)的經(jīng)歷經(jīng)驗(yàn)、看似無關(guān)的知識點(diǎn),其實(shí),在經(jīng)歷一個(gè)長期的獲取、思考、吸收之后,突然有一天,點(diǎn)成線成網(wǎng),人有了一種“大徹大悟”的感覺,迅速進(jìn)入第三個(gè)階段。3、知識的沉淀升級階段:大徹大悟之后的升華,開始一段新的快速成長的階段。曲線只有最低點(diǎn),沒有最高點(diǎn),所謂“心有多大、世界就有多大”。做為一名技術(shù)人員,時(shí)刻清楚自己當(dāng)前的位置。另外,我覺得這個(gè)曲線除了對技術(shù)人員適用,應(yīng)該同樣適用于其他行業(yè),共勉。我會(huì)在每個(gè)階段,根據(jù)我切身的經(jīng)驗(yàn),聊一下我的想法。階段一:知識的原始獲取這個(gè)階段,就是讓自己擁有一技之長,可安身立命。簡單點(diǎn)說,就是“我有別人認(rèn)可、不可被替代的價(jià)值”!做為技術(shù)人員,當(dāng)然首先體現(xiàn)在這幾個(gè)方面:至少熟悉一門編程語言。不管這個(gè)語言是啥,JUST DO IT,把它搞熟,至少做到寫代碼得心應(yīng)手,基本語法、高級技巧了然于胸!很多人總喜歡對(糾)比(結(jié)),A語言好還是B語言好,這就像,你看到有人開奔馳,有人開寶馬,所以你就開始糾結(jié)以后我到底是往奔馳的方向努力,還是往寶馬的方向努力?買奔馳還是買寶馬,糾結(jié)這個(gè),倒不如去糾結(jié):今天我是開奔馳,還是開寶馬!至少熟悉一個(gè)數(shù)據(jù)庫。不管是MySQL、SQLite還是PostgreSQL,還是其他的RDB。熟悉不僅僅是可以寫出“別人看不懂的SQL語句”,更多體現(xiàn)在你對這個(gè)數(shù)據(jù)庫的了解和駕馭程度,例如性能調(diào)優(yōu)、索引優(yōu)化、庫表設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)的原理以及最佳方案。熟悉使用各種項(xiàng)目協(xié)作工具。這是團(tuán)隊(duì)合作的基礎(chǔ),例如溝通IM工具、代碼管理工具、任務(wù)追蹤工具、Wiki/Markdown文檔編輯工具,等等等等。重要的是,不管是前端、服務(wù)端還是客戶端,讓自己成為某一個(gè)領(lǐng)域的能手!如果做到了這一步,只能說明你僅僅勝任一個(gè)優(yōu)秀的軟件開發(fā)工程師。我覺得還遠(yuǎn)遠(yuǎn)不夠,最多只能說,這個(gè)階段完成了一半。另外一半更重要的就是自己的修行:自己知識結(jié)構(gòu)的橫向發(fā)展。如果你只熟悉一門語言,或者你用“熟悉一門語言的眼光”去看“另一門僅僅了解的語言”,就鼓吹說“PHP是世界上最好的語言”,只能說你是無知的井底之蛙。我們需要帶著一種對比的眼光,去了解多種語言,知道每種語言的優(yōu)缺點(diǎn)以及適用場景,做到能夠根據(jù)產(chǎn)品特點(diǎn)、交付周期、團(tuán)隊(duì)特點(diǎn)、性能等多方面考量下的語言和框架選型。同時(shí),關(guān)系型數(shù)據(jù)庫之外,開始接觸和了解熱門的Redis、MongoDB等NoSQL數(shù)據(jù)庫,了解不同的數(shù)據(jù)庫的優(yōu)缺點(diǎn)和使用場景。另外,讀優(yōu)秀的代碼!讀優(yōu)秀的代碼!讀優(yōu)秀的代碼!至少你得讀過兩個(gè)比較熱門的MVC的框架源碼吧?“好奇”驅(qū)動(dòng),我和我的團(tuán)隊(duì)常常說的一句話就是,代碼里所有你覺得比較“神奇”的地方,都值得你通過閱讀源碼把神奇的魔法挖出來。例如,一個(gè)請求的URL如何映射到你的action上?映射到你action上的context是如何被創(chuàng)建出來的?有一些工具方法不經(jīng)過初始化、不需要引用你就能直接用?當(dāng)你靠“腦補(bǔ)”不能補(bǔ)上這塊空白的時(shí)候,你需要挖進(jìn)去,直到下次看到類似的神奇你腦補(bǔ)就能想明白。個(gè)人能力的全面發(fā)展。開始扛起項(xiàng)目組里的攻關(guān)大旗,著手解決一些別人棘手和不能解決的問題,“解決難題”才能拉開距離,這是加分題!(把項(xiàng)目做出來,其實(shí)是一件非常簡單的事情,持續(xù)的維護(hù)和運(yùn)維,才是一件非常困難的事情,個(gè)人的能力的深挖,也體現(xiàn)在這里)。另外,全面發(fā)展還體現(xiàn)在不斷提高自己的溝通能力(溝通的閉環(huán)原則),可以參見我另一篇文章和開發(fā)組長聊聊溝通,可以帶團(tuán)隊(duì)、以項(xiàng)目負(fù)責(zé)人的角色制定項(xiàng)目計(jì)劃、執(zhí)行項(xiàng)目計(jì)劃并完成項(xiàng)目或者產(chǎn)品的交付。這個(gè)階段,持續(xù)1年還是5年還是更長,在我看來,決定因素不是智商,而是你到底為了獲得這樣的一技之長付出多少時(shí)間和汗水。如果,IT是你終身的職業(yè),那么,榨干你智商之外的潛力,每個(gè)人需要付出的努力是一樣的,你唯一需要決定的,是在剛畢業(yè)、精力旺盛的頭幾年就把自己的潛力挖掘出來,還是拉長戰(zhàn)線用個(gè)十年八年?戰(zhàn)線拉的越長,投入產(chǎn)出比一定越低,辛苦程度一定越來越高。如果到成家之前,你都達(dá)不到第一個(gè)點(diǎn),那以后工作帶給你的只有痛苦,任何新的技術(shù)的出現(xiàn),對你帶來的都只是痛苦。這套理論或者說想法,我剛畢業(yè)的時(shí)候也不知道,也沒人告訴我要多努力多努力。只是我覺得我比別人的起點(diǎn)低,同時(shí)也算比較幸運(yùn),在我最有精力和時(shí)間的時(shí)期,在工作、技術(shù)成長上付出了幾乎全部的努力,來拉短這個(gè)差距:讀各種書籍:不管是在項(xiàng)目中用到哪種語言,幾乎看完了相關(guān)語言的經(jīng)典書目看各種代碼:項(xiàng)目里相關(guān)不相關(guān)的代碼,通讀;用到的開源代碼,第一件事就是讀完源碼再動(dòng)手使用寫各種代碼:嘗試的改進(jìn)通讀的代碼,工作之外也練手了好多代碼階段二:知識的結(jié)網(wǎng)積累這個(gè)階段,更像是人到中年,不能靠拼體力、拼“編程代碼量”、拼時(shí)間來提高自己,而是漫漫長路上,練就內(nèi)功大法。在我看來,主要包括兩個(gè)方面的修煉:抓住機(jī)會(huì)拓寬自己的視角(擴(kuò)大知識面)。機(jī)會(huì)可能是你接下來幾年參與或者主導(dǎo)的項(xiàng)目以及積累的項(xiàng)目經(jīng)驗(yàn),也和你工作之外自己的努力有關(guān)。參與不同的項(xiàng)目、接觸不同的客戶,對一個(gè)人的影響和改變,“經(jīng)驗(yàn)”只是其中一個(gè)很小的方面,更大的影響則是你看問題的視角。不同的項(xiàng)目了解不同的行業(yè),把工作、項(xiàng)目、產(chǎn)品做到自己能力的至高點(diǎn),成為某個(gè)行業(yè)的專家(達(dá)到力所能及的高度);接觸不同的客戶,和不同風(fēng)格的客戶合作、溝通交流,做到從容面對和善的、虛偽的、蠻不講理等等各色客戶,學(xué)會(huì)站在客戶的角度思考問題、講客戶聽得懂的語言、上下管理好客戶的預(yù)期;開始意識到團(tuán)隊(duì)的重要性(你真的懂團(tuán)隊(duì)嗎?),能夠架構(gòu)團(tuán)隊(duì)結(jié)構(gòu)、成員的成長,帶出產(chǎn)品或者項(xiàng)目的同時(shí),能帶出一個(gè)能打硬仗的隊(duì)伍。知識的廣度延伸,是一個(gè)緩慢的過程,工作中不懂技術(shù)萬萬不能,但是只懂技術(shù)也萬萬不能,而技術(shù)之外的領(lǐng)域,對技術(shù)人員來說,學(xué)好學(xué)精,也是最困難的地方。個(gè)人的持續(xù)學(xué)習(xí)(持續(xù)深挖)。冰凍三尺,非一日之寒。這個(gè)階段,對大部分人來說,是最難的一個(gè)階段,難在很多人會(huì)放棄(反正我可以應(yīng)付日常的工作,滿足帶來的止步),很容易迷惘和浮躁(我還想學(xué),但是每天看看看的,都是自己會(huì)的,那些不知道的對我的工作也沒啥用處)。而正確的改變自己的認(rèn)知(抓住機(jī)遇、正確的對待自己的努力),是突破這個(gè)階段的前提。知識的積累,一開始就像在儲(chǔ)備知識這個(gè)網(wǎng)狀結(jié)構(gòu)的節(jié)點(diǎn)。每一個(gè)知識碎片,都可以是這張網(wǎng)上的一個(gè)節(jié)點(diǎn);而且很多節(jié)點(diǎn)在一開始的時(shí)候,你自己也搞不清楚到底有用還是沒用,更搞不清楚節(jié)點(diǎn)之間的聯(lián)系。就像如果你的腦子里只有兩個(gè)點(diǎn),沒關(guān)就是沒關(guān),你也連不上,但是當(dāng)我們把這個(gè)結(jié)構(gòu)無限的放大,節(jié)點(diǎn)多到一定程度,很多知識相互連接,就是一件很自然的事情。社交以及朋(戰(zhàn))友。找到你的戰(zhàn)友,在你孤獨(dú)的時(shí)候、迷惘的時(shí)候,有陪你喝酒吹水的人。也所謂三人行必有我?guī)?,很感謝這么多年,我身邊的這些朋友,亦師亦友,讓我學(xué)到的遠(yuǎn)遠(yuǎn)大于我自己的能力所獲取之外。所以,我個(gè)人的經(jīng)驗(yàn):如果你有非常明確的努力方向,那么腳踏實(shí)地,堅(jiān)持不懈。有進(jìn)步,那是正常的,如果你感覺不到進(jìn)度,那也是正常的。切勿把自己放到一個(gè)結(jié)果導(dǎo)向的思維定式里。如果你沒有明確的目標(biāo)和努力方向,但是你要認(rèn)識到一點(diǎn),至少你有看家本領(lǐng),你要做的就是把自己該做的事情做好就夠了,目標(biāo)只是你不知道,其實(shí)“天知道”_.We are always putting ourself into the perceived world, break it!有時(shí)候我也把這種方法,叫做“自我麻痹”。當(dāng)你發(fā)現(xiàn)自己難有突破的時(shí)候,你要么找別人“麻痹”你自己,要么你找到一種合理的觀念自己“麻痹”自己。很多時(shí)候,沒人告訴我到底該怎么來做,我需要自己給自己一點(diǎn)信念,不斷的用那個(gè)還有點(diǎn)激情、還有點(diǎn)夢想的我去打敗那個(gè)滿足、懶散、浮躁的我。仔細(xì)想想,你是不是也有兩個(gè)我?當(dāng)你用一個(gè)我打敗另一個(gè)我的時(shí)候,要么你進(jìn)入的第三個(gè)階段,要么你退回到第一個(gè)階段。階段三:知識的沉淀升級勝利即升華。這個(gè)階段,是蛻變成“大神”的開始,是用知識創(chuàng)造知識的量變到質(zhì)變的過程:構(gòu)造模型,用“已知”加速掌握“未知”。我們經(jīng)常談,誰誰誰學(xué)習(xí)能力比較強(qiáng)。什么叫“學(xué)習(xí)能力”?就是誰能快速的用自己的舊知識來掌握新知識、未知的知識!怎么做到?思考(對重復(fù)性業(yè)務(wù)的抽象和未來業(yè)務(wù)拓展的前瞻,強(qiáng)調(diào)過去的經(jīng)驗(yàn)和對行業(yè)的預(yù)見)-找到規(guī)律規(guī)則,也即模型-應(yīng)用模型規(guī)則-改善。雜亂無章的東西,不符合人的認(rèn)知,只有從雜亂無章的事物里找到規(guī)律,才能被人的認(rèn)知體系所接受。找規(guī)律的過程,就是建模的過程。舉個(gè)例子。技術(shù)人員經(jīng)常講(噴) “這個(gè)語法是抄的哪門語言的”。什么意思?因?yàn)槟愕恼J(rèn)知體系里已經(jīng)有一個(gè)語法的模型,所以你在用你已有的語法模型去認(rèn)識新的語言里的語法模型。我們要學(xué)一門新的編程語言,學(xué)什么東西?“哎呀,我在熟悉的那門語言里是這么寫控制語句的,這門新語言是這么寫的” “哎呀,我在熟悉的那門語言里是怎么定義類和函數(shù)的,這門新語言是這么定義的”。等你語言見多了,你就會(huì)有自己對語言的認(rèn)知模型,然后你就會(huì)罵人:“這些創(chuàng)造語言的大牛都該去死;有毛病,用 function 用的好好的,你非要改成 func,或者改成def;我用花括號好好的,你非要改成冒號;我聲明變量的時(shí)候,把變量類型放到前面,你非要改成寫到后面?!? 如果你這么想,而不是“PHP是世界上最好的語言”,恭喜你,你已經(jīng)開始有了自己認(rèn)知的模型,然后你會(huì)抽象出這樣一個(gè)模型:編程語言其實(shí)是按照編程語言創(chuàng)始人的理(喜)論(好)定義好讓你寫字的規(guī)則而已;所以學(xué)習(xí)新的語言,就是了解一下別人定義的規(guī)則,沒有好壞對錯(cuò),我們都是牛人的“跟屁蟲”而已。等你代碼寫更多之后,你會(huì)這樣來認(rèn)知新語言:了解一下語法規(guī)則;看一下框架;熟悉一下生態(tài)(libs是不是足夠過,應(yīng)用場景都有啥,你熟悉的工具在這個(gè)生態(tài)下有沒有類似的替代)。所有這些放在一起,才是你做技術(shù)選型的依據(jù)。再舉一個(gè)例子,開發(fā)框架,給你一個(gè)新的開發(fā)框架,你需要了解啥?這個(gè)“需要了解啥”的定義,就是你認(rèn)識編程框架的模型:路由機(jī)制是啥樣的;模板機(jī)制是啥樣的;插件擴(kuò)展性體現(xiàn)在下;工具集有哪些;性能考量和開發(fā)效率考量有哪些。你可以按照同樣的方式和方法去認(rèn)識TCP/IP協(xié)議:特定場景(Context)下對0和1的解釋。有了這個(gè)認(rèn)知模型,你學(xué)習(xí)TCP/IP其實(shí)就是在學(xué):有多少種context,在每種context下每個(gè)位上0和1代表了什么意思。這同時(shí)也是性能優(yōu)化的關(guān)鍵。再比如,按照這個(gè)思路應(yīng)用到編程之外,和客戶合作的協(xié)議是什么?是基于信任與關(guān)系模型下的win-win。微創(chuàng)新,對已知的歸納總結(jié)、打磨升級。當(dāng)你開始尋找規(guī)律、構(gòu)建模型之后,接下來要鍛煉的就是,用這個(gè)規(guī)律和模型去不斷的認(rèn)識新的知識,然后在認(rèn)識了新的知識之后,返回去改進(jìn)或者完善你的認(rèn)知模型。最后,你會(huì)掌握了用自己的視角認(rèn)知這個(gè)世界的方法。別人告訴你的世界都是假的,你從書上學(xué)到的知識也都是假的,只有你掌握了自己的認(rèn)知方法,用自己的方法去認(rèn)識這個(gè)世界,知識才為你所用。我一直用一種簡單的“協(xié)議模型”來理解和認(rèn)識工作、社會(huì)以及世界。別笑我年紀(jì)輕輕,敢談?wù)J識世界,也許明天醒來,我就會(huì)鄙視

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論