摘要:IT和一些低級別的編程工作最終會消失嗎吸重?這個工作是一個巨大的即將破裂泡沫嗎互拾?本文作者對此做了詳細的分析。以下是譯文嚎幸。
一位朋友最近向我提了個問題颜矿,這個問題我曾經在不同的論壇上聽到過,雖然問題的形式不太一樣:
“你認為IT和一些低級別的編程工作最終會消失嗎嫉晶?這個工作看起來有點像一個巨大的即將破裂泡沫或衡。我認為,科技和低水平計算機科學相關工作能夠“受人尊敬”以及保持高薪的唯一原因是這個行業(yè)中充斥著晦澀難懂的專業(yè)術語和公眾對計算機的無知车遂,而這兩種情況在未來的10年里都將消失∷钩剑”
這個問題既跟技術工作的未來相關舶担,也是對軟件工程領域誤解的一個常見例子。雖然這個行業(yè)里確實有很多“晦澀難懂的專業(yè)術語”彬呻,但其中也存在著相當多的難題正等待著具備相應技能的人去解決衣陶。一些軟件相關的工作正在慢慢地消失,但真正具備一定經驗和知識的程序員們將繼續(xù)會受人尊敬闸氮,也能拿到較高的報酬剪况。最近的 AI研究員薪水大爆炸 和相應人才的缺乏正是印證了這一點∑芽纾【Java高級架構進階群】:836442475?本群提供免費的學習指導译断,架構資料以及免費的解答,不懂得問題都可以在本群提出來或悲,之后還會有職業(yè)生涯規(guī)劃以及面試指導孙咪;進群修改群備注:開發(fā)年限-地區(qū)-經驗堪唐,方便架構師解答問題
點擊鏈接加入群聊【架構華山論劍】:https://jq.qq.com/?_wv=1027&k=5piQOHC
在不斷變化的技術環(huán)境中保持相關性可能是一個挑戰(zhàn)◆岬福看看當前那些用來取代程序員的技術淮菠,我們就能夠預測有哪些工作在將來可能會消失。此外荤堪,要預測薪酬和技能需求的變化合陵,應該把未來會有越來越多的人學習編程這個情況考慮進去。正如Hannah所指出的那樣澄阳,“公眾對計算機的無知”使得會編程的人的工資很高拥知,而公眾對計算機的了解會越來越深入。
持續(xù)向著商品化發(fā)展
對自動化取代人類的恐懼既不新鮮也沒有根據寇荧。在任何一個領域举庶,特別是在技術領域,市場的力量都會推動企業(yè)走向自動化和商品化揩抡。 “ Gartner炒作周期報告 ”就是對這種現象進行情景化的一種方式户侥。
2017Gartner炒作周期隨著時間的推移,一些特定的想法和技術最終必將走向自動化這個“生產力高地”峦嗤∪锾疲縱觀歷史,我們可以得出結論烁设,自動化有能力摧毀特定的就業(yè)市場替梨。在不同的行業(yè),從作物收割到汽車裝配技装黑,先進的技術將不斷增強甚至取代人力副瀑,進而降低成本。一位教授曾經在編譯原理課上這樣說:“以紡織業(yè)和鋼鐵行業(yè)為例:你是要創(chuàng)造機器恋谭,還是要操作這些機器糠睡?
在這個比喻中,“機器”是指計算機編程語言疚颊。這位教授真的在問:你想用JavaScript創(chuàng)建網站狈孔,還是要構建支持JavaScript的 V8引擎 嗎?
今天材义,網站的創(chuàng)建可以用WordPress或其他平臺來自動進行均抽。而另一方面,V8正在成為越來越多解決開源研究問題的競爭對手其掂。編程語言會突然流行起來油挥,也會慢慢衰敗下去(現在還有多少Fortran相關的職位呢?),但總是會有人去創(chuàng)造下一個編程語言喘漏。 幸運的是护蝶,編程語言是用編程語言自己來編寫的。作為一名軟件業(yè)中的“機器操作員”翩迈,你將走上一條“機器創(chuàng)造者”的道路持灰,而過去的鋼鐵工人并非如此。
層出不窮的編程語言负饲、解釋程序和編譯器告訴我們堤魁,每一個破壞工作的機器也帶來了改進、維護這些機器的工作機會返十。盡管越來越多的 工作崗位已經不復存在 妥泉,但人類歷史上還沒有出現過一個集體訴說“我們沒有任何工作可做”的時刻。
擺放保齡球球瓶的人商品化正面向我們所有人走來洞坑,而不僅僅針對軟件工程師盲链。縱觀歷史迟杂,人類的勞動一直被非人類所取代刽沾,或者是所需的人數減少,以及所需掌握的技能要求降低排拷。 自動駕駛的 汽車 和 卡車 這個當前最時髦的東西正說明了這一點侧漓。 如果創(chuàng)造和自動化這種循環(huán)反復是生活中存在的事實,那么接下來要回答的問題自然是:哪些工作和行業(yè)會面臨風險监氢,而哪些不會布蔗?
誰把誰自動化了?
AWS浪腐、Heroku和其他類似的托管平臺已經永遠改變了系統(tǒng)管理員和DevOps工程師這樣的角色纵揍。互聯網企業(yè)過去完全需要有自己的服務器管理員议街,包括:精通Linux的人骡男,會配置Apache或NGINX服務的人,一個不僅會在物理上連接服務器傍睹、路由器和所有其他物理組件,還能夠配置路由表以及所有讓服務器在互聯網上可訪問的軟件的人犹菱。盡管由人來操作更加專業(yè)一點拾稳,但AWS正在淘汰其中的一些技能,特別是那些無需多少經驗水平以及物理側方面的工作腊脱。雖然亞馬遜(包括Netflix和Google)在網絡基礎設施方面擁有豐富的專業(yè)知識访得,但在中小型企業(yè)中這方面的需求要少得多。
SalesForce、Tableau和SpotFire等“商業(yè)智能”工具也逐漸開始侵占原本由軟件工程師占據的空間悍抑。這些系統(tǒng)減少了對企業(yè)內部數據庫管理員的需求鳄炉,但同時也增加了把SQL作為通用技能的需求。它們減少了對企業(yè)內部報表制作技術的需求搜骡,但是增加了對“集成工程師”的需求拂盯,因為他們能讓數據自動地從企業(yè)流向第三方軟件平臺。之前由Excel和Spreadsheets主導的領域越來越多地被像Python或R這樣的腳本語言所主導记靡,并朝著用SQL進行數據管理的方向發(fā)展谈竿。有些工作已經消失,但是對編程人員的需求總體上還在增加摸吠。
數據科學這個實際的案例在一定程度上跟軟件商品化非常類似空凸。 Scikit.learn,Tensorflow和PyTorch都是通用軟件庫寸痢,開發(fā)者使用這些庫可以很容易地構建機器學習應用程序呀洲,而無需從頭構建算法。實際上啼止,人們可以使用很多不同的機器學習算法來運行數據集道逗,而這些算法可以有許多不同的參數集,并且使用者無需深入理解算法是如何運行的(雖然這么做并不明智族壳,但這是有可能的)憔辫。我可以打賭,商業(yè)智能公司將在未來的幾年內將這些算法集成到自己的工具中仿荆。
數據科學在很多方面就像是5-8年前的網頁開發(fā)贰您。這是一個蓬勃發(fā)展的領域,只要懂得一點知識你就能入門拢操。隨著網站開發(fā)培訓班的關閉锦亦,數據科學培訓班如雨后春筍般地冒了出來。Kaplan曾經購買了原來的網絡開發(fā)培訓班(Dev Bootcamp)并啟動了數據科學培訓班(Metis)令境,現在決定 關閉DevBootcamp铅协,但繼續(xù)維持Metis的運營 忍宋。
內容管理系統(tǒng)是讓企業(yè)自動遠離對軟件工程師需求的流行工具之一。 SquareSpace和WordPress是當今最受歡迎的CMS系統(tǒng)。這些平臺的存在顯著降低了那些只具備一點點前端Web開發(fā)技能的開發(fā)者的價值试吁。事實上,現在制作網站和上網的障礙已經大大降低或杠,沒有任何編程經驗的人每天都在發(fā)布網站谓形。他們不是在為互聯網提供數十億人訪問的互動網站,而是為自己的企業(yè)搭建網站弥鹦,為客戶提供他們所需要的信息肚逸。一個包含如何找到企業(yè)以及如何與企業(yè)聯系的可愛登陸頁面,對于當地的餐館、酒吧或零售店來說已經完全足夠了朦促。
如果企業(yè)的主要業(yè)務并不是“互聯網業(yè)務”膝晾,那么,在互聯網上搭建一個網站并不簡單务冕。因此血当,曾經一度非常繁榮的網站承建商這個行業(yè),雖然它們能幫你在互聯網上快速建立起一個簡單的網站洒疚,但也開始變得越來越不賺錢歹颓。
最后,在這種情況下油湖,無視計算機的物理特性就是一種自大巍扛。用Mike Acton的話來說:“ 軟件并不是平臺,硬件才是平臺 ”乏德。軟件相關人員至少要學習一點計算機架構和電氣工程知識才是明智的撤奸。消費級量子計算機的出現將會改變軟件工程的一切。
量子計算機還很遙遠喊括,但人們對GPU以及并行化趨勢的興趣正日益增長胧瓜。 CPU速度的提高已經停滯了好幾年,但機器學習和“大數據”的飛速發(fā)展不可抑制郑什。隨著處理大型數據集的需求越來越多府喳,OpenMP、OpenCL蘑拯、Go钝满、CUDA和其他一些并行處理語言和框架將成為主流。為了在短期內提高競爭力申窘, 全方位的并行化是將成為主流 弯蚜,這不僅僅體現在操作系統(tǒng)上,還體現在基礎設施和視頻游戲等領域中剃法。
每個人都在學習編程
網站無處不在碎捺。 2017年的Stack Overflow調查報告 指出,約有15%的專業(yè)軟件工程師都在“互聯網/網絡服務”公司工作贷洲。據勞工統(tǒng)計局預測收厨,網絡開發(fā)崗位人數的增長速度將繼續(xù)高于平均水平( 2014年至2024年平均水平為24% )。由于該行業(yè)的的知名度較高优构,人們紛紛關注起“技能差距的彌補”上诵叁。編程培訓班現在幾乎只教網站開發(fā),而網站開發(fā)在線課程也已經搶占了Udemy俩块、Udacity、Coursera和其他一些在線課程的市場。
網站開發(fā)技術的自動化程度越來越高玉凯、大量入門級網站開發(fā)程序員的涌入势腮,使得有人預測網站開發(fā)對于軟件開發(fā)人員來說將成為一個 “藍領”市場 。有人進一步指出漫仆,推動該市場的藍領化是 大型科技公司的一個戰(zhàn)略 捎拯。而其他一些人則說,我們正在為另一個即將破裂的泡沫而努力盲厌。
對特定技術的需求發(fā)生變化并不是新聞署照。 語言和框架的發(fā)展總會遇到 上升期和下降期 。目前的網站開發(fā)(“JS為王”)會重走2000年初的網站開發(fā)之路(還記得Flash嗎吗浩?)建芙。 在決定給自己貼上“React開發(fā)者”這個標簽之前,請記住懂扼,曾經有人認為自己是“Flash開發(fā)者”禁荸。把自己的事業(yè)限制在一個特定的語言、框架或技術上就像是一場賭博阀湿。當然赶熟,要預測哪些技術能保持相關性是相當困難的,但是如果你想迎難而上陷嘴,那么我建議你以“ Lindy效應 ”為依據映砖,并選擇像C語言這樣已經經受住了時間考驗的東西。
未來一代年輕人的技術素養(yǎng)肯定更高灾挨,這是X一代甚至千禧一代的人們所不具備的邑退。同時,CMS工具也會變成更好涨醋,以方便年輕人更好的利用這些工具瓜饥。這樣,更多的年輕人會進入這個行業(yè)浴骂,從而導致低水平IT和網絡開發(fā)技能的價值大大地降低乓土。另外,高中也會開始提供計算機科學和編程方面的課程溯警,一些受過良好教育的高中生可能會進入勞動大軍趣苏,在畢業(yè)后立即成為一名編程實習生。
另外的一大批編程新軍是MBA和數據分析師梯轻。曾經的職位描述中要求會用Excel食磕,而現在開始改為會用SQL,或者是熟練使用SQL喳挑。諸如Tableau彬伦、SpotFire滔悉、SalesForce和其他一些基于Web的度量系統(tǒng)將取代電子表格成為報告生成的主要工具。如果這種情況持續(xù)下去单绑,那么就會有更多的數據分析師去學習SQL回官,因為這比將數據導出到電子表格中處理更簡單。
那些想要轉入IT行業(yè)或者想在崗位上更進一步的人來說搂橙,在網上學習數據庫和統(tǒng)計類編程語言是一個不錯的選擇歉提。在有了這些新技能之后,他們就可以把機器學習和統(tǒng)計庫方面的庫結合來区转,把自己定位為數據科學家苔巨。
最后,獲得計算機科學和軟件工程學位的人數正逐年攀升废离。例如侄泽,普渡大學宣稱,他們計算機科學課程的申請數量 在五年內翻了一翻 厅缺∈吖耍康奈爾大學也報道了 計算機科學畢業(yè)生數量大爆炸 的新聞。鑒于軟件的增長和普及湘捎,這一趨勢并不令人驚訝诀豁。對于年輕人來說,他們很難想象計算機在我們未來生活中充當的角色將越來越小窥妇,所以為什么不研究一些能夠保住我們飯碗的東西呢舷胜。
稀缺和期望
在這個行業(yè)中,現在有一個很普遍的觀點活翩,認為在大學四年的計算機科學課程中學到的知識大多是沒什么大用處的烹骨。我在培訓班、在線開發(fā)商店材泄,以及一些大人物 例如Eric Elliott的作品 中都看到過類似的觀點沮焕。當然,反對意見也很多拉宗,有人甚至說: “所有的程序員都應該有碩士學位” ”峦树。
我的想法跟Eric Elliott一樣,我認為對于編程來說旦事,還是有更多其他的路可以選的魁巩,而4年的大學生活可能也不是某些人最佳的選擇。同時姐浮,我也同意威廉·貝恩的觀點谷遂,即跨學科領域應用的基礎技能對于職業(yè)生涯的長期發(fā)展來說是至關重要的,而且在大學課程之外還很難找到相關的知識卖鲤。我 以前曾經寫過 有關一個有抱負的工程師在漫長的職業(yè)生涯中應該學習哪些基礎技能肾扰。
不同規(guī)模不同形式的編程學校到處都是畴嘶,并且他們的廣告詞讓人無法拒絕。在那里集晚,你無需涉及底層細節(jié)掠廓、算法和數據結構,即可學會編程甩恼。然而,雖然斯坦福大學的畢業(yè)生確實會與來自Hack Reactor的畢業(yè)生爭奪一些工作沉颂,但這僅限于在一兩個子行業(yè)里条摸。編程學校和培訓班的學生目前還沒有進入嵌入式系統(tǒng)、密碼與安全铸屉、機器人钉蒲,網絡基礎設施或人工智能等行業(yè)的研究和開發(fā)工作中去。然而彻坛,在像網頁開發(fā)這樣的領域中顷啼,這方面的發(fā)展十分迅速。
一些與編程相關的技能已經開始從“稀缺技能”轉向“期望標準”昌屉。推動科技發(fā)展的大公司钙蒙,例如亞馬遜、Google间驮、Facebook躬厌、Nvidia、Space-X等等竞帽,通常不會招聘對JavaScript只是基本了解的人扛施。 AWS每天為數十億用戶提供服務,為了支撐這種負載屹篓,AWS基礎架構工程師需要深入了解網絡協(xié)議和計算機體系結構疙渣,并擁有多年的相關經驗。與其他學科一樣堆巧,IT業(yè)中也有業(yè)余愛好者和工匠妄荔。
這些著名的公司正致力于解決研究性的問題,以及構建某種真正能夠突破邊界的系統(tǒng)恳邀。然而懦冰,即使在基本的編程技巧越來越普及的情況下,他們仍然很難招到合適的人來填補空缺谣沸。能夠編寫算法來預測基因序列變化的人將會受到這些公司的追捧刷钢,在未來的價值將非常高。能夠給衛(wèi)星乳附、航天器和機械自動化編程的人將繼續(xù)受到企業(yè)的高度重視内地。這些領域并不適合成為像前端網絡開發(fā)那樣的“三個月速成班計劃”伴澄。
計算機科學脫胎于“計算機”這個詞,一些人預計阱缓,到2025年人們對它會有天生的理解非凌。很可惜,計算機的普及并沒有造就出真正理解數學荆针、計算機科學敞嗡、網絡基礎設施、電氣工程等學科的新一代航背。計算機素養(yǎng)與計算機的研究是不一樣的喉悴。盡管數學已經存在,但統(tǒng)計學素養(yǎng)較高的人仍然比較少玖媚,計算機科學也一樣箕肃。 Euclid發(fā)明了多種算法 ,其中有一個算法在每次發(fā)送HTTPS請求的時候都會用到今魔。但事實上勺像,每次我們使用HTTPS登錄網站的時候,并不會自動了解這些協(xié)議的工作原理错森。
雙峰薪水分布圖
成熟專業(yè)領域的薪水分布圖往往有兩個波峰:相對較少的人賺取了相當多的錢吟宦,他們中大多數人的薪水都很高,但在收入的前1%中卻看不到他們的身影涩维。美國國家法律安置協(xié)會(National Association for Law Placement)收集的數據 證明了這種情況 督函。大部分法學畢業(yè)生的工資在4500美元到65000美元之間,雖然工資很高激挪,但很難跟“頂尖專業(yè)人士”聯系在一起辰狡。
擁有法學學位的人的收入分布圖,來自于美國國家法律安置協(xié)會我們往往會認為垄分,所有的法律專業(yè)畢業(yè)生都有可能成為一家律師事務所的合伙人宛篇,而事實上他們有很多的職業(yè)方向:律師助理、文員薄湿、公共辯護叫倍、法官、企業(yè)法律服務豺瘤、合同寫作等等吆倦。計算機科學專業(yè)的畢業(yè)生也有很多的道路可以選擇,從網頁開發(fā)到嵌入式系統(tǒng)坐求。由于基本的編程技能仍然是“期望”蚕泽,而不是“具備”,因此,我猜測編程這個職業(yè)的收入分布圖也會出現類似的情況须妻。
雖然總會有一批IT界人士花費大量的資金來推動技術的發(fā)展仔蝌,同時也會有越來越多的IT中產階級人士為新的以計算機為中心的經濟提供支持。網頁開發(fā)人員的平均收入肯定會隨著時間的推移而下降荒吏。也就是說敛惊,“程序員”的職位總數只會繼續(xù)增長。對于那些正在重新定義可能性的程序員來說绰更,他們將繼續(xù)獲得頂級工資瞧挤。