文/楠木大叔 轉載自 【智客工坊】
導讀
-
唯一不變的是變化本身
-
工具升級還是技術升級?
- 開發工具的迭代
.NET
技術的迭代- 面子與裡子
-
小猴子掰玉米的故事
- 被新技術按在地上摩擦
- 我們真的變強了嗎
-
條條大路通羅馬
- 回字有四種寫法
- 技術和商業模式
-
技術人的核心競爭力是什麼
- 技術是行業附屬
- 行業經驗才是核心競爭力
-
新時代的工匠精神
唯一不變的是變化本身
“唯一不變的是變化本身”
彈指間,幹技術工作近十年。從剛走出大學校門的翩翩少年,到如今的中年大叔,令人印象最為深刻的莫過於技術的更迭。而這種更迭,不一定是進步和創新,有時候就像一種潮流的輪迴。你先沏一杯茶,聽我慢慢道來。
工具升級還是技術升級?
開發工具的迭代
visual studio 開發工具,我想大家都不會陌生,宇宙第一IDE的稱號絕非浪得虛名。過去的十八年裡,這款開發工具的升級越來越頻繁,從3年一更,到2年,甚至一年一更。功能越來越強,軟體也是越來越大,安裝完差不多需要10個G。
做C#開發的童鞋可能都是Visual Studio的深度使用者。筆者不屬於技術的發燒友,對技術和工具的選擇,更多是基於團隊和實際業務。在我的印象中,我會2~3年升級一次這個開發工具。有時候是為了適應新團隊的開發步調,大家開發工具保持一致,有時候是因為需要使用到.net的新特性,比如core。
.NET
技術的迭代
- 199x-2003年 COM/ActiveX 時期
- 2002-2010年 WinForm/WebForm 時期
- 2007-2013年 WPF 時期
- 2009-2016年
ASP.NET MVC
時期 - 2014-至今 UWP(Universal Windows Platform)時期
- 2016-至今 .NET Core 時期
以上是從比較巨集觀的角度來劃分的,實際每個階段的技術變遷都比這個多,比如從C# 2.0 到 3.0增加了ling,lamada表示式新特性,各種語法糖等。儘管筆者跟隨腳步多年,但限與工作場景,也有很多框架和技術沒有在實際工作使用過。
值得注意的是,.NET Core的出現相比以前的各個階段具有突破性——支援跨平臺。具體的細節在我的一篇文章中有所提及《[.NET Core 跨平臺](https://www.52interview.com/book/18》。
面子與裡子
回顧VS工具的變遷和.NET 的發展歷程,筆者最大的感受是每一次的迭代並不是如大家期望的那樣,具有很大革命性。即便是.NET Core
的出現也只能算的上C#自身的突破,畢竟java,php,ruby等從開始就具備了跨平臺的屬性。
然而,對於每個.NET
從業者來說,微軟的每一次升級可能都會給他們帶來一次學習成本。邊學邊丟,似乎成了一種常態。
如果沒有從實質上的幫助開發者提升效率,反而不斷地變換著增加學習成本,那麼這種技術上的迭代,只能被定義為你工具上的迭代(而不是升級)。
小猴子掰玉米的故事
有一天,一隻小猴子下山來。它走到一塊玉米地裡,看見玉米結得又大又多,非常高興,就掰了一個,扛著往前走。小猴子扛著玉米,走到一棵桃樹下。它看見滿樹的桃子又大又紅,非常高興,就扔了玉米去摘桃子。小猴子捧著幾個桃子,走到一片瓜地裡。它看見滿地的西瓜又大又圓,非常高興,就扔了桃子去摘西瓜。小猴子抱著一個大西瓜往回走。走著走著,看見一隻小兔蹦蹦跳跳的,真可愛。它非常高興,就扔了西瓜去追小兔。小兔跑進樹林子,不見了。小猴子只好空著手回家去。
被新技術按在地上摩擦
大多數當下的主流,不過是曇花一現或潮流的輪迴。
從上面總結的技術迭代歷程來看,技術也是有潮流的,在不同時期可能會流行不同的技術。比如,在20122014年,你去面試,總會被問到,“請講一下什麼是MVC?“,20142016年,比較流行MVVM。然後,2018年到2019年,流行前後端分離開發模式,中臺,現在大家都在提微服務等等。當然,這裡面會有很多技術細節和名詞,但是一旦你去實踐和落地之後就知道他們其實大部分乾的事情都差不多。
然後,大多數人都認為這是趨勢,這是主流。你不用這個技術就是不夠專業。所以,大家都在鼓吹,你要保持持續學習新技術。你可能幹了好幾年,然後被一群入行才半年的年輕人按在地上摩擦。
我們真的變強了嗎
筆者羅列了自己過去8年間粗略使用過的技術,當然讀過的書和涉獵而未實際應用的不會羅列,具體的一些附帶框架(如EF,WCF等)不會羅列。
這裡面很多技術是當時流行的,隨著時間的推移,隨著團隊的更迭不斷變化。
我們經常說,過去十年(2010~2020)是網際網路發展的黃金十年,也是技術發展最快的十年。然而,認真回顧這十年,技術的發展是否真的如外界所言那麼繁榮, 身處其中的我們是否變得更強?我相信996現象會給大家一個合理的解釋。
條條大路通羅馬
公元前3世紀羅馬在統一義大利之後,由一個小小的城邦發展成為強盛的國家,社會相對穩定,經濟發達,文化繁榮,人民安居樂業。為了便於自己的軍事和政治統治,它修建了以羅馬為中心向四面八方幅射的大道,使交通更加便利,從而溝通了各城市和行省之間的文化交流,促進了商業貿易,各地產品如葡萄、橄欖、金屬、紡織品、陶器、玻璃、穀物、酒等等的貿易交換達到了空前興盛的程度,對人民生活產生了深刻的影響,於是歐洲各地便有了“條條大路通羅馬”這樣的俗語,比喻一件事物處於人心所歸的地位,能吸引來自各方面人力物力。後來用它比喻要辦成一件事情或達到一個目的,其方法是多種多樣的。
回字有四種寫法
孔乙己顯出極高興的樣子,將兩個指頭的長指甲敲著櫃檯,點頭說,“對呀對呀!……回字有四樣寫法,你知道麼?”我愈不耐煩了,努著嘴走遠。孔乙己剛用指甲蘸了酒,想在櫃上寫字,見我毫不熱心,便又嘆一口氣,顯出極惋惜的樣子。
筆者在參加工作的早年參加過一場的面試,這家公司但是還是比較大的網際網路公司。面試官問了一個讓我印象深刻的問題。”請說出你知道的jquery選擇器種類?“,我當時答了4種,儘管自己確實看過鋒利的jQuery》這本書,但是常用的也就不到6種。然後,面試官很鄙視的說到,他知道的有36種。
在工作中,我想大家也會有遇到這樣的同事。比如,總是會聽到有些同事說,”webservice過時了,我們都用微服務了“,".NET
Framework過時了,我們都用core了"。在筆者看來,技術就是工具,我們的目的是解決問題,如果能夠善用查詢技術解決問題,目的就達到了。
技術和商業模式
技術是工具,使用技術給使用者提供服務。你做一個網站,使用者不會關心你使用的是什麼技術,而只會在乎你的服務否優質。
商業驅動還是技術驅動
我相信,確實存在這技術驅動商業的公司。但是,筆者不才,入行這麼多年,都是在商業驅動技術的公司待過。
筆者所理解的商業驅動技術,就是技術給公司的業務服務。說的直白有點,技術在很多公司是成本部門,即便是技術產品的公司。當然,BAT這種量級的公司不清楚。大部分公司的技術部門並沒有太多的話語權,要麼是市場部驅動技術部,要麼是產品部驅動技術部。業務驅動技術,技術為商業目的服務。
技術人的核心競爭力是什麼
技術是行業附屬
鐵打的公司,流水的技術。
網際網路曾經對傳統行業造成的降維打擊是令人印象深刻。網際網路的確改變了人們的生活方式。於是,幾乎所有行業都在接入網際網路。
大部分公司是業務主導,技術服務於產品和業務,技術是業務的輔助。技術投入成本是很大的,也是需要時間積累。一旦業務萎縮,首先需要開源節流的多半是技術部門。所以,網際網路從業人員的流動性一直居高不下。那麼,技術人的核心競爭力是什麼?
行業經驗才是核心競爭力
技術本身是中立的,技術是工具,但遺憾的是很多技術不能自己養活自己。技術可以服務於製造業,可以服務於電商,可以服務於旅遊業。只有依附於某個行業,技術才能產生價值。
所以,行業經驗才是核心競爭力。
新時代的工匠精神
無論你哪所大學畢業,無論你的工種和職稱,你身無匠心、手無技巧、提供不了精準、專業、享受式服務,你就不是匠人,而多半是個職場混子。——《於千萬人之中,你是匠人》
技術圈的人常以碼農自居,筆者不以為然,筆者更傾向於匠人。現代的網際網路技術人,其實和二三十年前的鐵匠,泥瓦匠,木匠其實差不多。所以,”造輪子“一詞用得相當貼切。
網際網路在中國發展了近二十年,技術基本上照搬國外。商業模式的創新,甚至算不上,畢竟也是起源於國外。
新時代的吾輩,不能在指望著別人發現礦,我挖礦。要敢於去發現新礦。