這篇文章我很早就想寫了,工做至今(10年)我對於技術這個東西的體會也愈來愈多。今天觸發我動鍵盤敲字的是一個事情:我在準備作一個golang內存模型的ppt,準備節後給組內同窗分享。可是過程當中遇到問題,就谷歌了一下,搜出了我本身16年寫的一篇文章。。。我才記起來,16年我看雨痕大神的書的時候,研究過一陣子的內存模型。我越閱讀文章越尷尬,倒不是由於文章有錯誤,而是由於我對這段知識點沒有任何印象。因而,我和小白讀者同樣,從新和16年當時的我進行了知識的溝通。前端
因而我發了這麼一篇微博:mysql
對於這個事情,我首先是很慶幸,慶幸本身當時還留下了本身閱讀的心得和文字。可是轉念一想,更多的是恐懼,恐懼的是,我不知道我如今頭腦裏面的技術知識,在幾年以後,又會在哪裏?惟一所幸我文筆還未輟,幾年以後的文章估摸大都還在個人博客中。可是我頭腦裏面的東西呢?我還會記得多少呢?若是幾年後這些知識註定忘記,我如今還有必要學習麼?linux
如今的技術圈子很火熱,任何技術點,任何知識,只要你肯搜索,都能找到資料。可是如今技術圈確實有一個很差的地方,就是販賣焦慮。這種販賣焦慮的點並不在於形式,而是一種廣泛的心態。特別是對於那種知識點比拼的心態:「xx知道的東西好多,好厲害!我要向xx學習」。我一直宣揚,這種心態千萬不要有。xx比你知識點多不少,可是不表明他比你強,比你厲害。程序員如何比拼強弱?要比拼的毫不是知識點的多寡,而是使用知識點的能力強弱。即如何使用你掌握的知識改變行業。程序員
關於晨讀,各類帳號確實如今很常常發晨讀,晨讀這件事情,我本身也堅持了三年,如今開的羣也在和幾我的堅持發。其實我本身也知道,晨讀這些內容恐怕沒有幾我的會看,大多數人恐怕就是瀏覽了下標題。晨讀這個事情,本質是好的,它對收集和發送的人來講是最有利的,基本上收集和發佈的人至少須要大體看過這些文章,這對發佈的人是一種堅持學習的東西。而可是對於看的人,我本身也知道見仁見智。若是這些晨讀標題引發了自身的恐慌和焦慮,我以爲絕對是得不償失的。golang
聊聊前沿技術。無論你如今是學習什麼前沿的技術,大體一句話應該是沒有錯的,你所掌握的技術,在你有生之年,是會過期的。這種過期的生命週期是從後端向前端逐漸縮短的。我這裏的後端和前端的方向是以靠近真實用戶的距離計算的。好比數據庫,操做系統這種技術,距離用戶最遠,用戶基本不會感知,他們可能幾十年都不會過期,從mysql,linux大體就能看出來。再往前,中間件技術,緩存等技術,大體十幾年把。再往前,後端服務技術,我認爲生命週期應該是10年以內。再往前,前端技術,我以爲迭代週期應該是5年以內了。若是有工做超過10年的朋友,應該對我這個時間估計也會有所贊同的。迭代更新是伴隨着技術紅利的,這裏的技術紅利指的是新技術的培訓,人員更新,市場需求等。越是更新換代快的,越容易搶佔這個技術紅利。在這個技術紅利中,會有一波人才缺口流出,會有一波技術很強的人出現。可是,殘酷的是,這波人才缺口,不少狀況下是經過淘汰只掌握過期的技術的人員空出來的。因此越靠近用戶側的技術人員越須要跟緊技術迭代的腳步,不然一不當心就會被淘汰。固然也不是說越日後端越舒服,技術迭代慢同時也表明坑位固定,由於在同技術領域沉澱好久的老人會把及格線帶的很高,因此基本須要沉澱比較久才能成爲比較合格的人才。並且靠近後端的人才一旦遇到技術迭代,那麼多是毀滅性的,究其緣由,恐怕一個是深刻後端技術比較慢,一個是新的後端技術坑更少。sql
是否是全部的技術迭代都是好的呢?個人觀點是確定的。新技術的出現必定是爲了解決某種痛點,或者填補某種空缺纔會出現的。可是,你們每每忘記了,技術是爲了解決問題的,有不少公司因爲體量,技術人員儲備等條件,根本不存在所謂的痛點,可是也莫名其妙引入了各類時髦新技術。技術都不是銀彈,使用新技術,必定要承擔新技術帶來的成本和新痛點。衡量一個新技術引入公司的決策是否正確的標準,恐怕應該是業務是否獲得提高。這裏說的業務提高,兩個方面,一個成本側減小,一個收益側增長。在我看來的不少公司,對於新的技術每每是爲了革新而革新,所帶來對公司業務上的傷害,恐怕更多於舊的技術。因此架構師的價值,特別是業務架構師的價值我認爲體如今這裏,對整個公司或者部門的業務,人員水平有必定判斷,選擇合適的技術,有時候,甚至於拒絕新技術的引入也是一個成功的決定。數據庫
能夠再聊聊技術人員的發展路線。我認爲技術人員的發展路線有兩條,一條是改變技術行業,一條是改變業務行業。後端
改變技術行業的人,這類人我認爲如今在中國應該是比較少數的。改變技術行業的人基本上恐怕究其一輩子,最多隻能改變一個、至多兩個技術行業。這種人,我認爲可能必須有熱衷於某個技術行業的覺悟。基本上我以爲各個語言的創造者,追隨者算是這類人,各類數據庫,大型開源項目的創造者、追隨者算是這類人。這類人好比mysql的精深專家,基本須要在mysql這個領域沒有什麼解決不了的問題,並且對這個領域有持續的貢獻能力。可是我這十年所見,確實遇到的很是少(多是個人有限的我的經歷所致)。緩存
成爲改變業務行業的人,我以爲應該是如今大多數的接觸程序員所應該追求的。咱們之因此有工做,是公司在某個行業但願有所建樹,有所做爲,因此僱傭你來作這份工做。若是你不能讓公司在這個行業有所發展,那麼恐怕,你很快會被公司淘汰。因此,這點是我對所遇到的工做幾年以後有職業迷茫的年輕人說的,千萬不要爲了追求新技術而輕易換行業。任何業務,都有技術能夠改變的地方,只是你沒找到而已,沒找到的緣由,恐怕就在於你的浮躁。並非人人都有機會追求各類高併發的CURD,可是人人都有機會踏踏實實寫一些CURD,只要這些CURD在某個行業,某個領域確實是起到了做用,對公司起到了正面收益,那麼你的工做就是值得的。代碼無分貴賤,能讓代碼起價值的,就是你怎麼使用這個代碼改變你所在的業務行業。架構
因此,對於大多數業務行業的程序員來講,在幾年期間,選擇一個你喜歡的(或者你很看好的)行業,用各類技術來嘗試,改變它,對本身也並不須要設限。就和實驗室裏面作實驗的科學家同樣。或許最後可能失敗,可是所積累下來失敗的經驗,纔是你真正的財富。並且據我觀察,若是在某個行業真的長期沉浸思考的人,最後它本身就會變成這個行業的稀缺資源。各個公司所謂的技術總監,大都須要有這種特質。技術總監作的管理工做,在這個視角看來,是組織一批技術人員用技術改變行業。
但願這篇文章能對剛工做幾年,以爲工做無聊的,稍有焦慮的朋友們有點做用。總之,個人出發點是對於年輕的程序員來講,年輕就是資本。可是把年輕放在追逐各類新技術上而樂此不彼,真是很大的浪費。何況不少都是幾年後就註定會淘汰的技術,先明確本身的發展方向,若是是業務型技術人員,你的主線,應該是多思考分析本身的業務,本身的知識結構,甚至於團隊,再決定本身的時間投入。
因此,不要羨慕知道不少知識點的人,而是要羨慕用這些知識點改變了世界的人。