只會Python可造不出iPhone

大資料文摘發表於2018-12-29

只會Python可造不出iPhone

大資料文摘出品

編譯:王緣緣、Ivy、小七、Aileen

Python正成為計算機領域的紅人,它的走紅不僅僅因為它的簡易語言設計和各種方便的呼叫包,還與各種培訓課程中的營銷般的吹捧不無關係。

在這些熱文的敘述中,似乎學會Python,就能搞定一切計算機難題了。對於這種普及類程式設計工具和課程,今天的文章可能可以帶來一些不一樣的看法。

這篇文章的作者Bhavya Kashyap在計算機領域可算是“老司機”,其目前在亞馬遜做開發相關的工作,之前僱主是微軟以及Facebook。接下來Bhavya Kashyap用她多年的工作經驗告訴你,為什麼她不喜歡Python和相關培訓班,畢竟,iPhone可不是隻靠python就造的出來的。

以下,enjoy。

最近我的一位朋友給我講述了她與一位同事的故事。她的同事是一個好好先生,認識之後,每天都在給她強烈安利程式設計訓練營,稱其為工程領域一種新的學位。他自己本來也是程式設計訓練營的獲利者,就他所說,這份工作就是自己程式設計培訓的成果,他認為為了計算機去拿一個學位這個事情是多餘的。

我的朋友就讀於滑鐵盧大學的計算機工程專業、並且獲得了多倫多大學的工程碩士學位,她對此顯然非常不服。

只會Python可造不出iPhone

經過一番思考後,我朋友試圖改變他的想法,她詳細詢問了相關程式設計訓練營是否涉及安全、伺服器硬體資源或作業系統相關學習,並試圖解釋:程式設計培訓班和專業學位學習的區別到底是什麼。

程式設計訓練營及其所傳遞的資訊

根據對於程式設計訓練營畢業生的觀察,我發現他們有一種荒謬的結論,其中之一就是他們相信web開發和app開發就是整個計算機工程領域的內容。

只會Python可造不出iPhone

程式設計訓練營所教的語言和技能組合

這並不意外。目前的現實就是這樣,編碼正在成為Web開發的代名詞。這個同等性在一些零基礎程式設計訓練營,甚至在《紐約時報》等高頻出版物中看到。

程式設計行業正在迅速擴張,但SaaS、裝置、安全、系統工程(生產自動駕駛汽車夢寐以求的技術),甚至遊戲開發等領域都存在人才匱乏的情況。這極具諷刺意味。從理論上講,程式設計訓練營是將非技術工人轉變為技術工人的一種方式,並且創造熟練勞動力的廉價渠道。工人們紛紛湧向這些訓練營,但結果是工人們都偏向於web開發,而電腦科學領域則需要從其他領域努力尋找技術人才。

有人可能會說主動型人才早已明白24周的菜鳥訓練營能教給你的只有那麼多,但是他們自己知道自己未來的方向和他們的才能所在。但流量是非常必要的,特別是當這種現象如此普遍時。畢竟,流量使得這樣的訓練營如此暢銷。

程式設計訓練營當然是有價值的。對於那些沒有能力接受技術教育的人來說,這是他們進入技術領域的一種渠道。對於那些意識到自己太晚加入,甚至只是想多賺一點錢的人來說,也是如此。對於web和移動端開發的誘惑力和即時滿足感是可以理解的,尤其是在當前環境下,下載框架和文字編輯器成本很低,卻很可能獲得大量獎勵。這些訓練營的美妙之處在於它們可以成為其他型別的開發,工程甚至學術電腦科學的門戶。

但是,我只是不知道新學員需要花多久才能進入那些領域。

只會Python可造不出iPhone

程式設計不等同於電腦科學,也不等同於軟體工程或計算機工程,更不等同於STEM(科學、技術、工程和數學的英文首字母縮寫)。

雖然它現在很火,已近乎成為電腦科學的代名詞。但如果你是一個電腦科學畢業生,你應該知道這兩者是不同的,也知道這種等同性對兩個學科都是一種傷害。如果你不是從事這方面工作,你可能會想這兩者有什麼區別。其實這兩者的差別不僅在於其所需技能的不同,還在於其根本目標就是不一樣的,當然兩者也有重合的部分。

