1. 程式人生 > >技術人成長中的得與失

技術人成長中的得與失

“南寧IT圈”發起者零總前幾天跟我說,最近陸續會有一些線下交流活動,問我是否有什麼東西可分享一下的。剛開始我想分享一些具體的技術方案,但因為雖然參與過的專案比較多,卻沒有一直跟到現在的專案,因此有些東西時間久了感覺拿出去講意義不大,並且這些類似方案網上也隨處可見。還有一點,我自己熟悉的技術,有時候總想當然地以為別人也差不多都懂了,貌似沒什麼黑科技,因此沒什麼可講。

幾天過去了,我要分享的主題還沒定下來,不過跟零總的這次交流,倒是觸發了我回顧回顧自己這些年職業經歷的興趣,我把這些經歷、所思所想概括為一個技術人成長過程中的得與失。

我想每個人在成長過程中,都免不了在得失中搖晃,對我來說,將來如何更好地去平衡得失,是需要思考的問題,而對新入行的年輕人來說,能從我這些總結中獲得一點點啟發,那我也會頗感欣慰。這,也是我對技術人成長中得失總結的意義所在。

 

1. 成長姿勢

作為技術人,我們首先要考慮的是技術上的成長,而關於這個話題,一般又有以下三種說法,即深度優先,廣度優先,或者兼而有之。

深度優先也就是縱向發展,即將大部分精力放在某個技術方向上,然後成為這個方向上的專家。比如有些人,畢業後就一直做桌面軟體開發,這樣十年後就成為桌面軟體開發方面的專家,有些人一直使用Java系技術進行開發,長時間後也可以成為Java開發方向上的專家。這些人在單個方向上有非常豐富的經驗,可以快速解決這些方向上的各種技術問題,或者給出技術方案。目前來看,大廠比較青睞這類技術人才,他們在自己的方向上都能獨擋一面。

廣度優先也叫橫向發展,一般來說就是接觸各種各樣的技術,使用各種各樣的框架,既參與前端開發,又參與後端開發,甚至參與運維或測試。這類技術人涉略面廣,什麼都懂一點,雜而不精。很多創業公司都需要這樣的技術人員,在公司起步時,這類技術人員可以迅速建構公司的技術體系,比較清楚公司需要哪些技術人才組合才能打造出一個完整的產品,而自己工作時也有些面面俱到的意思。然後等公司發展上了規模,系統面臨更大的挑戰後,就需要招聘前面提到的各個領域的技術專家來負責大系統裡面的各個子系統。

兼而有之的就是技術大牛了,既符合前面對技術專家的要求,也符合雜家的要求,技術方面既有深度又有廣度。畢竟人的精力是有限的,要既有深度又有廣度,有時候比較難以達成,這種可能需要環境的成全並加上個人的努力和天賦。當然也有人說,就目前很多人的努力程式,要在職場混得好還根本不需要拼天賦,努力就夠了,哈哈。

 

2. 主次分明

我曾經看到過一些技術人員,花了很多時間去記憶一些非本質原理的東西,而這些東西,使用的時候查查文件就能找到了。當然你能背下來是更好的,不用查文件了,但是人的腦容量應該是有限的,我們應該花精力去理解並記憶那些屬於本質原理的內容。

基於這些本質原理的具體實現可能有很多種,如果我們理解了本質原理,以後再碰到各種具體實現時都能較快地理解了。否則,具體實現變了,你又要去記住它,而具體實現多種多樣,你怎麼能記得完。因此,我們應該抓住本質原理,瞭解一兩個具體實現就好了,這樣也能達到以不變應萬變的效果,不變的是本質原理,變化的是具體實現。

 

3. 學以致用

我自己在多年的學習中,沒有注意學以致用,這也是我一個多麼痛的領悟。我曾經學習各種各樣的理論知識,然後覺得自己高人一等,但這些東西在我的工作中基本用不上,而隨著時間的流逝,這些理論知識也慢慢從我記憶中消失,當我再遇到它們的時候,只有似曾相識的感覺,卻已經無法理解其原理或思想。

