為什麼每一位工程師都應該學習分析和編程技能?

2020-12-07 讀芯術

全文共3243字,預計學習時長8分鐘

圖源:ChristopherGower/Unsplash

「數據科學家是21世紀最具吸引力的工作」;「數據是一種新的石油」;「數據正在改變人類觀察世界的方式」。現如今,諸如此類的話語不斷湧現,不可避免地讓人們心生懷疑:我們在選擇專業或者職業時,真的做出了最佳選擇嗎?「我的專業不需要編程技能」;「沒有必要去學習軟體開發」;「如果會寫代碼的話,當初就選擇報計算機專業了。」事實上,以上這些話已經完全過時。因為在如今這個時代,競爭異常激烈,科技發展日新月異,只有保持終身學習和自學的習慣,才能緊跟時代潮流而不被淘汰。

作為一名工業和系統工程師,筆者早年間學習的分析和編程技能對於筆者的職業生涯受益無窮。因此,筆者強烈推薦非計算機科學工程師和專家們都去學習分析和編程技能,並且希望它同樣能給你們帶來一定幫助。

「連接人類、技術,與商業。」

作為一名工業和系統工程師,筆者的主要目標是將工程與管理聯繫起來,並且分析和改造其聯繫過程,或者創造全新的聯繫。具體來說,筆者的職責是尋找能夠提高某一過程效率的人、材料、技術、信息和能源,並且分析如何才能整合起這些要素,使之更加有效。

「工程師熱愛數字,並且樂於同數字打交道。」

不管這份熱愛是否出於真心,但畢竟是他們的本職工作。現如今,幾乎在每一項工程任務中,都會直接或者間接涉及到對數據信息的處理。然而,只有當人們能夠收集、理解、並轉換數據信息時,他們才能對信息加以甄別地利用,取其精華去其糟粕。仔細觀察下面這幅圖,圖中是一個DIKW金字塔體系。在這個金字塔中,從下往上每一層寬度依次減小,這就代表著將純粹的知識轉化為工作技能之間的距離。由於數據本身並不能直觀地顯示任何信息,因此必須用某種方式將其轉化為更易於理解的信息。相比之下,真正的挑戰還在於如何往金字塔最上端跳躍。

DIKW金字塔體系

在往DIKM金字塔上層跳躍過程中,主要使用到數據挖掘技術、機器學習,以及各種深度學習算法,比如線性回歸、邏輯回歸、K均值聚類、支持向量機、人工神經網絡等。然而,由於處理過程中會接觸到海量數據,因此如果選擇人工處理,則不僅費時費力,而且效率低下,完全是一項不可能完成的任務。在這個時候,編程技能就能大放異彩了。在電腦程式中編寫特定的算法,能夠幫助人們更加快速高效地處理多而雜的數據集。實際上,即使成功開發出數學模型、預測模型、分類模型以及分析模型(僅列舉一部分),並且也對它們進行了相關訓練、測試和驗證,這也只是所有任務中的一部分而已。真正的終極目標還在於從中得出結論,獲得深刻見解,收穫知識,並且再將所有這些轉化為自己的智慧。只有完成了這一終極目標,數據科學家和工程師才能成為其公司和組織的寶貴財富。而這,正是分析技能的強大力量。

「與取得研究結果相比,和別人分享它們同樣重要,甚至更加重要。」

如果已經開發出合適的算法,並且取得了最後結果和重大發現,那麼就已經完成了一大步。接下來還需要幹什麼呢?其實,還需要與團隊成員互相分享和交流研究結果和發現。和朋友交流?人們剛開始聽到可能會覺得這簡直太容易了!然而在實際操作過程中,很多人卻發現這是整個過程中最難的一步。其實,這與「少即是多」的原理是一樣的。在用專業術語與別人交流研究結果和發現時,必須保證表達儘可能簡潔明了,即使沒怎麼學過統計和編程的人也能理解。通常情況下,上司並不會詳細問研究的各個過程,反而他會要求你邏輯清晰地解釋和闡述最終研究結果。因此,這也是為什麼大部分崗位招聘都明確要求,應聘者要具備強大的分析和交流能力。

作為一名非計算機科學工程師,筆者在自己整個學術生涯和職業經歷過程中,親身總結了七條學習分析和編程技能的益處。因此,無論你現在多大年紀,大學學什麼專業,目前處於職業生涯的哪個階段,都應該開始考慮學習分析和編程技能。