程式設計是戰術性的。它是解決眼前問題的過程,並構建某些東西以使其發揮作用。而軟體工程則是在此基礎上引入戰略思維,並應用工程技術,來構建強大且可持續的解決方案。計算機工程包括一定程度的軟體工程,但也包含硬體即製作平板電腦、手機和控制檯所需的材料。最後,還有電腦科學,在某種程度上,這是最具哲學性的學科,因為其中包括深入研究數學,以及為什麼不同型別的演算法,資料結構和計算方法的工作方式卻相同。

雖然程式設計訓練營對很多人來說是合適的解決方案,但是正規的電腦科學專案所教授的技能和思維模式對於推動技術發展至關重要。這就是為什麼從訓練營畢業的學生很少有人進入大型科技公司。

需要有能力為公眾提供服務,如Google Maps或Waze,它們使用的是 Dijkstra 等演算法和MongoDB或Android SDK等工具,他們的使用者不可避免地包括程式設計訓練營的參與者。雖然許多菜鳥訓練營確實會涉及演算法和資料結構,但是它們所覆蓋的深度和廣度都不夠。而且訓練營通常是以面試為目的來教授這些,所以教學內容差異很大。

只會Python可造不出iPhone

最好的僱主

對電腦科學專業人員的需求一直在快速增長,並且沒有任何消退的跡象。根據Cod.org官方網站收集的資料,全美國範圍內開放了570,926  個計算機相關崗位。然而,去年美國國內的電腦科學畢業生人數僅為49,291 。

根據美國勞工統計局的資料, 2016年至2026年間 ,計算機和資訊科技的總體就業率預計將增長 13% 。即使電腦科學的畢業率的增長速度能達到同樣的比例,絕對數字也必須增加一個完整的數量級才能趕上。 最近的趨勢表明有越來越多的學生正在參加電腦科學專案,但仍然不夠,還需要做更多工作來縮小差距。

值得慶幸的是, 在過去幾年裡,越來越多的人注意到了電腦科學(CS)教育的重要性。這很鼓舞人心,但是依然存在類似的問題。

從大多數程式設計網站的內容來看,人們對“CS”和“STEM”這兩個術語的概念產生了混淆。

甚至連computerscience.org官方網站都混淆了這兩個術語。網站有一篇文章的標題為“為什麼越來越多的女性不願意從事電腦科學?”文章中表明只有 12% 的工程師為女性。

只會Python可造不出iPhone

至於是哪一種工程師的12%並未說明?

後來工程領域釋出的資料則顯示女性從業者佔“電腦科學相關專業”的25%。但是為什麼在專門討論電腦科學的問題時要突出來自工程領域的資料, 從而混淆事實呢?對專業知識不瞭解的人來說,這會讓他們認為某些術語的意思是一樣的。

將CS定位為STEM最具代表性的行業,會把那些想探索這個行業的人引向一個狹窄的領域,這意味著其他的領域會失去很多新員工。當涉及到低階API或系統工程設計等方面,你會驚訝地發現它們是多麼具有挑戰性。匯流排設計需要電氣工程知識,快閃記憶體開發(例如快閃記憶體驅動器和手機儲存)需要材料科學的知識。我們不要忘記像底盤/外觀設計這樣的領域,需要工業工程師和設計師來建立像Surfaces,Xboxes和Pixel 3s這樣美麗而時尚的外觀。一些科技工作者在交流中, 這些話題幾乎完全被忽略。

包括我在內的許多專業工程師,都對人們現在高度專注於那些偏向於更高層次的客戶端程式設計的訓練營和 CS專案感到不安。這個趨勢讓人們只關注到了科技的一部分領域,這個行業需要對工程有更深入瞭解的人, 這樣我們周圍的空缺才能被填補。如果年輕的大學生甚至是年長的技術人士都不瞭解它們的可能性,他們就會選擇技術阻力最小的那條道路。最終, 工程人才將失去對核心軟體工程、土木、機械、網路還有應用程式開發的關注。

