
?
?
以下文章來源于TechFlow ,作者梁唐
最近,有一些小伙伴在知乎里問我就業崗位選擇的問題,這個話題我之前也寫過,但是感覺沒有很到位, 所以今天再和大家詳細聊聊這個話題,
就業選擇是一個非常嚴重的天然矛盾,在我們學生時代,我們擁有選擇,但是我們并沒有意識到它的重要性,當我們意識到的時候,往往已經失去了選擇的機會,我自己就是一個活生生的例子,為了從后端轉到演算法,實在是付出了很多,我想所有轉過行的人應該都會有同樣的體會,在有選擇的時候好好珍惜,盡可能不要轉行,
希望今天的文章能夠幫到那些還沒畢業的學生朋友,把握好手上的選擇權,
技術or非技術
80%的CS學生可能都會面臨一次選擇,究竟畢業了之后要不要當個程式員?我們上學之前總覺得專業決定職業,我們既然選擇了這個專業那么之后也肯定要從事對口的作業,但實際上并非如此,每年CS科班出身的學生真正成為程式員的只有很小一部分,大部分都去做了其他崗位,
大家心里不要預設一個鄙視鏈,其實技術崗也好,非技術崗也罷,本身并沒有高低之分,不要覺得自己是CS畢業的沒有做程式員好像很失敗,其實并非如此,貼合自己的情況以及興趣最重要,如果在學習編程的程序當中發現自己實在不感興趣,及時止損也不失為一個好選擇,而且不做程式員一樣可以從事互聯網行業,互聯網公司當中一樣有很多非技術崗位,大家比較熟知的就是運營以及產品經理,
估計很多同學對它們的作業職責還很陌生,我簡單給大家聊聊我自己的理解,
運營
運營比較貼近業務員,可以理解成經營某一個業務,比如最經典的例子就是公眾號運營,如果你親自做一個公眾號你就會發現你除了寫文章之外其實還有很多事情要做,比如說設計宣傳和引流的方案,比如說和金主爸爸接洽,接入廣告,比如說撰寫一些文案(自動回復、關注回復),自己做一些logo等等,

?
?
運營的作業內容往往和業務相關,如果是電商公司估計要設計各種促銷方案,每年雙十一大促的方案都是運營想的,如果是游戲公司則是想一些游戲里的活動,促進用戶活躍或者是擴大知名度或者是提升交易額等等,我之前聽過一個非常厲害的運營大佬的宣講,他說淺層次的運營看起來像是打雜的,每天做一些很雜很瑣碎的事情,但是高層次的運營是非常有技術含量的,更像是一個軍師的角色,需要出謀劃策,想出各種方案來實作目標,簡而言之作業核心只有一句話,就是幫助產品或者是平臺獲得更大的影響力或者是效益,
產品經理
互聯網圈子里有一個笑話是產品經理不是經理,產品經理負責的是一個產品,也是非技術崗里相對比較貼近技術的一個崗位,它的主要作業就是對產品功能或者是迭代進行設計,然后以提需求的形式把具體的功能改動同步給程式員來實作,所以大家經常說產品和程式員是死對頭,因為總給程式員派活嘛,
說到產品經理大家總想到張小龍,但是實際上大公司里絕大多數的產品經理負責的不是一個完整的app或者是網站,而是一個非常非常小的點,比如下圖是我從點評里截的,可能這里的每一個欄目背后都有對應的產品經理,有些重要的欄目可能還不止一個,他們每天的作業就是盯著一些資料指標,然后想一些可能帶來提升的方案交給程式員去做,

?
?
大家可能覺得提需求是一件非常簡單的事情,其實不然,因為是和程式員溝通,產品需要保證對方能理解你的想法,并且能get到對方拋出的一些技術向的反饋,有時候還需要聯系多個團隊一起協同,組織會議,跟進多方進度等等,效果不好還需要分析,提出改進方案,甚至是背鍋,
運營和產品這兩個崗位都非常文科,不僅體現在我們很難用明確的指標去評估一個產品和運營的能力,也體現在這兩個崗位從事的很多也都是非CS出身的同學,相信大家也能體會出來,運營和產品的能力其實和現在大學本科的教育是脫節的,并沒有一個明確的運營或者是產品的專業,主要還是靠大家業余的思考和學習,
我個人的理解是這兩個崗位雖然很多文科畢業的學生參與,但它們都非常需要邏輯,無論是產品的方案還是運營的策略,背后都是需要邏輯支撐的,所以從這點上來講CS的學生其實還是有優勢的,如果大家對這兩個崗位感興趣,不妨可以試著多去分析一些案例當中背后的邏輯,
前端
前端我了解不太多,簡單說說,
其實前端的作業大家應該都了解,我們所有看到的頁面基本上都是前端工程師做出來的,老實講我個人不是非常喜歡前端,主要是覺得前端的作業比較無聊,我自己做網頁的時候,經常為了一個按鈕的位置調整半天,

