內卷預警,本科生真的很不適合算法崗位嗎?


大家好,今天給大家聊一個很多同學很感興趣的問題,做算法真的有學歷限制嗎?本科生是否真的不行?

今天文章的靈感源於知乎的同名問題:本科生真的很不適合做算法嗎?這篇問題我也回答了,只是知乎里比較簡略,我做了一些加工,寫成了本文。希望可以幫助到正在迷茫當中的同學們。

崗位要求是騙人的

前幾天有一個同學在我的文章下方留言,說投了幾家大公司,發現都寫明了要求至少是碩士文憑。他自己是本科,覺得很苦惱。

我去網上搜了一下,這么說的人還不少,很多人都遇到了這個問題。對比了一下招聘崗位發現自己有一條或者是兩條不滿足,然后到處找人問,你看我這種情況還有機會么?

每當這種時候我都會有一種奇怪的感覺,先是感覺一群純真的少年被無情地欺騙了,接着是感嘆自己好像不知不覺間已經成為老油條了。我要說的意思很簡單,就是大多數情況下我們可以不用理會崗位要求里面寫的內容

熟悉我的朋友都知道,我是本科生畢業,並且還是轉行做的算法。在我跳槽去阿里的時候,我只在算法崗位上做了三個月。在這三個月里,我還是一直在寫后端,一個模型也沒做過。當時崗位的要求是什么呢?寫着碩士文憑優先,有各類期刊論文的優先,要在算法、數據挖掘領域有兩年及以上的經驗。

講道理,這三條我一條也不符合,最后還是通過了。我這么說絕不是突出我厲害,而是說明,崗位要求這種東西不能完全相信,看看就好。leader們在寫崗位要求的時候都是憑着印象寫的,無論是HR還是面試官,在評估一個人簡歷的時候,是根本不會打開那個崗位要求進行對比的,他只會根據自己的經驗去評估一下,這個人的水平如何。只要他覺得你還可以,有吸引他的地方,可以面面看,就會給你面試機會。

我當時吸引面試官的點有兩條,一條是ACM的亞洲區銀牌,一條是阿里的實習經歷。這兩條一條也不在崗位要求里,但是它們就是很有說服力。我相信有說服力的內容還有很多,各種各樣的比賽,各種各樣的實習經歷等等。這些東西才是我們競聘的關鍵,而不是一個文憑。以前在阿里的時候,要是簡歷沒亮點,清華的博士也照拒不誤。

所以大家記住了,只要對自己實力有信心,完全不用理會崗位要求里說了些什么,大膽地去嘗試、去爭取。這些所謂的要求都是嚇退弱者的,看了一個要求就不敢嘗試了,連自己的實力都不相信了,不是弱者是什么?我們也許不是強者,至少不要做這種被嚇退的弱者。

我說了這么多,答案已經很明顯了,文憑並不是算法崗位的絕對硬性指標,本科生也是可以勝任算法的。

現狀及原因

最重要的第一條講完,下面來聊聊行業現狀。我也算是待過幾家公司了,的確不論是大公司還是小公司,算法工程師大部分都是碩士,而開發崗位則相反,大部分都是本科,碩士比較少。像我一樣本科做算法的不能說是鳳毛麟角,但肯定占比不高,我估計也就10%到15%,絕對的少數

但是這里好像有點矛盾了,既然本科生也可以勝任,為什么在算法崗位當中的占比這么少呢?

這個問題背后的原因有很多,但是總結一下,其實都可以歸因到一個原因上,就是缺少培養計划。本科的時候各個學校、學院都會有一個培養計划,也就是課表。這些是教授們選出來的一些他們覺得對本科生有用、可以打基礎的課程。但是這個培養計划有非常大的問題,它和實際工作當中需要的技能幾乎完全脫鈎。計算機學院四年讀完,涉及到編程相關技術的課程一只手都數得過來,其他的全都是各種各樣奇奇怪怪的理論課程。

說句嚴重一點的話,四年下來,能夠擁有獨立開發一個完整項目能力的學生都不多,就更別說勝任算法崗位了。這里面不合理的培養計划是要背大鍋的,我當初也是,大量的時間被模擬電路、電路原理、大學物理這樣毫不相關的課程占據了。不僅會擠占我們時間,還會讓學生形成逆反心理,你敢讓我學這些沒用的垃圾課,我就敢上課打游戲睡覺給你看。

