究竟什麼是技術?非科班程式設計師兩年的內心掙扎
故事開始
我是一名非科班出身的程式設計師,做Java開發。
高考報考的時候,由於意外踏入了某著名高校的校長直通車計劃,我順利地進入了這所高校,讀上了我曾最為討厭的經濟學專業。這所高校的巨大光環和號稱全國第一的專業名氣,讓我帶著滿滿的驕傲學起了我最不喜歡的專業,過上了不羞不臊的頹廢的大學生活。

timg (4).jpg
但不喜歡終究還是不喜歡,從小對計算機的興趣,以及今後想做技術大牛的夢想,讓我選擇了轉行。過程也很是曲折,在這裡就不在贅述了。現如今,經過了兩年培訓和小公司的歷練,我成功進入了某知名網際網路公司,回想起轉行最艱難的兩年,我還是很欣慰的。

timg (5).jpg
但這兩年的學習,以及現如今在這家公司看周圍同事的狀態,讓我開始了一些思考。我很痛苦,真的希望有高人能來為我指點。
我開始思考,究竟什麼是技術。在前一家小公司,我的目標就是通過學習和積攢專案經驗,跳到一家知名的網際網路公司。現在回想起來,我所學習的知識,到底是不是技術?也許我的疑問很奇怪,但我就是懷疑我自己。我看了Java基礎,看了Spring,看了JVM,還自己按照書本寫了一個JVM。當然,我還要繼續看多執行緒,IO等相關的知識。這些算是技術麼?當然這在我學習這些知識的時候就產生了這樣的疑問,總體給我的感覺就是,太不底層了。於是我開始補計算機基礎,看資料結構與演算法,看計算機組成原理,還畫出了CPU。當時我找各種計算機底層原理的書去看,通俗的有《編碼》,專業的有《深入理解計算機系統》,不過只看了個大概。當時好幾次都會有豁然開朗的感覺,但我現在回想看,那些又算是技術麼?
而現在我已經能手寫所有框架, 我可以簡單的為大家列舉一下架構師必備的知識技術,可以對照對照,查漏補缺!
先舉例JVM、Spring:

JVM效能調優,需要清晰圖片的文末領取

Spring MVC,需要清晰圖片的文末領取
也許那時的確走到了一個瓶頸,我就覺得,學什麼都不算技術。計算機原理就是0101010。我去看計算機組成原理,也無非是在這個思想下和一些物理知識下的應用罷了,再往上說我看的Java,Spring,JVM,也更是在這種思想下的應用,甚至它們只是在作業系統之上的應用罷了。我就覺得,只有把世間萬物的訊號轉變為010101區描述這種思想,還有物理元器件的發明,才是真正的技術。而我想成為技術大牛的夢想,最終仍然逃脫不出這些最基本的設計。
用《三體》的話說,我們都是一群搞應用的俗人罷了。不論是開發工程師,演算法工程師,架構師還是什麼,這些原本在我看來有很深的技術魅力的職位,變得開始讓我懷疑了。
你說,做技術的人大體有個感覺,為什麼做技術,就是因為有成就感嘛。所以我抱著這樣的想法,在大方向上就沒了成就感,這還是一件挺恐怖的事。我不知道我這亂七八糟的想法是不是你們也同樣有。你就說其他學科吧,比如物理,就覺得是在不斷研究和發現這個世界的自然本質和規律,我就覺得這才是技術。學計算機的搞了個什麼呢?

timg (6).jpg
不斷拼湊0101010輸入到電腦裡,再不斷輸出0101010到各種裝置裡去解讀,就總感覺我們是在一個保護層上在探索一樣。我不否認我喜歡計算機,但不知道為什麼我偏偏在這個時間點有這種莫名其妙的想法,是不是我不該這樣想,是不是我淪為了意義黨。再用《三體》裡那些物理學家突然發現他們的研究只是一個更大的系統的偶然,受不了一個個去死來說。如果有天發現計算機原理不再是010101了,所有的所謂技術統統不就沒意義了麼。換句話說,我有點覺得,只有凌駕於萬物之上的,處於萬物底層的東西,才叫技術,才叫本質。
我也曾想過,或許是我現在稍稍懂得了一些所謂的“技術”,但深度和廣度上遠遠不夠,等10年之後我徹底明白這些也許有不一樣的答案。我還曾想過,或許這些我覺得不是技術的東西,它本身就是技術。當技術拆解得足夠小時,就看起來不是技術了,就像你把知識點分的越細化,就越容易掌握!
例如我對微服務知識點的細化:

微服務架構,需要清晰圖片的文末領取
再來說說這家知名網際網路公司吧,或許是因為我才來了兩週還不夠充分了解,但這兩週給我的感覺就是周圍人的對於技術的熱情以及極客的精神面貌,並不如我所期待的那樣,雖然比之前的公司要好一些,但大差不差的。我以為能有一個飛躍,但其實知識換湯不換藥,沒什麼太大區別,這也讓我很是失望,也催生了這些天有的這樣的疑問。
我就在想,過幾年之後我也還是他們的樣子麼?如果他們也是在追求技術的道路上走了這麼久最終卻還是這個樣子,那真的是很恐怖的事情。起碼在他們的身上,剛剛接觸的這兩週,我並沒有感覺到技術的魅力。
哈哈莫名其妙說了這麼多,可能有些悲觀了。我現在的處境,也起碼比兩年前要好。最起碼,我在從事我自己喜歡的工作,苦惱著我喜歡的技術,思考著我自己選擇的路。我覺得這種思考不論多痛苦,終究還是幸福的。
最後
覺得我列舉的架構體系還不錯的話,我也可以分享給你們的!【包括:Dubbo、Redis、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術】可以進我的私人技術交流群領取,群內有上千名程式設計師一起學習交流哦!
點選連結加入群聊【網際網路java高階架構:536172545】: https://jq.qq.com/?_wv=1027&k=5S5wh8D