?
?
有些人會覺得前端比較酷炫,還可以參與頁面的設計應該非常有意思,但是很遺憾的是,在小公司也許如此,但是在大公司,一般都會有專門的設計師來負責網頁或者是app的互動稿,而前端工程師的作業僅僅是照著圖紙把它做出來,而且往往做的還不是一個完整的頁面,而只是一個小模塊或者是互動視窗,
另外一個點是,前端的技術更新迭代非常快,幾乎每兩三年就會推出新的js框架,而且不同的公司框架都不太一樣,比如前東家寫react,跳槽了之后換成了Vue,甚至是nodejs,這都是非常常見的,甚至最近還推出了Typescript,甚至以后可能代替JS也不一定,
我想從事前端的話,應該需要對新技術有敏銳的嗅覺,否則可能很容易技術脫節,
后端
我估計很多沒畢業的同學可能不太清楚后端的含義,其實后端的意思是服務端,也就是服務器的部分,
前端只負責互動和展示,具體的資料的運算邏輯都是在后端執行的,比如說我們轉賬,我們在手機上看到錢的數目變化了,這個只是展示的數字,真正和銀行進行互動對金額進行修正都是在后臺進行的,執行這些邏輯的就是后端,所以從這個例子上,我們至少看得出后端的兩個重點,一個重點是和前端互動,另外一個重點就是執行邏輯,
和前端互動的部分其實也沒有太多的點可以說,基本上都被框架代勞了,對于初級工程師來說,基本上整天做的就是執行邏輯,執行邏輯就比較骨感了,大部分互聯網公司的后端做的都是瑣碎的增刪改查,實際上你會發現幾乎所有的功能都可以抽象成增刪改查,你給我點了個贊,等價于往資料庫里插入一條資料,你買了個東西,等價于往訂單表里插入一條資料,你給別人轉賬,等價于修改你的余額,
看起來好像很簡單對不對,但問題是資料量比較大的時候可能會出很多問題,比如服務器回應能力可能不夠,比如資料庫可能存不下,為了解決這個問題,設計出了各種各樣的技術和方法,像是什么分布式存盤,各種中間件,本質上都是圍繞這個問題展開的,
所以整個后端的面鋪開的話其實非常廣,從計算機網路、作業系統,再到資料庫,再到分布式系統,再到編程語言的特性以及各類框架,那么很明顯的,想要在這個領域有所建樹,只是靠著上班的時候寫增刪改查肯定是嚴重不夠的,一定需要業余付出巨大的努力,
演算法
最后聊聊演算法,這兩年演算法非常火熱,競爭也越來越激烈,尤其是人工智能的口號喊得震天響,好似入職了演算法工程師就是人工智能的從業者,就是行業尖端,
實際的情況可能會讓大家失望,大部分演算法工程師做的既不是人工智能,甚至連手撕模型都沒有,整天打交道的還是SQL、MapReduce、spark這些大資料平臺,因為互聯網公司的演算法絕大部分都是業務演算法,也就是說是為了提升業務指標而產生的,比如推薦演算法,我們做的模型的目的只有一個,就是為了提升用戶點擊推薦出的商品的點擊率,
點擊率怎么提升呢?當然需要投其所好,也就是給他推薦他感興趣的內容,問題是我們沒有辦法預測未來,不把商品展示給你,我怎么知道你會點擊什么?但是展示給你之后,你點不點都已經確定了,我們還怎么提升點擊率呢?所以針對這個死回圈問題,我們設計出了許多演算法模型,希望可以讓模型學到資料當中的一些特征,找到這些特征和點擊率之間的關系,
這里有一個問題,由于平臺的資料分布和用戶行為都是實時變化的,比如商品每天都會上架下架,用戶也同樣會變化,比如今天發工資了,可以消費一波,明天沒錢了,會節儉一些,所以我們沒有辦法設計出普適的模型來適應所有的情況,唯一的解決辦法就是提升模型更新的頻率,比如說每天更新或者是每周更新,
當我們開發出新的特征想要提升模型效果的時候,我們也需要重新訓練模型,并且還需要把模型上線和之前的模型進行實時比較,證明有效果了之后再替換之前的模型,這中間模型的反復訓練,資料的大量生產以及分析,包括進行實驗以及結果分析,這一系列事情才是演算法工程師作業的日常,至于針對一個新的復雜的問題重新搜集資料設計方案,做出新的模型,這種情況幾乎是千年等一回,可遇不可求,甚至很多工程師從業好幾年,也沒有完整從頭到尾實作過一個模型,
總結
說了這么多,不知道大家什么感受,會不會有些失望,
實際上大多數的作業可能在一開始的時候都沒有大家想的那么精彩,某種程度上來說,這其實也很正常,因為各行各業都會有些比較枯燥比較重復的臟活累活,這些事情總得有人做,那么顯然,這些事情交給新人去做自然是最合適了,隨著我們經驗的積累,職位的提升,我們做的事情也會隨著越來越重要,越來越有挑戰,當然給人的壓力也就越來越大,
但問題是,很多人意識不到這一點,他們會在前期積累學習的階段厭倦眼前的瑣事,并且武斷得覺得是職業的問題,實際上看起來最高大上的演算法都如此,其他崗位自然也不必多說了,所以這不是一個選擇題而是應用題,我們要考慮的不是如何避免它的發生,而是如何度過它,如何利用這段時間快速成長,提升自己,從而在后面有能力應對更大的挑戰,
大家都說面試原子彈,入職茶葉蛋,我之前也一直這么覺得,后來才發現其實是有道理的,你野心有多大,你對自己的能力要求也就有多大,一個覺得用不到的技術就不重要的人,往往也難當大任,一個人總是先具有下一個階段的能力,才會得到下一個階段的職位而不是相反,某種程度上來說這也是一種信念感,相信自己所學總有一天能派上用場,在互聯網行業當中,幾乎所有崗位都非常需要信念感,
最后,希望大家都可以找到自己熱愛的事業,都可以有一個順利穩健的職業生涯,
C/C++應用于Windows作業系統,驅動、補丁,影像處理、音視頻處理,工業控制軟體、嵌入式(手機、智能機)等領域,C++ 已經成為了最受開發人員歡迎的語言之一,鞏固了全球的系統和服務,
◆如果你想提升你的編程能力,以便更好從事編程類作業的話!

分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!點我入群
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244597.html
標籤:其他
