不論是開發、測試、運維,每一個技術人員心理多多少少都有一個成爲技術大牛的夢,畢竟「夢想老是要有的,萬一實現了呢」!然而「夢想是美好的,現實倒是殘酷的」,不少同窗在實際工做後就會發現,夢想是成爲大牛,但作的事情看起來跟大牛都不沾邊,例如,程序員說「每天寫業務代碼還加班,如何才能成爲技術大牛」,測試說「天天都有執行不完的測試用例」,運維說「扛機器接網線敲shell命令,這不是我想要的運維人生」。。。。。。
小編今天引用一個資深技術專家坤健的分享,但願讓更多同窗在技術大牛的路上可以少走一些彎路。程序員
坤健是反對這種方法的,主要的緣由有幾個:1)大牛很忙; 2)大牛原本就很少。
要想成爲技術大牛,首先仍是要明白「主要靠本身」這個道理。適當的時候能夠經過請教大牛或者和大牛探討來提高本身,但大部分時間仍是本身系統性、有針對性的提高。shell
業務代碼同樣有技術含量,這點是確定的,業務代碼中的技術是每一個程序員的基礎,但只是掌握了這些技巧,並不能成爲技術大牛。要成爲技術大牛,你要不斷的提高本身的水平,而後面臨更大的挑戰,經過應對這些挑戰從而使本身水平更上一級,而後如此往復,最終達到技術大牛甚至業界大牛的境界,寫業務代碼只是這個打怪升級路上的一個挑戰而已,並且是比較初級的一個挑戰。框架
不少人認爲本身沒有成爲技術大牛並非本身不聰明,也不是本身不努力,而是中國的這個環境下,技術人員加班都太多了,致使本身沒有額外的時間進行學習。
這個理由有必定的客觀性,但這個因素只是一個須要克服的問題,並非不可逾越的鴻溝,畢竟咱們身邊仍是有那麼多的大牛也是在中國這個環境成長起來的。 其實,上班就是一種學習環境,咱們應該在工做中學習和提高;其次工做後學習,不須要大段時間,而是要擠出時間,利用時間碎片來學習,學習隨時隨地。運維
作的更多,作的比你主管安排給你的任務更多。
怎麼作得更多呢?能夠從如下幾個方面着手:
1)熟悉更多業務:不論是不是你負責的;熟悉更多代碼,不論是不是你寫的
2)熟悉端到端: 「系統性」、「全局性」、「綜合性」這些字眼看起來比較虛,但其實都是技術大牛的必備的素質,要達到這樣的境界,必須去熟悉更多系統、業務、代碼。
3)自學:通常在比較成熟的團隊,因爲框架或者組件已經進行了大量的封裝,寫業務代碼所用到的技術確實也比較少,但咱們要明白「惟一不變的只有變化」,框架有可能要改進,組件可能要替換,或者你換了一家公司,新公司既沒有組件也沒有框架,要你從頭開始來作。這些都是機會,也是挑戰,而機會和挑戰只會分配給有準備的人。學習
要知道這個世界上沒有完美的東西,你負責的系統和業務,總有不合理和能夠改進的地方,這些「不合理」和「可改進」的地方,都是更高級別的怪物,打完後可以增長更多的經驗值。識別出這些地方,而且給出解決方案,而後向主管提出,一次不行兩次,多提幾回,只要有一次落地了,這就是你的機會。測試
在作職業等級溝通的時候,發現有不少同窗確實也在嘗試Do more、Do better,但在執行的過程當中,幾乎每一個人都遇到同一個問題:光看不用效果不好,怎麼辦?
這裏分享的就是3個詞:learning、trying、teaching!
1)Learning
這個是第一階段,看書、google、看視頻、看別人的博客均可以,但要注意一點是「系統化」,有些基礎技術不能只經過google或者博客學習,個人作法通常是先完整的看完一本書全面的瞭解,而後再經過google、視頻、博客去有針對性的查找一些有疑問的地方,或者一些技巧。
2)Trying
這個步驟就是解答前面提到的不少同窗的疑惑的關鍵點,形象來講就是「本身動手豐衣足食」,也就是本身去嘗試搭建一些模擬環境,本身寫一些測試程序。例如:
• MySQL:既然有線上的配置能夠參考,那能夠直接讓DBA將線上配置發給咱們(注意去掉敏感信息),直接學習;而後本身搭建一個MySQL環境,用線上的配置啓動;要知道不少同窗用了不少年MySQL,可是連個簡單的MySQL環境都搭不起來。
• 框架封裝了DAL層:能夠本身用JDBC嘗試去寫一個分庫分表的簡單實現,而後與框架的實現進行對比,看看差別在哪裏。
還有不少方法,就不一一列舉,簡單來講,就是要將學到的東西真正試試,才能理解更加深入。
3)Teaching
通常來講,通過Learning和Trying,能掌握70%左右,但要真正掌握,我以爲必定要作到可以跟別人講清楚。google
成爲技術大牛夢想雖然很美好,可是要付出不少,不論是Do more仍是Do better仍是Do exercise,都須要花費時間和精力,這個過程當中可能很苦逼,也可能很枯燥,這裏我想特別強調一下:前面我講的都是一些方法論的東西,但真正起決定做用的,其實仍是咱們對技術的熱情和興趣!spa
參與話題視頻