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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論