先說我當時找工作(資訊領域)的想法:
不走園區。
我一點都沒有要進去大公司的意思。
我想從事針對一般使用者的工作,比如說露天拍賣這樣我們平常會用的東西,也叫做B2C。
我想在品牌(就是非外包)公司工作,有資深主刀手坐鎮的新創應該是最好的。
新手進場就挑臺北實在太貴了,所以落點在臺中。
找前端或算法相關(雖然說我那時只會手刻HTML跟JS、JQ等,算法也就大學水準)。
好的,考量就這些。
雖然聽起來很草率,但這已經是從我當時能有的資訊裡,整理出最合理的重點了,而且其實每項我都有做一定的研究,只是過程沒有寫出來這樣。
然後我們就來談第一個讓人震驚的事實吧。
這是個千古的戰系問題。
資工
VS
資管
這兩個學系如果在找第一份工作時,一般公司非園區的話,沒有額外搭載特殊專長的話,非頂大名校的話,到底誰會比較吃香呢?
各位觀眾。
千古,論戰。
相同學校。
沒有外掛。
沒有後臺。
不走園區或特殊資訊(就是說你用的技術很特別,單晶片啦,cobol 啦)。
一般資訊就業市場。
都學士。
論起薪。
資工
VS
資管
每天被算法幹,男女比八比二,硬梆梆的資工。
雖然也不是軟趴趴,但普遍就是比資工軟,男女比一比一點二的資管。
兩雄相撲。
獲勝的是————
——資訊管理系!
這就是迷思了。
大家都有『苦過去就是你的』這種想法,這想法常常是錯的,選擇跟執行的重要性會是一樣的。而你因為情報蒐集不充分,抱著錯誤的期待進了資工或資管後再去該該,這件事本來就滿有問題的。
所以我才不敢畢業立刻考研,因為我希望我的準備是更踏實的。
啊不過我也不覺得念資工很虧啦,這只是這個狀態下的比較而已。
我繼續。
以下,雖然這不是絕對啦,但八九不離十。
在資工系,我們會學習到的東西普遍都是基層的,我們學習四大數學,我們學習演算法,我們學習作業系統,學習電腦從何而來,學習那程式碼最初的樣貌。
對的,我們學習根本,強調手刻。
如果今天一個資工系Unity之類的很強,那是因為他下課後自己進修,而不是因為系上必修。
在資管系,他們學習資料庫,他們學習使用api,他們學習前端框架,他們學習使用資訊,運用科技以排除問題,喔對,他們還有學習一些管理。
他們學習應用,學習如何從資訊界找到最新最好的套件,然後組織成品。
所以跟資管系聊邏輯閘之類的底層知識,資工通常聊不起來。
接下來你會遇到下面這些問題。
資工戰士A,技能樹演算法,作業系統,工程數學,大學四年只能和棒子為伍,所以通常都一個人在決戰異世界,在光與暗之間窺探生與死,也就是晚安時間是凌晨四點。
資管戰士B,技能樹Vue,PHP,C# web,mySQL,大學都和半群妹子並肩決戰異世界,喘息時間相對多。
他們一起進入一家做品牌網商的公司……to be continued。
***
嗯,讓我們繼續continued。
要知道,軟體界大體的運作是這個樣子。
如果你真的是個純新人,那麼公司會花半年以上的時間培訓新人,然後再放你出去寫程式。
啊對了,如果公司敢讓你新兵上陣,那不是你很特別或很厲害,基本上是那公司沒什麼未來,這個的詳細我簡直可以再開專欄談了,所以這裡不談。
所以在這個階段,公司需要承擔的成本,大概有下面幾項:
1. 搞不好你教不會。
2. 搞不好你對公司未來給你的業務(比如說套件)特別苦手。
3. 搞不好其實你不適合寫商業程式,大家都聽過有對電腦很有興趣,然後進資工才發現不適合寫程式的人吧?那當然也有對程式有興趣,但不適合商務編程的人囉。
4. 最後,最致命的,搞不好你根本不適合,或不想待這家公司。
現在A跟B兩個人的條件是這樣:
兩個人都沒有實際商務作業經驗。
A的理論基礎扎實,學習能力估計會比較好些。
B理論基礎不如A,但B已經有接觸公司會做到的工作了(套件經驗),B對商務程式的熟悉度也估計比A強些(這個明天談),所以水土不服的風險低了不少。
這樣子的話,雇用A雖然可以有較高的技術期望值,但你就是必須要冒著1、2、3、4的風險去雇用,而雇用B的話,就只需要冒著1跟4的風險。
在你們都是白菜新人的時候,雇主當然是不願意多冒險的,即便會降低一點期望值(反正大體也沒多少)。
這是為什麼?因為要知道,你們兩位新人都沒有業界信用。
如果你在入職的三個月被資遣,或是半年內就跑,這對雇主來說都是一個100%的損失,因為你半點產值都沒有。
而你並沒有任何業界信,用來證明你將是個怎樣的人(講更明白點,就是你沒有數據去說服雇主你不是會隨便逃走的人),不要跟我說你自傳洋洋灑灑寫怎樣,在你沒有數據去佐證它的時候,那不是僅供參考,而是一場嘴砲。
所以B反而會贏。
因為他不只沒有2跟3兩個風險,搞不好還可以比較快上線。
所以A就會不服氣啦。
「幹,B根本就是一攤只會抄code的屎,連class都不太會用啊!工程師就該懂手刻!」這是當A看見B的起薪高五千的時候。
B的硬核程式實力,可是讓他還偶爾會來抱A的大腿按QQ的。
但A就是便宜人家五千。
因為B有套件使用的經驗。
幹。
「你真的,很懂嗎?」面試官瞇上雙眼。
「……比B懂。」A這就氣虛了,他小朋友菜歸菜,但還是見過大場面的,『很懂』兩個字他是不敢自居,他只是針對B。
「B不手刻,他只會用套件,我們用的是微軟的套件,你比微軟的工程師懂嗎?」面試官重申主詞。
「有的話我幹嘛不去微軟?」A反問。
「這就要問你啦施主。」面試官總結。
「我自己寫的程式我自己就可以維護啦!」A好不容易提出了自己程式自己幹的優勢。
「微軟的程式被全世界考核過,測試程式估計破兆,你的程式自己測過幾次?」面試官挖著耳屎。
「沒幾次……」
「所以我說,你會用套件了嗎?」
「我要學一下……」
「嗯嗯,我們等你學完那一下再見面吧。」
然後程式根本寫不贏A的B,在新手起步時就會比較吃香這樣。
啊這當然也不是說A就很沒有戰場,還是有的,但這個需要一點武裝或是專屬戰場的前提下才會成形,我們下面再談。
真人真事,大家好,我是A。
***
更深入給想了解的朋友參考,為什麼資工系和資管系造成這樣的差別呢?
大體上還是因為,專題。
這兩個系的生涯四分之一多些,都是給了專題。
對了,我們這裡談的是正常資工資管喔,有些三教九流的邪門歪道做個機器人參數設定就能畢業,那種跪著畢業並不是我們討論範圍。
如果你是念資管,你的專題性質會有市場分析,然後會找尋可以使用的套件或api去做介接,最後設法讓產品誕生。
而倘若你念的是資工,你的專題『搞不好』會有市場分析,而然後你『絕對不能』去找套件或api做介接(最多就是開源碼參考,比如說我的專題就參考了廣度搜尋),最後設法讓產品誕生。
為什麼『不能』找套件呢。
因為這樣不會畢業啊,專題不會過審的。
特別越頂的學校,資工系通常越是這樣,這真的是把雙面刃,懂者自懂就不多說了。
所以假設A跟B都做語音辨識。
資管B的主題可能是『語音辨識找地圖上的計程車』好了,通常名字也會很炫,嗯……就叫它『攔車敢死隊Ver-1.3.1 Plus++』吧。
那麼B的順序,我猜大概就是去研究google 語音辨識api怎麼用,介接google地圖怎麼用,抓python套件爬蟲計程車資訊做比對,然後找個wix之類的前端去跑,上架,搞不好還可以賣錢。
這個成品,有些行話會叫它『車子』。
資工A的主題就是,語音辨識,名字也會很土,嗯……多半會叫『語音辨識與網路爬蟲向性分析與整合』之類的吧。
他必須要決定自己的路徑,之後決定去找大數據加數學模型或是頻譜分析,不是用二分數據法去訓練自己的模型,就是用頻譜分析去訓練建表,嗯嗯,市場分析我看是沒空去做的。
這個成品,有些行話會叫它『輪子』。
A肯定比較強。
但這樣到市場上,A的對手起碼是google的工程師(造輪)。
一旦A不能贏,要去跟B搶市場(造車),那起步階段A就會輸。
更不要談A如果原本就是想要造車(比如我),那A一開始就做錯了。
好了,A真的沒有優勢嗎?
有的,因為A的算法能力強,所以他可以寫商業邏輯,一般而言B是沒法到這個戰場的。
商業邏輯就是一家公司的心臟,比如說博弈公司的遊戲邏輯,監視器公司的影像模型,這都是無可被取代的職業,相當值錢。
但是。
那是大公司的心臟,這裡是臺灣,而你只是個白菜學士啊哈哈?
所以假設你要在商業邏輯層大放異彩,你就該念碩士以上,或是出國吧。
但反正硬核實力要夠硬。
***
好啦,接著談談軟實力的部分,資管系的優勢還有著管理。
一般而言,正常來看,一個新人會管理是沒什麼屁用的,你新手上路是準備管誰?你自己都管不好了啦幹哈哈哈哈。
所以我為什麼要特別提管理呢?
各位知道在現代軟體裡頭,也就是所謂的敏捷開發(另外還有瀑布開發,那是另一個相對古典的工程,某個程度比例也是所謂的『大公司』做法),寫程式這件事占多少嗎?
差不多是18%。
我很負責任的跟各位講,其實應該更低,不過這個之後再說。
而現代軟體大致上,測試大致上占50%(指的是寫測試程式,但要認真扯這個就又要說一下團隊結構,那就又很複雜,我們假設團隊每個人都要會一點QA吧),18%給了編程,剩下的就是給了溝通。
你要跟技術文件溝通,在stack overflow在github溝通,在藍色小舖在CSDN,或是在很多大神部落格套件官網甚至打電話去罵人,以及最後,跟你的工程師同事溝通。
如果你是資工系,那你一定遇過那種不會溝通的獨行俠,肥宅,邊緣人,啥都好,反正是同一件事。
嗯,搞不好你本人就是哈哈哈,哎呀承認一下其實也沒什麼啦,先承認才有未來嘛。
你想像一下他們全是你的同事。
你每天上班要花非常非常多的時間,與他們做溝通。
你必須在幾句話內交代事情,並且明確清楚他們收到你的訊息,或者是你要聽清楚他們那簡直是暗號的溝通能力到底究竟是在供三小。
學習過管理,等於證明過你『相對』會溝通,沒錯啦不是『絕對』會,但聊勝於無。
公司會在這件事的能力對你的加分,其實和你到底有多會寫程式用套件的加分……差不多吧?
當然當然,這件事你進公司後,只要你沒有被嚇得落荒而逃,那麼都會是絕對可以得到成長的,大家不要害怕。
問題來了。
今天假設你進去後沒辦法適應溝通環境,也就是我說的商業編程的一環。
那麼是公司怕你培訓到一半落荒而逃才對。
既然他怕你(新人白菜是沒有業界信用的),你錄取率就不會上來,或者是砍價。
總之。
協調性是重要的,因為做專案不可能是一個人的事情,所以我會推薦各位去訓練一下協調溝通,並且提出證明。
壽司店打工也好,當家教也好,去系學會也好(啊,不推),釣女朋友也好(我自己覺得這能溝通好你的溝通能力就很卓越了,認真)。
或者是最好的,去實習吧。
有在真正軟體公司的實習經驗,那就是作為一個白菜,最棒的談資。
嗯……所以從這個觀點來看三不五時戰校系這件事,那真的是大步走向自我毀滅啊我說。
好啦,總之不要小看溝通,請練習,不要一出門就想找人吵架,請協調。
然後只要你是個會溝通的工程師(技術力當然不能差,但也不用封頂),時候到了你十之八九是主管起步,所以不要小看溝通,請練習。
再說個笑話。
有一定量戰校系成癮的人,畢業之後都要來跪我幫他寫自傳,因為他還沒學會說人話唉哈哈,哎呀這真的要多練習啦,那已經是一項固有技術了我說。