回歸平淡是乙個熱門技術必然的趨勢,五年在it領域已經是很長久的時間了。回歸平淡的未必是技術過時,反而可能是技術過於普及。但是如果你精通的不只是淺表,那是否回歸平淡對你來說就無所謂了。
趨勢和熱點肯定是對前途/薪水會有加成,比如大資料(其實火了很久了),或者ai。在幾年內會對從業者薪酬有不小的增幅。但是就如你所說,熱點和趨勢是會降溫的,比如慢慢社會上就會有越來越多會搗鼓spark的人,能跑tensorflow的人,熱點帶來的紅利會慢慢減少到消失的。有些人會迷茫,為什麼自身價值似乎越來越低,是不是要換乙個熱點;但是有些人卻越做越深入,越來越資深,越走越順。
我的想法是,工程師應該更重視「道」而不是「術」,才能保持競爭力。
什麼是「術」?
比如,「遣詞造句」,是術。如果你是乙個作家,遣詞造句無疑是必備技能。
同樣,「熟悉程式語言」是術。作為乙個程式設計師,熟悉自己常用的語言的特性,完全是必須的。
模擬一下大資料,應用開發或者資料庫領域。如何配置hadoop,架設集群;如何使用某個ui庫做出炫酷的介面效果;使用什麼引數可以調整某資料庫快取大小等等,都是術。
那什麼是「道」?
比如,「一部**如何謀篇布局」,是道。如果你是乙個作家,那麼無疑這是比遣詞造句更影響你職業生涯的技能。
同樣,作為乙個程式設計師,了解系統背後的原理,比熟悉一門語言乙個框架對你職業發展會有更深遠的影響。
如果你做大資料,那你是否知道分布式系統的一致性保證有些什麼不同的設計和取捨?容錯又該如何實現?如果你做資料庫,又是否知道不同索引的資料結構有什麼樣的特性?抑或優化器背後的原理是什麼?或者你做業務邏輯開發,那你是否通曉了邏輯背後的業務流程以及相關的行業知識?
術的特點是容易過時,或者附加值越來越小。如何使用工具在每天都有新發明的計算機領域無疑是非常容易過時的,公司也不會為使用工具的經驗投資太多錢,畢竟夠用就行。
誠然術是你必備的技能:不會寫**,不熟悉語言,根本找不到工作。但是並不是你修煉的方向:公司並不會因為你精通乙個語言的各種細節而特別青睞你。公司的確是招人寫程式的,但是公司並不僅僅是招人「寫程式」。
道是我們在領域內不斷精進成長的根本:只有了解背後的原理,你才可能在每天都有新系統新語言新框架誕生的科技領域存活;某個框架你並沒有摸過,但是你知道哪些指標和特性是選擇取捨的依據;某個系統你才聽說,但是看了架構設計,你就知道它在你的使用場景下會有什麼樣的表現,可能會有什麼樣的坑;再或者你看了某個**,發現它的原創性設計能改進在你們現有的系統解決之前無法解決問題等等。這樣的你,往往比只是對語言熟悉,api精通的碼農更受歡迎和尊重。
有人可能會說,你看那些大神程式設計師,哪個不是對某些語言滾瓜爛熟。是的,我們看到的碼農大神們,往往寫的一手好c++,精通go的上上下下左左右右,但那並不是因為他們專門修行這門語言,而是因為他們在不斷研習「道」的路上,順便磨練了「術」。為了更好的效能,為了實現構思的新設計,他們必須更熟悉所用的語言。
再你當然可以舉出特例:通曉一門語言的方方面面能成為參與制定語言規範的大神;哪怕寫字寫的好也能成為書法家。這樣說也沒錯。鐵砂掌練到極致,也能和五絕一拼,但這比修內功的路難多了。況且,某人能制定語言規範肯定不是因為她特別熟悉這個語言的細節;書法家之所以是書法家也遠不止寫字寫得好。
程式設計之術與道
之前,我一直不了解術士和道士有什麼區別,昨天和雄哥討論了一下關於開發方法的問題,讓我豁然開朗,所謂術,就是解決問題的技術,所謂道,就是解決問題的方式和規劃。雄哥的原話是 你這個階段,我認為關鍵是術,整個軟體過程,是道。先把各種技能學了,接觸到什麼學什麼,並適當選擇某個領域深入了解。過個兩三年後有了一...
面試題的道與術
1.不卑不亢。不卑 此處不留爺,自有留爺處。不亢 要低調,不要對著幹。2.工資根據簡歷來要。3.做面試題的最最主要的目的 展現自己的水平和特色,b 拿到下次面談的機會 b 而不是100 答對。i i try catch 解答 抱歉,我平時總是寫專案寫的比較多,這方面的東西沒太研究和關注,如果你願意給...
Python程式設計的術與道 Python語言高階
本課程講解python語言高階用法的相關知識,兼顧python程式設計的術 語言的知識點 與道 程式設計思維和程式設計方法 課程鏈結 課程特點 本課程採用python3.7版本講解,具體內容包括 30個python高階知識點 17個常用模組 檔案與資料處理 併發程式設計 測試與優化 程式設計規範 p...