向小群體展現STEM夢想

這也是少數人群組織的想法,例如:Women Who Code,Girls Who Code,Black Girls Code等。這些以少數群體為重點的組織,無論是否無意,都傳播了程式設計為STEM的觀點。他們支援將女性帶入科學和工程領域,這種說法之所以成立,只是因為公眾對這些領域的看法又被縮小到了程式碼範圍。

只會Python可造不出iPhone

在這種背景下,大部分組織的舉措主要就是教授他們指令碼和功能性語言。其實對年輕人來說,能大致領略C 和 C++等語言, 這是非常有價值的, 這樣能讓他們覺得程式語言不是那麼的難。冒充者綜合症是導致追求 CS學位的少數群體輟學的一個真正因素,所以需要為他們提供幫助來消化這些更難的程式語言, 而將這些程式語言納入所有CS課程, 可以增強他們學習的信心。

有趣的是,這裡我們又說回到了程式設計訓練營,越來越多的少數群體者加入去提升自己的能力,彌補自己的不足。Facebook的廣告不斷宣傳這些舉措,這些舉措的領導者非常認真的(也許是真誠的)對待學員,但是程式設計訓練營對學員而言最終只起到了非常微弱的作用。這些舉措的直接結果尚不清楚——並非所有訓練營都公佈了學員的就業率,即使他們公佈了,某些人也會認為這些舉措具有誤導性。

顯然,除了程式設計之外,還缺乏很多專業技能訓練營,這是因為需要這些技能的公司並沒有給訓練營助資。

本著樂觀的精神,我將假定學員就業率確實很高,訓練營的畢業生在離開訓練營幾個月後就能在初創公司或中型公司找到工作。然後憑藉幾年的經驗,一些人能夠跳槽到像谷歌或亞馬遜這樣的巨頭公司中。

但這些少數群體畢業生中的大部分最終並沒有擔任領導職務, 尤其是在上述巨頭公司中。訓練營在大部分人的印象中已經與能力弱畫上等號,擁有訓練營證照的人有時甚至會被剝奪參加某些MFAANG面試的資格(MFAANG是Microsoft, Facebook, Amazon, Apple, Netflix和Google.的縮寫)。

我聽說同行們在簡歷上對擁有這類證照的少數群體候選人的資歷提出了激烈的質疑。不幸的是, 這就是目前的狀況。因此,只有拿到正式的STEM學位,少數群體人才的實力才能得到正視。當然,如何才能得到STEM學位又要另外花費一番功夫了。

只會Python可造不出iPhone

Techgirlz涵蓋了應用工程和理論工程

向少數群體引入CS是第一步,同時我們也需要讓工程學科多樣化。無論在大公司還是小公司中,在所有的領域中,我們都需要婦女、有色人種和其他少數群體的加入。這不僅僅能提高行業水平,為顧客帶來好的產品,這也是增強社會和社會經濟能力的一個步驟。

下一步應該如何?

只會Python可造不出iPhone

我已經表明了我的憂慮,但問題都沒有解決。負責教授給學員所有可能會用到的知識是誰的職責呢?

顯然,除了程式設計之外,還缺乏很多專業技能訓練營,這是因為需要這些技能的公司並沒有為訓練營提供資金支援。雖然程式設計訓練營和一般CS專案舉措是這個教育計劃的一部分,實際上它們已經做了很多工作,為很多人開啟了大門。他們沒有義務擴大學員的知識基礎去涵蓋所有的專業領域,雖然他們這樣做也是應該的。

我的結論仍然是, 資訊傳遞很重要。

作為一個行業, 我們不能繼續只重視Web/app開發和高階CS。我們應當做得更好, 以便滿足對科學、技術和工程角色的需求。我們需要新的人才來設計作業系統、主機板、相機、螢幕、機箱、裝配線和伺服器來推動行業技術的更新。畢竟, 你不能僅僅用 Python就做出一部 iPhone。

相關報導:

https://medium.com/s/story/you-cant-build-an-iphone-with-python-ad690e5b2164

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2286935/,如需轉載,請註明出處,否則將追究法律責任。

相關文章