1. 提高邏輯思維能力

編寫代碼需要進行邏輯思維。從已知信息一直到目標結果,需要找出其中的邏輯鏈,並且考慮代碼執行過程中可能存在的局限性和潛在錯誤。通過使用邏輯算子、While循環、For循環,以及條件語句,不僅能提高邏輯思維能力,也能增強編程、分析情況和解決問題的能力。

2. 提高系統思維能力

學習分析和編程技能也可以幫助提升系統思維能力,即理解萬事萬物都是相互聯繫的。各團隊之間,部門之間,並非單獨作戰,而是相互合作,朝著同樣的目標前進。因此在分析問題,解決問題時,必須同時就其可能對整個業務和組織產生的影響作出全局分析和評估,而非單獨考慮你正工作的那一個部門。一句話概括,整體大於部分的總和。

3. 提高問題解決能力

在編寫代碼或開發程序來執行某一任務或解決某一問題時,就必須先將其拆解成更小的部分。在分析具體問題時,與直接分析整體而言,從細節著手其實會更加有效。因為這樣不僅能幫助快速找出事物的根本原因並給予解決,而且還能具體而直觀地展示出原本無法看到的細節之處。簡言之,與「分而治之」是同樣的道理。

4. 提高解決問題時的創造力

大家可能會發現,在大多數情況下,某一問題的解決方案可能不止一個。因此,在真正應用某一方案之前,必須對所有解決方案的有效性和可行性進行評估和比較。比如,其中某些方案可能涉及大量編碼工作,其他一些則不需要很多,甚至其中一些編碼工作還要求人們要有豐富的知識才能勝任。在尋找解決方案的過程中,人們可能會多次改變思路,不斷分析使用的方案是否能夠真地解決問題,並且尋求相應反饋和建議。最後,為了最高效地實現目標,人們通常會在這個時候充分發揮自己無限的創造力。

5. 提高對於過程的分析和理解能力

在知道自己想去哪之前,必須明白自己現在在哪。在分析問題時,理解自己處於哪一階段必不可少。在目前階段,哪些是輸入信息、過程、決策、轉換、交流、延遲、錯誤和結果?誰是這一過程的主導者?誰是利益相關者?誰又是最終客戶?目標是什麼?離這一目標有多遠?這所有問題,在著手編碼前或者編碼過程中都必須思考清楚,只有這樣才能讓自己在分析過程和解決問題時更加得心應手。

6. 增強做決策時的自信

擁有堅實的分析能力和豐富的統計學知識,能夠幫助更好地創建評估多種情景的決策支持系統,從而讓人們基於目前的局限性來作出最佳決策。未來,當你需要向別人展示成果時,你會變得更加自信,並且應用統計學和數學知識來有理有據地進行闡述,而不再僅僅依賴常識和直覺,或者計算機的指令。

7. 脫離舒適圈

在完成任何一項全新的任務時,每個人都會經歷自己的學習曲線。毋庸置疑,在某些階段,人們可能會發覺自己陷入了困境。但是,這沒關係,因為網上有那麼多的資源可以給予你幫助。逐漸地,隨著人們對某一問題的研究愈加深入,就會發現越是自認為見多識廣,實際上越孤陋寡聞。因此,這就會極大激發人們的好奇心,激勵人們去學習新事物,擴充新知識。在網絡上,有著無數可用於不同目的的資源,其中包括各種程序包、代碼庫、算法、函數、程序、語言和軟體等。當然,大家也無需為了成為下一個編程大師而去學習以上所有的資源,大家真正需要去做的是尋找出最符合自己目標的資源,加以甄別地去學習。

尾記

有些人說自己年紀太大,為時已晚,於是放棄學習分析和編程技能;也有些人覺得自己的職業生涯已經足夠成功,沒必要再去學習新知識。其實,這一切都只是藉口而已。在當今世界和市場中,一切事物都在以空前的速度變化和發展著。目前,大部分工作都要求應聘者具備一定的分析和編程技能,或者至少會使用特定的電腦程式和軟體。所以,當機會來臨時,我們是否已經準備好迎接了呢?市場並不會因我們的需求而改變,真正需要迎合市場需求的,反倒是我們自己。

還在等什麼,趕快開始學習吧!自己寫的代碼,並且能夠有效運行,這種感覺真的很酷!