也正是缺少培養計划,即使本科階段想要從事算法崗位,想要學習相關的內容,也找不到一個靠譜的渠道學習。你問學長,學長也不懂,你問教授,其實教授也未必都懂,因為研究很多都是下面的博士生、研究生做的。導師只管申請經費、混跡學術社區。不信你們可以去試試,找一個學院里的導師,請教一下從事算法方向有什么好的建議。看看他們除了吳恩達的machine learning課程還能說得出來啥。也不是說這些導師水平不行,而是他們可能確實不了解工業界的情況和要求。

再反觀碩士,碩士由於背負着畢業以及寫論文的壓力,用在實踐上的時間要比本科的時候多得多。碩士的課程也少,大部分時間基本上都花在了實驗室,給導師打工,做各種項目。而且碩士階段也可以遇到高年級甚至是讀博的學長,這些人都是摸爬滾打過來的,對於如何入門,如何實踐有了不少經驗,在這種情況下的學習難度不是本科生摸着石頭過河能比的。

實習

對於算法崗位來說實習非常非常重要,這也是碩士的一個巨大優勢所在。在不考慮導師攔着不讓去實習的情況下,一個正常的研究生他最多可以有大三、研一、研二三次實習的機會。只要這三次機會當中有一次是比較知名的公司,就可以大大提升簡歷當中的含金量和說服力。

反觀本科生只有大三這一次實習的機會,再加上大三的時候學到的東西還不夠多,我在面試實習的時候連操作系統的課都還沒上完,這是一個巨大的劣勢。但不管劣勢也好,不公平也罷, 想要不讀研就入行,一定要珍惜這次實習的機會。如果實在是找不到知名公司的實習,規模小一點也沒有關系,最重要的是一定要在實際的環境當中去鍛煉自己,去理解實際的工作場景的算法工程師究竟做了些什么,有哪些知識點。這些都不是看看文章或者是聽別人說就能搞明白的,還是要親自去體會。

學生階段對於工作之后的門道一無所知,實習是一個非常好的鍛煉自己的機會。並且你會有非常大的容忍度犯錯,因為你是實習生,你是新人,你犯了錯誤或者是什么地方沒有做好,大家都會容忍你,並且願意幫助你提升和成長。這是實習生巨大的特權,一定要利用好這次的機會。

另外一點是雖然實習生往往參與不到什么重要的工作,但是公司的一些技術文檔往往是一視同仁開放的。可以利用實習的機會多讀讀公司的文檔,多看看其他人的代碼和項目,學習一下其中的經驗。甚至還可以請教一下師兄們,面試的時候都會問哪些問題,比較看重候選人哪些方面,以及職業生涯的建議等等,這些都是花錢買不到的。

本科從業指南

最后,給那些立志想要以本科文憑入行的小伙伴們一點建議。

相信大家也能體會出來,算法崗位需要掌握的知識點比開發要多很多。按照最少的計算,也需要掌握Python、機器學習、深度學習、numpy、pandas、TensorFlow/Pytorch、算法數據結構這幾項。而這幾項當中只有數據結構是課上會講的,其他內容全都需要額外自學。本科階段時間本來就很緊,還要自學這么多內容,的確不是一件容易的事情。

在這里呢,我個人建議你們選擇推薦、廣告算法方向。這樣的話在深度學習部分可以省掉很多學習卷積、RNN等模型的時間,而且其他方向相對來說對學歷的要求比較高。學完了機器學習以及基本的神經網絡之后,就可以去研讀業內的一些前沿的paper和文章了。如果這塊不知道怎么做,可以持續關注本號之后的更新。再之后,則可以去開始參加Kaggle或者是天池大數據的比賽了。

在參加這些比賽動手實踐的過程當中,去學習Numpy、Pandas、sklearn以及TensorFlow/Pytorch這些框架。你會發現這些框架和庫的內容雖然多,但是常用的東西也就那么一些,多參加幾次比賽實際鍛煉一下也就差不多掌握了。之后你還可以參加一下數模等一些比賽獲得一些獎項,本身數模當中的很多問題很適合使用機器學習或者是深度學習來解決。有了這些經驗之后再去找實習就容易很多了。

有了實習之后或者可以爭取留任,或者可以在實習期間再去面試其他的公司。和其他的實習生小伙伴交流一下找工作的事,你會發現他們有很多的經驗以及渠道分享。這些都是留在學校的學生沒有的資源,有了這些找工作的旅程會順利很多。

今天的文章就到這里,衷心祝願大家每天都有所收獲。如果還喜歡今天的內容的話,請來一個三連支持吧~(點贊、關注、轉發

原文鏈接,求個關注


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM