我本科學的通信工程,本科階段學了一點AD、Multisim;碩士學的電子與通信工程,學了一點FPGA。畢業之後覺得互聯網行業工資高,然後跑去做軟體測試;現在看人工智慧火,現在做的是計算機視覺。(我打了這段文字我自己都笑了,我真是太跟風了。)

我來現在的公司半年多了,現在做計算機視覺,自學。我本來以為我自學能力還是可以的,數學也不錯,因為我考研沒報班卻考了411分,所以我覺得我自學人工智慧這塊也是可以的。但是,我來現在的公司半年多了,我目前也就在Coursera上跟著吳恩達學了個機器學習、還有學了個python而已。現在由於公司業務需要,我現在又在學OpenCV、如何用CUDA加速圖像處理演算法。

現在我發現這個行業要學的真是太多了。我不是學計算機出身的,那些基礎課比如數據結構、軟體工程、操作系統、資料庫等我都沒學過,這些我到現在也沒有系統地學習過。更不用說深度學習、數字圖像處理、OpenCV等等高階內容了,這些我也都沒學過。公司里沒人教我,我這個部門只有我一個人,這些東西全靠我一個人摸索,我學的太累了。

而且公司也不是學校,我如果花較多時間學習而不給公司幹活,不僅老闆有意見,同事可能也會對我有意見,我自己也會感到愧疚。

所以我現在在想,我要不要轉回到我的老本行——FPGA?不過從我畢業到現在,我也有三年多沒碰過FPGA了。我現在29歲了,我還應該回到FPGA這個行業嗎?


看到樓主的經歷我頗有感觸,彷彿冥冥之中這個世界上有一個跟自己一模一樣的人,經歷著跟自己一模一樣的曲折和心酸,感受著跟自己一模一樣的糾結和困擾。只是,我可能已經過了痛定思痛的階段,曾經有人跟我說」選擇了這條路跪著也要走下去「,所以我從來都沒覺得自己有退路。我的經歷可能會比樓主稍微曲折一些,借著樓主的問題,我想對自己的學業和職業做一點小小的總結。

我想自己從來都不是一個愛一行干一行的人。大一的時候學院要從下屬的4個專業里挑人重新組成一個20多人的重點班,於是我就莫名其妙的從電子科學與技術專業轉行到了通信工程專業。所以入行通信工程,可以說非我本意,也可以說上天安排。我至今仍然記得轉到通信工程專業之後的第一堂課上,我們班主任就說:」通信工程現在已經是夕陽產業了「。而且,這個專業的四年本科時光真的非常難熬。可是經歷過四年的朝夕相處之後我也漸漸的熱愛通信工程了,漸漸地愛上了受通信原理和信號處理虐待的生活。於是,我通過考研進入了全國通信工程最好的大學。

不得不說,我研究生階段的兩個導師和一個師兄決定了我今後將會從事的行業和職業。在這裡第一次見識到了大師風範,體驗到了極客思維。我做的項目是最傳統的通信,學習的是將來可能不怎麼賺錢的FPGA。也許是為了報答他們的知遇之恩,我研究生階段基本上是朝九晚九一周學習和工作7天過來的。不謙虛的講,由於從導師和師兄身上學到了一點點皮毛,我在研究生畢業的時候已經在一個很小的行業圈子裡積累了一點點小小的口碑,彼時給我私下打電話找我接項目的人還是有一些的。當時我對自己的定位是:以FPGA和相關硬體為載體的通信演算法和信號處理演算法開發工程師。

變故發生在我入職以後,職場畢竟和校園的環境不同,需要考慮很多」人「的因素。雖然我並不願意提起,但還是不得不說我決定轉行的直接原因是在研究院的官僚氛圍中遇到了兩個小人,一個是我的組長,一個是我同級的同事。這可能也算一種上天安排的機緣巧合吧,畢竟沒有他們,我也不會痛定思痛義無反顧的決定離職和轉行,我實在不願意毫無長進的浪費生命了。由於我拒絕了組長提出(暗示)的給他行賄他才會給我辦離職手續的要求,所以我離職並不順利,無奈之下,只好選擇出國留學。

這個時候我已經下定決心要轉行機器學習和深度學習了。為什麼是這個方向?我對自己的定位從來都是演算法工程師,而不僅僅只是FPGA開發工程師。轉行到人工智慧領域,無非是從信號處理演算法工程師轉行到機器學習/深度學習演算法工程師。當然,雖然名字里都有」演算法工程師「這五個字,不得不說它們之間的鴻溝還是無比巨大。誠如題主所言,」這個行業要學的真是太多了」。我也不是學計算機出身的,那些基礎課我也都沒系統學過。可是,現在有公司能願意給我機會讓我入門我已經非常感激了。要知道,沒有專業背景的話,在美國想找人工智慧方向的工作難如登天。我跟樓主差不多同歲,在知乎給我推送你的問題的前一分鐘,我還在重溫《概率論與數理統計》,後面等著我的還有《The Elements of Statistical Learning》、《Pattern Recognition and Machine Learning》,我發現我現在早上7點半起床晚上看書到1點,一周工作7天,幾乎沒有休息日。我當初學通信工程和FPGA有多拼,現在就有多拼,只是現在比當時已經老了5、6歲。我多希望現在就能過上輕鬆地生活,也不枉我當初奮不顧身的拼搏。可是,我周圍大部分的同事都來自清華、北大、台大、CMU、Stanford、Berkeley,他們在我這個年紀可能一樣拼,在他們身邊,我可能要永遠奮鬥下去才能不被他們落下太遠,我想實在是沒有什麼理由懈怠。

