统计学出身但编程一般,该选择数据分析还是挖掘算法?
來自公眾號:木東居士
0x00 前言
本文的話題來自一名應(yīng)屆生關(guān)于畢業(yè)后職業(yè)發(fā)展方向的選擇。
在職業(yè)選擇上,數(shù)據(jù)分析和算法工程師是很多小伙伴都會糾結(jié)選擇的地方,本文正好對該問題進行了討論,也希望給更多的小伙伴以參考。
0x01 職業(yè)困惑
問題
統(tǒng)計學出身但編程不強的碩士應(yīng)屆生,畢業(yè)了該選擇數(shù)據(jù)分析還是挖掘算法路徑?
問題描述
各位前輩們好,我是國內(nèi)某985的研二學生,還有一年畢業(yè),研究生階段主要跟導(dǎo)師做數(shù)據(jù)算法的研究,發(fā)過一篇會議論文,還有篇算法相關(guān)的畢業(yè)論文正在寫。明年就畢業(yè)了,周圍不少也在陸續(xù)進行暑期實習,但是感覺拿到算法工程師崗位實習的同學還是以本科學CS的為主,而我從本科到研究生都是統(tǒng)計學,本科還輔修了經(jīng)濟學學位,編程開發(fā)水平真的很一般,SQL和Python這類日常用的工具使用沒問題,但距離編程開發(fā)、數(shù)據(jù)結(jié)構(gòu)、代碼素養(yǎng)之類還有很大的距離。因此想問大家對于我這樣情況的學生未來職業(yè)選擇的問題:
以我這樣統(tǒng)計出身但編程不強的背景,是否在應(yīng)聘數(shù)據(jù)挖掘/算法工程師的崗位時有競爭力?
我也不排斥做數(shù)據(jù)分析師,也覺得靠近商業(yè)、改進業(yè)務(wù)也很有趣。但是現(xiàn)在數(shù)據(jù)分析崗位的門檻比較低,算法用的并不多,待遇總體上也比做算法低很多,如果選擇做數(shù)據(jù)分析我這些年為算法做的努力是不是白費了呢?
0x02 大家的討論
討論1
非CS本科運氣好轉(zhuǎn)做了偏算法相關(guān)研發(fā),說實話確實工程能力,算法結(jié)構(gòu)有很大的欠缺,在實際項目落地的時候就經(jīng)常考慮不足,寫的代碼思路和速度也能明顯感覺到自己和科班的差距,經(jīng)常打擊自信心,但是主要還是算法崗,所以我也勉強湊合可以用,遇到啥學啥嘍。我覺得其實最應(yīng)該考慮好自己興趣和擅長點,一個事自己有興趣且能長久堅持獲得持續(xù)成就感才能停過長久工作生涯哇。
討論2
一般我都是建議先做難的崗位。算法對于學歷背景和編程能力的要求是要高于數(shù)倉和數(shù)分的。其實上周我的實習生也問了我這個問題,他想做數(shù)據(jù)挖掘,我也鼓勵他做數(shù)據(jù)挖掘,先嘗試去做更難的、技術(shù)壁壘更高的事情,之后如果想做數(shù)分,思路也會開闊很多,反之則很難:我很少看到數(shù)倉數(shù)分能轉(zhuǎn)算法的,而且年紀越大越不可能。
這個圈子里算法的地位也會高于數(shù)分和數(shù)倉,我們組是數(shù)分數(shù)倉工程混合的,算法地位最高,其他的都是給他打下手,基本在技術(shù)層面沒有什么話語權(quán)。另外一個就是待遇,一個985研究生剛畢業(yè)的算法工程師,可能比那些所謂高級的數(shù)分和數(shù)倉的工作還高。
另外從思考問題的角度來講,數(shù)倉和數(shù)分很多時間只能思考一些線性的問題,做統(tǒng)計還行,做預(yù)測啥的就有點心虛了。長時間只會寫SQL的人思維會被禁錮得很厲害,多擼些代碼會對思維的訓練有幫助。
討論3
先面算法,如果因為工程能力被拒了就轉(zhuǎn)數(shù)分,理論上當然是能做算法就做算法,不能做算法就做數(shù)分啦,至于編程能力的問題,這可能更多的是面試官的選擇問題,即他是否想要一個背景好但是工程能力不強的人。
不過現(xiàn)在算法的門檻很高,要是不是水平很高,還是比較勸退,因為算法模型的優(yōu)化效果怎么樣是不可控的,可能如果一個季度試了各種方法都沒效果,老板就認為你沒有產(chǎn)出。
討論4
cs好說,工具而已,私下練習就能解決啦。主要是樓主統(tǒng)計學本碩直接去做數(shù)據(jù)分析有點屈才~能算法就盡量算法吧~編程能力可以練,編程不強就學啊,leetcode刷起來,不還沒畢業(yè)么。第一份工作選錯了,不知道過多少年才能找到適合自己的。統(tǒng)計學的碩士,學校還不錯的話,大廠算法崗干三年,工資一個月30/50k不成問題,甚至現(xiàn)在應(yīng)屆算法30的都有很多了,當然競爭很激烈。
討論5
如果能進頂尖的咨詢公司或者大廠,做數(shù)分也是蠻有意思和前途的,要不然就走算法,其實做算法也需要數(shù)據(jù)分析能力。
忽略這兩個選項,三年之后,你期望自己做著什么樣的?
也得想明白是否愿意并且喜歡日常工作以代碼為主這種方式。
0x03 困惑解答
前面是小伙伴們的討論,下面簡單分享一下居士的觀點。
先說一個例子,一個人大統(tǒng)計學的小伙,畢業(yè)后專門選擇了數(shù)據(jù)分析,有算法工程師的機會也并沒有選擇。當時我還問了對方為什么這么選,對方答復(fù)是:數(shù)據(jù)分析很有意思。
說這個主要是想表達一點,找工作,除了看發(fā)展也看興趣,能堅持下去,可能更重要。
然后回到算法工程師和數(shù)據(jù)分析這個話題上,分別簡單聊一下。
算法工程師,在小廠,就不多說了,就算是天天寫報表我都感覺是可能的。在大廠的話,很多團隊的算法工程師,是會要求很強的工程能力的,因為基本不需要你研究什么算法,更多的是將算法工程化,比如推薦系統(tǒng)。很多時候都是在做工程化的東西。
數(shù)據(jù)分析,這個崗位爭議其實很大,好的團隊,進去了是做數(shù)據(jù)挖掘的事情,差的團隊,進去天天寫sql。所以,這個要看情況來定,一般來講,好一些的團隊,數(shù)據(jù)分析會用到統(tǒng)計學、機器學習這些大部分人認為算是高大上的東西,并且工程能力要求沒那么高,會用就行。核心就在于如何去驅(qū)動業(yè)務(wù)。
但是由于現(xiàn)在各種培訓班都在教數(shù)據(jù)分析,感覺有點爛大街,會讓人感覺到數(shù)據(jù)分析的壁壘比較低,沒什么含金量,過幾年就被淘汰的感覺,這些只是掛著數(shù)據(jù)分析的名字,做著提數(shù)事情的崗位而已。整體來講,高端的數(shù)據(jù)分析是很受歡迎的,而且價值不比算法低。
所以,總體來講,居士建議:
先看你的興趣愛好。喜歡數(shù)據(jù)分析,就做數(shù)據(jù)分析,可以安心做,天花板足夠高。
再結(jié)合你當前的情況,比如你的工程能力不是特別優(yōu)秀的,說實話,如果面數(shù)據(jù)分析可能都有問題,面算法工程師可能壓力更大。
最后,從待遇上講,大廠里面,從不認為數(shù)據(jù)分析比算法工程師工資低。
0x04 反饋
本部分內(nèi)容,來自提問的整理和反饋。
在上面的討論中,大家從各自不同的角度提出了對選擇算法還是數(shù)據(jù)分析的觀點。首先還是讓我們回到問題本身,總結(jié)一下大家的回答:
對于第一個問題,“統(tǒng)計出身但編程不強的背景,是否在應(yīng)聘數(shù)據(jù)挖掘/算法工程師的崗位時有競爭力”:總體建議還是努力提高代碼水平和工程能力,畢竟逃避不能解決問題,既然還有時間那還是盡量努力補齊短板。原因是如果去小廠還好,小廠需要的能力比較綜合;但如果去分工非常細致的大廠,算法工程師就得有很強的工程能力,因為工作中更多的其實是將算法工程化。更何況之前的討論中也總結(jié)過,哪怕是數(shù)據(jù)分析崗位,現(xiàn)在對于分析師的各方面要求也越來越高,如果做項目的工程能力不優(yōu)秀,面試數(shù)據(jù)分析都有困難。所以與其反復(fù)糾結(jié),不如在leetcode上再寫幾道題。
對于第二個問題,“數(shù)據(jù)分析也不錯,但是總體門檻和待遇都比算法低,統(tǒng)計學本科去是否屈才?”:首先總的來說算法崗的確是更難、技術(shù)壁壘更高的崗位,對于學歷背景和技術(shù)能力都有更多的要求,平均待遇也更高,如果能去算法崗自然很好。但這里說的是平均水平,各個崗位人與人之間發(fā)展的方差都很大。高端的數(shù)據(jù)分析天花板很高,如果能加入一個優(yōu)秀的非提數(shù)機、驅(qū)動業(yè)務(wù)的團隊,無論是才華施展還是待遇福利都不會讓你失望。
進一步我們跳出這兩個問題本身,嘗試提出一些職業(yè)選擇的方法論:
方法論1,如果對于兩個方向沒有明顯偏好,那在畢業(yè)前朝著算法或者數(shù)據(jù)挖掘的崗位努力一下是個比較好的選擇。這里主要考慮的是試錯成本的問題,通常來說選擇了對技術(shù)要求更高的算法崗位,如果之后又不喜歡,轉(zhuǎn)崗數(shù)據(jù)分析是比較容易的,但反過來就比較難了。
方法論2,自然是興趣驅(qū)動。正如上面一位朋友所說,“一件事自己有興趣且能長久獲得持續(xù)成就感才能挺過長久工作生涯”,讓你有興趣的工作大概率也是讓你覺得有價值感、并且能展現(xiàn)自己價值的工作,能有正向反饋驅(qū)動自己堅持走下去。一個對數(shù)據(jù)分析、業(yè)務(wù)洞察充滿長久興趣和成就感的同學距離成為一名優(yōu)秀的分析師也不會遠,對于算法崗也是一樣。
0xFF 總結(jié)
關(guān)于職場相關(guān)的討論,很難有一個完全準確的答案,或者說是準確的道路,但是,在不斷的交流和思考后,道路會越來越清晰,因此,也希望大家有困惑可以多找居士交流。
總結(jié)
以上是生活随笔為你收集整理的统计学出身但编程一般,该选择数据分析还是挖掘算法?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两难!到底用 Spring BeanUt
- 下一篇: 二维码会被人类扫完吗?