而另外一些人,因為業務場景的需求,深挖某一方面的技術,從應用程一直到系統層甚至到硬體層。這種學習方式就是按需學習,也可以認為是根據使用場景進行學習,任何技術都是為了解決某些使用場景下的問題而出現的。因為有了實際的使用場景,這種學習的效果就會好得多,記憶也會更深刻,因此是我目前比較提倡的一種學習方式。

當然我們在學習的過程中,也會進行適當的延伸。比如你在學習一種新的技術時,這種技術又跟其它技術有關聯,甚至是從其它技術衍生而來的,這種時候你可能又得回頭去先學習一些前提知識,然後再學習眼前要掌握的技術。但有時候我們也會發現,如果一味地延伸,我們什麼時候都回不到當下要學習的這種技術上來,這個時候,就要講究適當延伸的問題了。也就是說,我們回頭去學習那些前提知識的時候,學到不太影響我們理解當前要掌握的技術就好了,而不是一直延伸下去,這樣猴年馬月都拉不回來。

 

4. 理論與實踐

當你覺得理論知識太抽象難以理解時,可能需要動手去實踐以加深理解,而當你覺得實踐沒有頭緒時,可能是需要補補理論知識了。因此,理論與實踐總是相輔相成的。沒有理論的實踐就像無本之木,沒有實踐的理論就像空中樓閣。

以我自身的經歷來說,我曾經花很多時間去學習一些自己暫時用不到的技術框架,網上的各種文章都看,而且感覺文章一篇寫得比一篇好,貌似自己收穫很大。然而因為沒有實踐,我對很多概念一知半解,直到我們專案親自需要使用的時候,我才親自用那種架構方式去搭建系統。當我搭建完系統後,我才發現,我根本不需要花那麼多時間去看別人的文章,如果我沒有親自去搭建,可能我還會再花很多時間去看類似的文章,卻可能永遠達不到深刻理解的程度。

因此,技術是實踐出真知的,有時候真的是:幹就完了,否則,你會有類似這種困惑 – 為嘛聽過無數的道理,依然過不好這一生?

 

5. 跳槽的問題

說起跳槽,我們幾乎都不陌生,而技術人員流動性相比其它工種的人士更強。網上很多人都談論過這個話題,在這裡我還是不能免俗地要丟擲自己的見解。

我認為,職場初期,適當花心是可以的。因為這個階段的我們,往往不太清楚自己到底想做什麼,適合做什麼。這樣的話,就需要更多的嘗試,嘗試不同的崗位,如果能有幸找到自己感興趣的崗位,那麼基本就是值得自己今後多年精力投入的方向了,你要知道,職場上太多人,只是為了謀生而從事一份工作,根本做不到樂在其中。

當你找到自己的方向後,建議沉澱下來,從技術、行業業務角度去構建自己的核心競爭力。這種情況下,如果其他方面問題不大,不建議頻繁跳槽,最好在一個公司多呆幾年,學到如何開發產品、如何運維繫統、如果運營產品等知識。而很多技術人,可能只看到產品的功能,覺得這種功能技術上不過爾爾,感覺呆下去限制了自己技術的發展,於是就頻頻跳槽。這樣的技術人,到最後就變成了只知道很多軟體產品各個功能實現原理,卻完全不懂得如何去運維去改進產品,更不用說運營了,而後面這些東西,卻可能在一個技術人的核心競爭力中佔據更大的比重。

 

6. 視野的問題

很多年前,有個在程式碼界略有名氣的人在網上說,剛開始他覺得是數學限制了自己的發展,後來覺得是英語限制了自己的發展,再後來發現,其實那些都不是事,真正限制自己發展的,是自己的視野。

我也是比較贊同這個觀點的,你能想象一個每天只默默耕種自己那一畝三分地的人,能夠去開疆擴土搞大事情嗎?因此作為技術人,想要不斷地成長,同樣需要多關注技術發展趨勢,大的方面不說,起碼對自己所使用技術棧過去發展歷程和未來可能的發展方向有一點點了解,大概瞭解技術的演變史,這樣對自己的技術選擇可能會有些幫助。

還有一個開闊視野的方法是,多關注一下業界技術大拿。有不少技術大拿都有技術部落格,你可以經常去看他們的技術文章,然後從他們部落格連結,你可以瞭解到更多的技術牛人,向他們多學習。為什麼這樣能瞭解更多技術牛人呢?你想想,一個技術大拿,他部落格連結或者微博關注的技術人,一般來說水平都是和他接近甚至比他更厲害的,而不會去關注菜鳥。你要理解大拿的這種心情,這種做事方式。因此,你瞭解了一個大拿後,都有一些辦法順藤摸瓜去了解更多的技術大拿,看看他們都在做些什麼,學習他們的技術分享,久而久之,你就慢慢地變成小拿,如果有足夠的毅力去努力,假以時日,你也許會成為了別人眼中的大拿。

以上是我摸爬滾打這麼多年來的心瀝總結,坦率地說,其中某些方面,我自己做得也不夠好,對我來說,是多麼痛的領悟。這些經驗總結也好,得失總結也罷,不一定對每個人都有幫助,但也許你可以借鑑一下,如果對你真有那麼一點點啟發,那將是我的榮幸。

來自:技術人成長中的得與失

歡迎關注微信公眾號:

相關推薦

技術成長

“南寧IT圈”發起者零總前幾天跟我說,最近陸續會有一些線下交流活動,問我是否有什麼東西可分享一下的。剛開始我想分享一些具體的技術方案,但因為雖然參與過的專案比較多,卻沒有一直跟到現在的專案,因此有些東西時間久了感覺拿出去講意義不大,並且這些類似方案網上也隨處可見。還有一點,我自己熟悉的

《中國歷代政治》讀書筆記

-h 微軟 段子 文件 data- 服務 style 時代 spa 看完了錢穆的《中國歷代政治得與失》。主要講中國的歷史並非全然專制黑暗的。明確中國歷史上皇帝並非全然一言九鼎,至少從制度安排上不是。比方唐代。中書門下尚書,這三個部門,中書負責發文,門下負責待皇帝蓋章後簽署

成長必須知道的20個故事 [轉載]

一周 創作 離開 失敗 想想 再次 經理 條件 向上 寫在前面: 在我的學生時代,非常喜歡這種小文。他們應該屬於那種心靈雞湯吧,或者說充滿了正能量。品讀他們時,就像在欣賞一首音樂,滋潤人的心田,給人積極向上的力量。畢業後,也許因為我們性格已養成,業務因為太忙碌了,也許因為不

回憶自己的大學四年

轉眼間,大學四年就過去了,我一直在猶豫到底要不要寫一篇文章來回憶自己大學四年的所得所失,最後還是準備寫下這樣一篇文章來紀念自己的大學四年吧!這篇文章是寫給自己的,多少年之後回想起自己的大學青春也是美好

2018年自身總結,以及

最終 abp 博文 直接 面試 反思 net ddd .... 第一家公司 自從2017年4月份出來工作,收到第一家公司的offer後,就直接進行工作了,經過一系列的培訓和考核,5個人只留下來了2個(包括我),從此開始了我的職業生涯,剛開始一兩個月,還是很積極的去學習新技術

技術成長的四個階段

        最近兩天花了一些時間整理團隊的崗位說明書。通過整理團隊崗位書,發現也能看到自己過

技術溝通的幾個常見問題

通過幾個情景描述,來聊一聊技術人溝通中的幾個常見問題。 ### 一、情景一 在你設計的一個技術方案中,領導不同意其中的一些設計,覺得設計很繁瑣,實現起來不容易,耗費時間。你不同意領導的這些說法,雖然設計很繁瑣,但是考慮的一些問題很全,所以設計會有一點繁瑣。 這時候你該怎麼辦? > 這裡表現出了一個技術人對技

從大公司到創業公司,技術轉型怎樣轉變思路處事之道?

創業 itl .cn img 收益 -type info 一場 ase 寫在前面 不想當將軍的士兵不是好士兵,不想做 CTO 的技術人不是好技術人 剛拿到這個話題的時候,提筆不知道要寫什麽。大約三個月之前,有記者對我做過一個專訪,之後在官網首頁發布了一篇文章《從

99%的都理解錯了HTTPGETPOST的區別

tex method 無限 ext 一點 size 環境 ans 交通 GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。

99%的可能都理解錯了HTTPGETPOST的區別

角色 ref 裏的 們的 接受 遺憾 為什麽 eth ges GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。 你可能自己寫過無數個G

技術如何走出舒適區獲得快速成長

1、走出舒適區——挑戰自我極限 一開始加入DoubleClick的時候,我作為一個入門級程式設計師,專注於技術方面的發展,在其中學到了很多東西。尤其是剛一開始,中國人,不太會講英文,還是一個入門級程式設計師,很多東西都不懂,所以每天需要面臨很多挑戰。 我還記得那個時候,一進入預測組,很多的clust

運維成長的那些“囧”“惑”

有人說技術圈也是一個江湖,技術中的高手就是大俠,彈指如飛氣定神閒間化問題於虛無;而初入江湖的菜鳥,手足無措望問題而怯步。 在行走江湖的過程中,我們不斷積累功力,從菜鳥到技術牛人,經歷了若干囧與惑,曾經讓我們大惑不解的問題或許在現在看來很可笑,但正是這些問題成為我們成長中難以忘記的印記。 一、記憶體之

Python Django 前後端資料互動 之 HTTP協議下GETPOST的區別 99%的都理解錯了HTTPGETPOST的區別(轉自知乎)

99%的人都理解錯了HTTP中GET與POST的區別(轉自知乎)   作者:Larry 連結:https://zhuanlan.zhihu.com/p/22536382 來源:知乎 著作權歸作者所有。商業轉載請聯絡作者獲得授

java技術成長記WEB架構師成長之路(6年)

      WEB架構師成長之路之一-走正確的路      本人也是coding很多年,雖然很失敗,但也總算有點失敗的心得,不過我在中國,大多數程式設計師都是像我一樣,在一直走著彎路,如果想成為一個架構師,

java陣列集合區別

1.陣列得長度固定不易擴充套件,而集合長度可以伸縮 2.陣列要通過下標來查詢資料,而集合可以通過關鍵字來對映 注意:陣列更像集合框架得collection中得List   集合框架結構 一、cellection 1.List下標整數自增可重複 2.set下標整數

99%的都理解錯了HTTPGETPOST的區別(轉自知乎)

替換 混亂 避免 產生 答案 風險 自己的 等等 性能 作者:Larry鏈接:https://zhuanlan.zhihu.com/p/22536382來源:知乎著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。 GET和POST是HTTP請求的兩種基本方

Java併發程式設計技術內幕:聊聊鎖的技術內幕(

      摘要:本文主要講了讀寫鎖。 一、讀寫鎖ReadWriteLock        在上文中回顧了併發包中的可重入鎖ReentrantLock,並且也分析了它的原始碼。從中我們知道它是一個單一鎖(筆者自創概念),意思是在多人讀、多人寫、或同時有人讀和寫時。只能有一個人能拿到鎖,執行

從中國經濟談當代技術的責任擔當

首先從下面三張資料圖表談起 上面三種資料圖源自國家統計局的最新統計結果。我們首先來分析一下這三張圖。 第一張圖是近一年的工業增加值的曲線,從14年12月開始,工業增加值出現猛烈的下滑,15年3月份開始,下滑的速度開始有所緩解。 第二張圖是

js~~是什麼意思/JS按位非(~)運算子~~運算子的理解分析

首先,如果一個數據在嘗試轉換為32整形資料時,結果<0,那麼就需要對其上舍入,比如-2.9->-2,如果>0,對其下舍入,比如:2.6->2; 一個數據如果不能轉換為32位二進位制表示,就轉換為NaN;繼而轉為-1;比如~{}/~NaN ==-1; 又比如~function(){re

淺析PHPcookiesession技術

1.cookie是什麼? cookie指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密)。 通俗來理解就是,你去一個專賣店或者超市買東西,然後店裡給你辦一張會員卡,以後你的身份和購買資訊都存在這個卡里,而這個卡放你身上。之後每