昨天知乎給我推送了一個FPGA的相關問題,我試著答了一下,感覺依舊有當年的味道,我想如果我重回通信工程領域,至少能過上比較安逸的生活吧。

可是,

我不要。


我的想法,不太推薦樓主重新去學FPGA。

先說下我的經歷,本科電子科大通信學院物聯網工程,保研去的抗干擾國家級重點實驗室,研一下的時候選修了一門三天的選修課計算機視覺與機器學習,研二的時候正式開始自學cv,最開始跟著另一個老師做過兩個月的FPGA加速,做出來個大半成品投paper沒過然後就沒有繼續完善,十一月中開始全身心學演算法。六月份去實習,秋招拿了實習的return,英特爾,寒武紀等最終選擇留在實習公司,做cv演算法工程師。

由於有FPGA開發經歷,在公司實習的時候同時負責演算法開發和與FPGA組對接工作,所以對公司里的FPGA情況還是有些了解的,結合對教研室FPGA老哥們的了解,我給出不推薦回到FPGA組的原因如下

1,如果你是想做通信演算法的FPGA實現,那你從年齡,資歷能力上都比不過應屆生。如果想做cv的FPGA實現,那你一定要有cv的背景知識,最起碼depthwise convolution,quantization你要懂吧,今年秋招有幾個FPGA老哥投了我司直接簡歷掛就是這個原因。

2,通信已經是夕陽產業了,目前我們教研室在做通信的屈指可數,FPGA又非常吃經驗,我看樓主的水平應該還是比較入門,買開發板自學的費用還是挺高的,投入產出比太低,風險太大。

3, 既然樓主已經學了opencv,想必對cpp已經挺熟悉了,學習下cmake,shell,機器學習的基本概念,常用演算法,做幾個kaggle練練手,買本書學一個框架,讀懂caffe源碼,那cv也就入門了呀。我轉行也只花了一年時間,ml社區的開源特性會讓你學的非常快的。


個人還是覺得要看愛好

不喜歡,做著也沒動力

面向工資編程的話,FPGA和CV工資都不錯,實驗室有師兄去DJI做FPGA拿40,有去BAT做CV拿35。而且FPGA未來有很大的發展空間,反而是與CV領域的ANN.DL未來十年可能會泡沫,畢竟這一塊門檻比FPGA低太多了,吳恩達的視頻,李飛飛的CS21n刷一遍,python cpp學一學就能看懂一些東西了,然而FPGA你就算學了verilog,vhdl,不動手調調串口,跟著項目調調板子,感覺和沒學一樣

先說說自己吧 211本科985碩士

研0進入實驗室開始搬磚打工

實驗室硬體FPGA為主,主要做圖像處理相關的工作

剛進來導師強烈要求FPGA,一周過了一遍verilog,第二周導師要我一邊調串口,一邊學圖像處理,結果就被圖像處理吸引住了,接著就自己學opencv,學cpp,學西瓜書,看cs231n,學python,寫寫cs231n作業,感覺學python跟學matlab也差不多,語法大概熟悉下,遇到不會的去看函數用法

年前兩周基本每天早上做總結,下午一邊學cpp一邊做項目,晚上看視頻寫python,打算今年過年把Tensorflow學學,來年就準備啃fast-rcnn,yolo之類的paper了

導師看到我兩周沒把串口調出來,就讓我轉軟體了。在此也謝謝老闆大恩大德。

今天終於放假回家,擠在綠皮車上,感受春運。人生還是太艱難了


題主度過開頭這段最難熬的時間就可以了。就我個人來說,有傳統機器學習基礎,強行入門以深度學習為主的計算機視覺也花了8-12個月時間,但是現在有了基礎,回頭來看之前的一些東西,感覺根本就沒那麼難。

現在的工作需要和FPGA工程師配合,他們真的不懂CV演算法,所以加速這方面做得不好。用著很強大的片子,速度卻出不來。題主如果有一定的演算法經驗,又會開發FPGA,是很有前途的。

PS. 我已經打算自學FPGA了,受不了想盡辦法簡化的演算法,硬體工程師仍然做成那個鬼樣子

看標題,還以為你在FPGA領域干過幾年,然後想再轉回來呢,結果看內容是讀研期間學過些……那不算啊,沒在工作實際項目里做過一兩年,只能算準入門有些基礎啊。

其實你是一個人在那裡學習做項目沒有方向感,身邊也沒人請教時的自我安慰:算了,哥不玩了,哥還是回去做自己熟悉的FPGA去吧。那你去投FPGA看看?還真不是你想轉就轉成功的,人家還要嫌你沒實際上手項目經驗呢。話有點直接,希望你不要受傷……

想說的是:你可以考慮跳個槽,最好是規模大點已經建好隊伍的公司或項目組,不管是繼續目前的方向,還是真的去做FPGA,或者其它方向,有個成熟大環境在裡面歷練,由項目推著你走,會輕鬆很多。


推薦閱讀:
相关文章