互联网岗位也存在鄙视链?我们来康康你喜欢的岗位竞争究竟有多残酷?
前言
80%的CS學生可能都會面臨一次選擇,究竟畢業了之后要不要當個程序員?我們上學之前總覺得專業決定職業,我們既然選擇了這個專業那么之后也肯定要從事對口的工作。但實際上并非如此,每年CS科班出身的學生真正成為程序員的只有很小一部分,大部分都去做了其他崗位。
大家心里不要預設一個鄙視鏈,其實技術崗也好,非技術崗也罷,本身并沒有高低之分。不要覺得自己是CS畢業的沒有做程序員好像很失敗,其實并非如此,貼合自己的情況以及興趣最重要。如果在學習編程的過程當中發現自己實在不感興趣,及時止損也不失為一個好選擇。而且不做程序員一樣可以從事互聯網行業,互聯網公司當中一樣有很多非技術崗位,大家比較熟知的就是運營以及產品經理。
估計很多同學對它們的工作職責還很陌生,我簡單給大家聊聊我自己的理解。
運營
運營比較貼近業務員,可以理解成經營某一個業務。比如最經典的例子就是公眾號運營,如果你親自做一個公眾號你就會發現你除了寫文章之外其實還有很多事情要做。比如說設計宣傳和引流的方案,比如說和金主爸爸接洽,接入廣告,比如說撰寫一些文案(自動回復、關注回復),自己做一些logo等等。
運營的工作內容往往和業務相關,如果是電商公司估計要設計各種促銷方案,每年雙十一大促的方案都是運營想的。如果是游戲公司則是想一些游戲里的活動,促進用戶活躍或者是擴大知名度或者是提升交易額等等。我之前聽過一個非常厲害的運營大佬的宣講,他說淺層次的運營看起來像是打雜的,每天做一些很雜很瑣碎的事情,但是高層次的運營是非常有技術含量的,更像是一個軍師的角色,需要出謀劃策,想出各種方案來實現目標。簡而言之工作核心只有一句話,就是幫助產品或者是平臺獲得更大的影響力或者是效益。
產品經理
互聯網圈子里有一個笑話是產品經理不是經理,產品經理負責的是一個產品,也是非技術崗里相對比較貼近技術的一個崗位。它的主要工作就是對產品功能或者是迭代進行設計,然后以提需求的形式把具體的功能改動同步給程序員來實現。所以大家經常說產品和程序員是死對頭,因為總給程序員派活嘛。
說到產品經理大家總想到張小龍,但是實際上大公司里絕大多數的產品經理負責的不是一個完整的app或者是網站,而是一個非常非常小的點。
大家可能覺得提需求是一件非常簡單的事情,其實不然。因為是和程序員溝通,產品需要保證對方能理解你的想法,并且能get到對方拋出的一些技術向的反饋。有時候還需要聯系多個團隊一起協同,組織會議,跟進多方進度等等。效果不好還需要分析,提出改進方案,甚至是背鍋。
運營和產品這兩個崗位都非常文科,不僅體現在我們很難用明確的指標去評估一個產品和運營的能力,也體現在這兩個崗位從事的很多也都是非CS出身的同學。相信大家也能體會出來,運營和產品的能力其實和現在大學本科的教育是脫節的,并沒有一個明確的運營或者是產品的專業,主要還是靠大家業余的思考和學習。
我個人的理解是這兩個崗位雖然很多文科畢業的學生參與,但它們都非常需要邏輯。無論是產品的方案還是運營的策略,背后都是需要邏輯支撐的。所以從這點上來講CS的學生其實還是有優勢的,如果大家對這兩個崗位感興趣,不妨可以試著多去分析一些案例當中背后的邏輯。
前端
前端我了解不太多,簡單說說。
其實前端的工作大家應該都了解,我們所有看到的頁面基本上都是前端工程師做出來的。老實講我個人不是非常喜歡前端,主要是覺得前端的工作比較無聊。我自己做網頁的時候,經常為了一個按鈕的位置調整半天。
有些人會覺得前端比較酷炫,還可以參與頁面的設計應該非常有意思。但是很遺憾的是,在小公司也許如此。但是在大公司,一般都會有專門的設計師來負責網頁或者是app的交互稿。而前端工程師的工作僅僅是照著圖紙把它做出來。而且往往做的還不是一個完整的頁面,而只是一個小模塊或者是交互窗口。
另外一個點是,前端的技術更新迭代非常快,幾乎每兩三年就會推出新的js框架。而且不同的公司框架都不太一樣,比如前東家寫react,跳槽了之后換成了Vue,甚至是nodejs,這都是非常常見的。甚至最近還推出了Typescript,甚至以后可能代替JS也不一定。
我想從事前端的話,應該需要對新技術有敏銳的嗅覺,否則可能很容易技術脫節。
后端
我估計很多沒畢業的同學可能不太清楚后端的含義,其實后端的意思是服務端,也就是服務器的部分。
前端只負責交互和展示,具體的數據的運算邏輯都是在后端執行的。比如說我們轉賬,我們在手機上看到錢的數目變化了,這個只是展示的數字,真正和銀行進行交互對金額進行修正都是在后臺進行的,執行這些邏輯的就是后端。所以從這個例子上,我們至少看得出后端的兩個重點,一個重點是和前端交互,另外一個重點就是執行邏輯。
和前端交互的部分其實也沒有太多的點可以說,基本上都被框架代勞了。對于初級工程師來說,基本上整天做的就是執行邏輯。執行邏輯就比較骨感了,大部分互聯網公司的后端做的都是瑣碎的增刪改查。實際上你會發現幾乎所有的功能都可以抽象成增刪改查,你給我點了個贊,等價于往數據庫里插入一條數據。你買了個東西,等價于往訂單表里插入一條數據。你給別人轉賬,等價于修改你的余額。
看起來好像很簡單對不對,但問題是數據量比較大的時候可能會出很多問題。比如服務器響應能力可能不夠,比如數據庫可能存不下。為了解決這個問題,設計出了各種各樣的技術和方法。像是什么分布式存儲,各種中間件,本質上都是圍繞這個問題展開的。
所以整個后端的面鋪開的話其實非常廣,從計算機網絡、操作系統,再到數據庫,再到分布式系統,再到編程語言的特性以及各類框架。那么很明顯的,想要在這個領域有所建樹,只是靠著上班的時候寫增刪改查肯定是嚴重不夠的,一定需要業余付出巨大的努力。
算法
最后聊聊算法,這兩年算法非常火熱,競爭也越來越激烈,尤其是人工智能的口號喊得震天響,好似入職了算法工程師就是人工智能的從業者,就是行業尖端。
實際的情況可能會讓大家失望,大部分算法工程師做的既不是人工智能,甚至連手撕模型都沒有,整天打交道的還是SQL、MapReduce、spark這些大數據平臺。因為互聯網公司的算法絕大部分都是業務算法,也就是說是為了提升業務指標而產生的。比如推薦算法,我們做的模型的目的只有一個,就是為了提升用戶點擊推薦出的商品的點擊率。
點擊率怎么提升呢?當然需要投其所好,也就是給他推薦他感興趣的內容。問題是我們沒有辦法預測未來,不把商品展示給你,我怎么知道你會點擊什么?但是展示給你之后,你點不點都已經確定了,我們還怎么提升點擊率呢?所以針對這個死循環問題,我們設計出了許多算法模型,希望可以讓模型學到數據當中的一些特征,找到這些特征和點擊率之間的關系。
這里有一個問題,由于平臺的數據分布和用戶行為都是實時變化的。比如商品每天都會上架下架,用戶也同樣會變化,比如今天發工資了,可以消費一波,明天沒錢了,會節儉一些。所以我們沒有辦法設計出普適的模型來適應所有的情況,唯一的解決辦法就是提升模型更新的頻率,比如說每天更新或者是每周更新。
當我們開發出新的特征想要提升模型效果的時候,我們也需要重新訓練模型,并且還需要把模型上線和之前的模型進行實時比較,證明有效果了之后再替換之前的模型。這中間模型的反復訓練,數據的大量生產以及分析,包括進行實驗以及結果分析,這一系列事情才是算法工程師工作的日常。至于針對一個新的復雜的問題重新搜集數據設計方案,做出新的模型,這種情況幾乎是千年等一回,可遇不可求。甚至很多工程師從業好幾年,也沒有完整從頭到尾實現過一個模型。
總結
說了這么多,不知道大家什么感受,會不會有些失望。
實際上大多數的工作可能在一開始的時候都沒有大家想的那么精彩,某種程度上來說,這其實也很正常。因為各行各業都會有些比較枯燥比較重復的臟活累活,這些事情總得有人做。那么顯然,這些事情交給新人去做自然是最合適了,隨著我們經驗的積累,職位的提升,我們做的事情也會隨著越來越重要,越來越有挑戰,當然給人的壓力也就越來越大。
但問題是,很多人意識不到這一點,他們會在前期積累學習的階段厭倦眼前的瑣事,并且武斷得覺得是職業的問題。實際上看起來最高大上的算法都如此,其他崗位自然也不必多說了。所以這不是一個選擇題而是應用題,我們要考慮的不是如何避免它的發生,而是如何度過它,如何利用這段時間快速成長,提升自己,從而在后面有能力應對更大的挑戰。
大家都說面試原子彈,入職茶葉蛋。我之前也一直這么覺得,后來才發現其實是有道理的。你野心有多大,你對自己的能力要求也就有多大。一個覺得用不到的技術就不重要的人,往往也難當大任。一個人總是先具有下一個階段的能力,才會得到下一個階段的職位而不是相反。某種程度上來說這也是一種信念感,相信自己所學總有一天能派上用場。在互聯網行業當中,幾乎所有崗位都非常需要信念感。
最后,希望大家都可以找到自己熱愛的事業,都可以有一個順利穩健的職業生涯。
總結
以上是生活随笔為你收集整理的互联网岗位也存在鄙视链?我们来康康你喜欢的岗位竞争究竟有多残酷?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于猿如何找对象,心里没点那啥数吗?
- 下一篇: 那些年职场老鸟都踩过哪些坑?送给后来人的