轉型之路:從土木工程到人工智能 1. 轉型之路 2. 總結反思 3. 結語

歡迎關注本人微信公衆號:【馬騁筆記

2017年底,我在設計院從事橋樑設計工作,對職業發展有了新的想法,決定從土木工程轉行到人工智能領域。經過3個月的準備,成功拿到AI算法研發offer,在2018年5月入職上海一家AI獨角獸。

回顧這段大跨度的轉型經歷,努力固然是成功的基礎,但更重要的是面對高難度的目標,如何拆解問題、做出高質量的決策、並且用果斷的行動實現自己的願景。跨界的經歷或許不可複製,但對於如何實現目標、解決問題,態度和思維方式可以一以貫之。

1. 轉型之路

轉型之前的我是剛畢業從事市政工程設計的橋樑工程師。轉型的過程,大約兩個半月學習人工智能領域的技術,用三個星期投簡歷面試。原工作在職的狀態下,能在三個月完成這樣的轉型,達成目標的關鍵不在於地毯式地學完了所有的技術,而在於做對了6個關鍵決策:

  • 瞄準深度學習方向
  • 完成大數據比賽項目
  • 挖掘自核心優勢
  • 把握金三銀四機會窗口
  • 修改簡歷,重構人設
  • 打造價值點,支撐能力面

1.1 確定深度學習方向,選定吳恩達課程

第一個關鍵決策:從什麼方向切入

2017年,人工智能已經成爲國民級的話題。但要從事專業的工作必須弄清楚,人工智能究竟是什麼、從業人員具體要做什麼、有哪些關鍵技術。對應的?學習傳統的統計分析技術、通用機器學習算法、還是最流行的深度學習?

爲了想清楚這個問題,重讀了吳軍老師的《智能時代》和李開復的《人工智能》,基本弄清楚了當前人工智能的興起關鍵在於“深度學習”方法的跨越式發展,而深度學習是計算機科學下機器學習的一個分支。順着深度學習的線索,找到了網上最熱門的吳恩達《Deep Learning》課程,系統學了深度神經網絡方法和圖像識別的技術。

後來的經歷表明,吳恩達的課程講的最好(並非最深),配套資源(習題、編程作業)非常容易上手,是初學者最佳的選擇。並且課程知名度高,在業內也有認可度,學到的概念和方法基本可以滿足面試的要求。

1.2 參加阿里天池大數據比賽,取得名次

第二個關鍵決策:如何證明職業勝任力

學完吳恩達課程是一件花時間就能完成的事情,但是如何證明自己具備職業能力呢。和中科院自動化所讀研的許同學交流,他給我的建議是做一個大數據比賽,鍛鍊實際的項目應用能力,例如阿里天池比賽,或國外的kaggle。

決定做大數據比賽之後,我與南大計算機讀研的好友Z兄商量,決定在春節期間做比賽。春節之前,在南大奮戰一週,搭建了基本的深度神經網絡模型,但成績極差,排名倒數,鎩羽而歸。回家之後繼續推進,整個春節假期全部投入,與國科大的W同學(當時比賽的第一名)不斷交流,改進模型,終於在春節假期結束前夕取得理想結果,排名前20%。開始上班後,沒有時間繼續做比賽,成績定格在這個水平。

大數據比賽耗費的精力,過程之艱難,遠超之前的想象。但收穫也是巨大的,以非計算機專業的基礎,在兩三個星期內具備Python實戰能力,學會Linux操作基礎,還能部署雲計算,基本解決深度學習的調參問題,最終取得一個得體的成績。大數據比賽的成果打造成了項目經歷,後來成爲每次面試的壓軸戲,每次都能和麪試官侃侃而談,使對方相信我具備從業的能力。

1.3 挖掘個人優勢,側重數學、算法理論

第三個關鍵決策:定位個人核心優勢

學習準備的過程中,有一個關鍵的戰略性問題:自己的核心優勢究竟是什麼。最初,自己理解是,本科碩士有一些在本專業編程開發的經歷,英語能力強,善於總結寫作、快速學習等等。但這些自以爲的優勢,並沒有立竿見影的效果,在土木工程的圈子裏,我可能算是懂一點編程的,但在IT的圈子裏,編程熟練度可能不如上幾個月培訓的人。元旦時,與在深圳做IT的同學孫sir交流,他給我的建議是我以前從來沒有意識到的:“你的最大優勢是數學好,數學基礎強可以在算法方向持久發展,而缺乏基礎的人做不到。”

最初自己的設定是做數據分析相關,從沒想過直接做算法,要知道在純計算機領域領域,算法也是最難啃的一塊。後來想明白,雖然完全沒有算法基礎,但畢竟本碩7年的學習培養了很好的理論基礎,做側重學習和研究的事情是自己的強項。於是,整個備戰過程,除了必要的Python編程語言學習,其餘的時間都放在深度學習,機器學習算法學習上,花很多時間學清楚了諸多經典算法的數學推導(如SVM,k-means,k-鄰近,決策樹,協同過濾等)。與這一策略對應的是,我放棄了原計劃學習一大堆編程語言(Csharp、C++、R),的想法。

有了這樣基礎,我的求職範圍從較窄的深度學習工程師,擴展到更寬廣的機器學習工程師。在諸多面試中,對算法的原理侃侃而談,避開了自己最不擅長的編程代碼實現問題,此爲揚長避短。從實際工作來看,這也是有道理的,具體的編程語言和代碼實現是容易學會,可以培養的,但理論基礎的欠缺幾乎難以彌補。

1.4 抓住金三銀四求職季節

第四個關鍵決策:什麼時機開始投簡歷

春節後,到了三月初,除了學完吳恩達課程,做了大數據比賽,在其他方面還很欠缺。當時計劃再學習一兩個月之後,再找投簡歷。女朋友一針見血地指出,現在是金三銀四的求職季,工作機會最多,要趕快投簡歷,通過面試與業內人士交流,才知道公司究竟需要什麼能力,而不是閉門讀書憋大招。

當時看起來,自己在技能上還很欠缺,總想再學一些技術,讓簡歷更豐滿一些。反覆考慮之後,決定按女朋友的建議行動。抱着測試IT行業下限的態度,在拉勾網上填了在線簡歷,先投了一大批中小公司的職位,原因很簡單,大公司和明星企業的工作經驗要求很高,不具備。直接的結果是收到一大批“不合適”、“不匹配”,石沉大海。

事後來看,這又是一個非常重要的決策,“做準備”是一個沒有盡頭的事情,知識和技術是永遠學不完的。因此做事的關鍵不在於學多少技術,而在於如何達成自己的目標--拿到一個人工智能算法工程師的offer。要達到這個目標,很關鍵在於瞭解行業的需求,而投簡歷,參加面試就是最直接最一線的方式。

1.5 重新設計簡歷,爭取面試機會

第五個關鍵決策:如何調整自己的人設

直接投出簡歷的效果並不理想,與一位更早轉型的朋友田兄交流之後,給了幾條簡歷修改的建議:

  • 去掉一切與土木工程相關的描述,淡化原專業背景
  • 把編程開發相關經歷調整到前面,按相關性排序,而不是時間
  • 加上自己的個人自述

這幾點修改,表面上看起來是格式調整,但對於收到簡歷的人來說,是人設的變化。以前的簡歷更像是“土木工程領域很擅長編程”的人,而修改後更像“大數據從業者,做過土木工程方面的項目”,HR更容易認爲這份簡歷適合AI算法工程師的崗位。在修改簡歷重新投出後,收到了8個面試邀約,這也體現了行業的認可。

在長達兩週的面試週期中,每次面試之後,不論成敗,第一件事情是覆盤面試的結果,有針對地準備下一次面試,可謂“迭代式成長”。一次次的面試,實際上起到了陪練的效果。由於專業跨度很大的特殊性,僅僅一份簡歷遠不足以證明自己的能力,必須爭取面試的機會,充分展示自己的價值。更早轉行的彭兄曾經說,找工作最重要的就是面試,能拿到面試的機會就是成功的一半,此言不虛。

1.6 研讀經典算法論文,通過最難面試

第六個關鍵決策:以點帶面,拿下制高點

經過前7家公司的面試,已經拿到了1個半offer,最後一家面試迎來了上海最大的AI獨角獸企業,以算法著稱的Y公司。Y公司也是發展最好,招人要求最高的公司。能夠通過面試,最終入職,得益於最後一個關鍵決策--研讀經典算法

經過C師姐的內推,在第三週取得了的面試機會,由於此前兩週已經面試了7家公司,對於面試的基本套路已經很熟悉。第二週的週末,我考慮要準備下一次面試,最重要的事情是什麼?對於面試常見的問題,各種算法的基本原理、項目的展示,已經很熟悉,基本可以撐起做爲機器學習算法工程師的能力面,如何進一步突出自己的價值呢?最重要的事不再是面的拓展,而是拿下一個制高點:研讀機器視覺領域的論文,把自己在數學、算法模型的優勢發揮大極致,用一個價值點支撐起整個能力面的高峯。於是在週末兩天,研讀了4篇經典的圖像識別論文,搞懂了其中的模型和算法原理,寫了七八頁的筆記。

第三週,迎來了最重要也最硬的Y公司技術面試。技術面的流程,幾乎是爲我量身打造的,基本只考了兩個問題:

  • 選擇一篇經典論文,推導其算法模型
  • 分析論述Y公司的一篇經典獲獎論文

憑藉之前研讀論文的基礎,在一個半小時的面試中,對這兩個極有難度的問題基本都能回答上。最終經過後續的兩輪面試,終於取得了的offer,成功入職國內第一梯隊的人工智能企業。

此處還有一個決策:妥協

爲了提高成功率,主動降低了崗位要求,以算法測試工程師崗位面試、拿到研發部崗offer。在入職6個月後通過考覈評測,成功轉崗到算法工程師。從過程來看,只要入職的平臺足夠好,完全可以接受先以偏低端崗位入職,進入行業之後,在工作中更有針對性地提升專業技能,再向高端崗位轉崗。工作上的能力,總體上是實踐鍛煉出來的,不是自己在家憋大招能搞定的,拿到入場的機會,開始迭代和實踐纔是最重要。換個角度看那些科班出身的算法工程師,他們也需要在校的各種項目、實習的鍛鍊,纔可能勝任算法工程師的職位。

1.7 決策總結

整個轉型的過程,遠非6個關鍵決策能講清楚。但這6個關鍵的決策基本決定了轉型之路的走向和最終的成果。

從天時地利人和的角度來看:

  • 天時,抓住時機窗口
    2017年AI爆發,2018年初金三銀四的求職季,整個行業有大量的崗位機會。
    然而到了2018下半年,經濟形勢惡化,大量互聯網公司裁員,跨界求職概率渺茫。
  • 地利
    上海作爲一線城市,產業豐富,個人的選擇面非常廣闊,大量試錯的機會。
  • 人和
    轉型過程中,要進入一個完全不熟悉的行業,必須主動藉助外力的支持,而不是自己的蠻幹。
    行業內各位同學朋友的建議反饋、內推支持起到了極大的主力;轉型期面對極大的壓力,女朋友全力支持、出謀劃策,我們一起做出了一系列高質量的決策。

2. 總結反思

換工作的轉型期已經結束,新的職業已經開始,覆盤的意義在於總結對未來還有價值的一些啓示:

2.1 問題導向和結果導向

對於人工智能、區塊鏈之類的新興產業,很多人都有一些嘗試的想法,但往往被各種問題攔住:沒有相關專業學歷、怎麼學技術、行業跨度太大等等。這種想法偏於問題導向的思維,看到了太多的困難和問題,反而讓自己無法行動。

在我看來,決定要做一件事情,就應該以結果爲導向,把目標拆解成一個個可以實現的步驟,集成一切可能資源推動目標的實現。沒有條件就創造條件。例如,對於非計算機相關專業,要做大數據比賽是一件極其困難的事情,但每個具體的困難都可以找到解決的辦法;

  • 不懂大數據 -> 去慕課平臺學大數據課程;
  • 編程技術不熟 -> 找計算機專業的朋友組隊;
  • 個人電腦算力不足 -> 燒錢上阿里雲計算平臺;
  • 模型有問題 -> 選手交流羣找第一名的選手交流;

只要目標明確,大多數問題總有破解直接之道,沒有條件就創造條件,路總是人走出來的,這是一種做事的態度。

2.2 尋找最重要的一件事情

轉型的過程要面對一個全新的產業,有太多的選擇和可能性,每個節點都有很多的分支選項,但是能夠達成目標的路徑總是有限的,必須在諸多要做的事情中找到最重要的一件事,並且把這件事情做好。

三個月完成大跨度的轉型,努力和付出是基礎,但更重要的在於做對了關鍵的事情,基本沒有做無用功。如何能夠如此精準做出最關鍵的決策呢?

其一,與業內人士大量交流,這個過程中花了很多時間與在IT界工作的朋友溝通,探討自己想法和考慮,瞭解行業的需求。
其二,第一份工作的職場經歷,使我懂得公司需要什麼樣的人。因此一切行動的目標是成爲人工智能企業需要的人,而不必糾結於要不要讀一個相關學位問題。

2.3 用明確的目標來推進充滿不確定的願景

入職之後,同事問我土木工程和計算機專業有什麼聯繫嗎?答案是,幾乎沒有任何相關性,這是兩個完全不同的專業,唯一的共性可能在於大一都修了公共基礎課。

這意味着,新進入的行業與原來的行業完全不同,原來的經驗完全沒有複用性,要進入人工智能的產業的願景充滿了不確定性。然而,如果因爲外部環境的不確定性而對自己沒有明確的計劃,那麼轉型之路將遙遙無期。在一開始,我就確定一個明確的時間表,每個階段要做什麼,何時完成吳恩達課程、何時完成大數據比賽等等,即使遇到問題,也不會輕易放棄既定的目標。

明確的目標會指引人不斷向前走,目標可以失敗,但圍繞目標做出的行動創造的價值是可以複用的。有一位校友師兄曾經幫我內推今日頭條上海公司,當時很興奮,用了一個週末學習了推薦算法。後來並未通過簡歷關,並沒有面試的機會,但藉機學會的推薦算法在多次其他的面試中都發揮的用武之地。

2.4 漸變與突變

三個月,從土木工程到人工智能,看似是一次劇烈的突變。但如果回到一年之前,在學校期間已經讀了吳軍老師的《浪潮之巔》、《智能時代》、《硅谷之謎》以及專欄《硅谷來信》,對於IT產業和人工智能已經有了概念上的瞭解,並不覺得陌生。從本科到碩士7年的求學,培養的學習研究能力則奠定了自學人工智能技術的基礎。因此,從更長的時間跨度來看,這也是漸變,逐漸尋找到更適合自己的事業。

3. 結語

面試中經常被問到,爲什麼要從土木工程轉行做人工智能。我的回答是:

人的價值和成長就像一座金字塔,本科和碩士七年的學習,培養了基本的做事能力、思維方法;
在此之上,專業的學習鍛鍊了學習和研究的能力,具備了系統掌握一門專業技能的素質;
在金子塔的最頂端纔是土木工程專業的學位。
現在的轉型只是把已經具備的基礎素質和學習能力應用到一個新的領域而已,對我而言只是一個新的發展階段。

學習、成長是一輩子的事情!

-- 9:48 2018/5/13 (2019.03.24更新)
-- 於上海


更多原創文章請關注本人微信公衆號:【馬騁筆記】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章