留言點讚關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • |python|電氣和電子工程師協會|編程...
    這個時候,我們就需要多元化學習,多掌握一項核心技能。就像外出的時候,車上會多準備一個備用車輪,否則車在途中「爆胎」,我們被會打得措手不及!這也就是為什麼,近年來學Python的人越來越多。前不久,電氣和電子工程師協會( IEEE)發布了頂級程式語言交互排行榜:Python超越Java、C語言高居首位。
  • 射頻測試工程師,這五大技能你不能不知!
    知識,但是一般射頻測試工程師應該對蜂窩或 Wi-Fi 技術具有深入的了解,包括如何測量和描述各種類型的光譜等等。   三、數據分析能力   射頻測試工程師的工作不只是生成數據,他們還需要分析數據並以此撰寫報告,排除故障,對測試數據有深刻理解也有助於射頻測試工程師與他人交流。
  • Web前端工程師一般需要掌握哪些技能?
    對於不太喜歡只和後臺打交道的學習者來說,前端很好的中和了「代碼+設計」的特點。一個漂亮且具有設計感的前端頁面足以撫慰學習的枯燥了~說到前端,我們就來看看前端工程師需要什麼樣的知識技能。從廣義上來講,所有用戶終端產品與視覺和交互有關的部分,都是前端工程師的專業領域。其中涵蓋用戶PC端、移動端網頁,處理視覺和各種交互問題。Web前端所包含的知識模塊很多,且隨著實際需求的變化一直在更新迭代。目前而言,HTLL、CSS、JS、DOM是目前前端技術最為基礎也是最為主要的四大基礎模塊。
  • 電子工程師必備的八大技能
    作為一個電子工程師(electronic engineer)必備技能:抄板,焊板,畫板,仿真,編程,調試,創意,堅持。八大技能,你幾級了?我才一級,還要多打野,多補刀呀!雖然跟著師傅能混一些經驗,但是還是要練好技能,自己搞點人頭才能真正的提升經驗。
  • 每一位小白程式設計師都應學會的 3 項技能
    在最近的一次訪談中,Joel Spolsky(StackOverflow的聯合創始人)表示,一個新從事編程工作的小白需要學會3項技能:經濟學、寫作和C語言。
  • 為什麼說寫作技能對於軟體工程師來說很重要?
    這種類型的面試無法發現工程師其它的技能——這些技能通常被低估,但是能給團隊帶來很多好處。其中有一項對工程師尤為重要,雖然它常常被忽視。所以它是什麼呢?是寫作技能。我們花了大量的時間來學習如何成為一個更好的編碼員,但沒有將足夠的時間用在寫作和交流上。
  • 飛編客分享:為什麼孩子要學習少兒編程!學習少兒編程的好處!
    、清華大學數據研究院、國家信息中心資深專家和全國編程大賽評委專家著手開發適合中小學的編程課程。深入研究西方先進的教育理念和教學方法,歷經二年研發了既符合國際先進教育理念,又適合中國青少兒學習的科學化、系統化課程。
  • 數據分析入門學習指南,零基礎小白都能輕鬆看懂
    第一階段:Excel數據分析每一位數據分析師都脫離不開Excel。它是日常工作中最常用的工具,如果不考慮性能和數據量,它可以應付絕大部分分析工作。雖然現在機器學習滿地走,Excel依舊是無可爭議的第一工具。對於沒有經驗的你,Excel是一款必須熟練的工具。它是日常工作中最常用的工具,如果不考慮性能和數據量,它可以應付絕大部分分析工作。
  • 零基礎學習數據分析,應該做哪些準備
    大數據是未來發展必然趨勢,不懂數據分析很可能在將來會被時代所淘汰,所以現在很多人都爭搶學習數據分析,而且很多人都是零基礎學習。零基礎學習數據分析是有一定難度的,需要大家提前做一些準備。下面,小編就來跟大家盤點一下學習數據分析之前那些必須要做的事。
  • 泉州鯉城區電氣工程師培訓 課程排名
    術成自動化培訓課程PLC編程技術|考職業技能證證書名稱:1、監理工程師上崗(監理員)施...2013年~2018年從事自動化設備研發,PLC編程、模擬量模塊量控制編程教學培訓,多個行業領域自動化設備系統工作經歷,累積了豐富的自動化設備設計、自動化系統編程程序方面的工作經驗。掌握了 各種自動化設備設計技能、編程技巧。憑藉豐富的自動化相關工作經驗,近幾年為集美大學、廈門理工學院畢業生輔導畢業設計,擔任廈門理工學院研究生導生。
  • 極客晨星告訴你為什麼要讓孩子學少兒編程
    賈伯斯曾說過:「人人都應該學習一門計算機語言,因為它將教會你如何思考」。  編程,能培養孩子哪些能力呢?你是否也會有這個疑問,少兒編程到底學什麼呢?到底從幾歲開始學習少兒編程好呢?今天我們就來分析一下。
  • 除了編程,中小學領域計算機科學教育應該學什麼?
    隨著人工智慧、機器人等最新技術的大規模運用,全球進入到了「智能時代」,各國產業結構都面臨著深度調整的壓力,科技影響深入社會與生活諸多層面,不只創新型人才的培養至關重要,更需要普及全民的計算機科學教育,以建立在資訊時代生存必要的能力素養。白宮與相關組織認為每個 21 世紀的學生都應該要學習演算法、網路如何運作、如何建立應用程式、如何分析大數據、以及計算機如何影響社會。
  • 薪資最高的15種程式語言及在線學習資源
    對此刻在家隔離或最近失去工作的人來說,現在是開始學習編程的好時機,這大概是2020年最受歡迎的技能之一了。國外某知名招聘網站最近發表了最受歡迎職業榜單,它基於三個因素:平均工資,過去三年該職位招聘廣告的增長情況,和網站每1百萬條信息裡針對該職位的求職帖數量。
  • 人工智慧重新定義了新一代編程
    執行統計數據分析- 數據科學家的主要工作包括統計數據分析和機器學習技術,例如貝葉斯,回歸,分類,聚類,時間序列以及深度學習AI。機器學習算法的執行—一位AI工程師是開發和實現新穎的數學算法技術的人,其中包括AI項目的機器學習應用程式。
  • 大疆工程師教你如何成為一名機器人工程師(上)
    雖然最近幾年,平衡車、掃地機器人、多旋翼飛行器讓機器人學開始進入人們的生活,但是可行的商業應用還是很少,而且已有的機器人和理論都還很難解決好與物理世界交互這件事情。所以一定要確保自己在機器人學這個道路上同時練好了能去其他行當吃飯的技能,比如編程、機械設計和硬體設計。也要做好心理準備,接受自己有可能在學會屠龍之術以後幾年都造不出對社會有用的東西的事實。3.
  • 龍華福城數控車編程學習零基礎可以學習
    龍華福城數控車編程學習零基礎可以學習 車銑複合已成為工具機產品發展的趨勢之一,作為工具機中佔有相當比重的車床和銑床如果能結合起來,將無疑大大提高工具機的加工範圍和工作效率,提高加工精度,降低生產成本。複合加工是機械加工領域目前國際上蕞流行的加工工藝之一。是一種先進位造技術。複合加工就是把幾種不同的加工工藝,在一臺工具機實現。
  • 寧波數控編程技能培訓實戰訓練
    寧波數控編程技能培訓實戰訓練,對於有一定基礎的或者剛從培訓學校出來的還不能適應工作崗位的學徒,在本公司「全程工廠浸泡式」學習下。寧波數控編程技能培訓實戰訓練, 雖然這些品種的產品尚不能製造,還需依賴進口。
  • 高級軟體工程師需要具備的專業技能
    那麼學習Java應該掌握哪些高級技術呢?一名高級軟體工程師需要具備哪些能力?1、精通使用Java語言的面向對象編程,具備良好的編程習慣,精通I/O(NIO),Socket,JDBC,XML,集合框架,多線程(並行編程),反射等JavaAPI相關的技術。
  • 數據科學家常用的10種程式語言和工具
    那麼要進入數據科學領域應該掌握哪些技能?如何從一個數據分析師轉變角色成為一個數據科學家?首先你要對數據科學家這份工作做一個研究,例如數據科學家需要掌握哪些數據科學工具和程式語言?一般來說,R和Python是需要重點掌握的。如果你已經掌握了一些程式語言,那麼你就應該關注一些流行的工具。  數據分析和數據科學家是一個很好的職業發展方向。
  • 學生如何在大學學習程式語言
    如果您還想學習編程,這裡是在大學學習程式語言的指南。學習編程的簡便方法編程是當今越來越多的學生採用的最先進和最有價值的技能之一。它在未來有很多職業機會,可以使您的大腦伸展並提高技能,從而創造出很棒的東西。如果您想開始編碼和編程之旅,請查閱下文。