你還想當軟體工程師啊(一)我到底該去大公司還是小公司

寫程式五年後的心得

Denny
The Bayesian Trap
11 min readJun 12, 2021

--

https://knowyourmeme.com/memes/think-mark

前言

去年五月,是我開始寫程式之後的第五年,如果十年是一個坎的話,這個中間點是一個檢視自己的好時機。

在分享之前,先打幾個預防針:

  • 運氣很重要,職涯上有大原則,但每人的機遇不同

這裏我想強調的意思並不是你要無時無刻很「幸運」,而是要去承認「運氣」不只是影響結果,也可以影響你看待事情的角度;當自己能夠過得好時,要知道有很多「幸運」的成分在,並非所有事情都是理所當然;而看到別人表現得很好時,不要用「運氣」去解釋,因為一直覺得別人只是走狗屎運不會對自己有正面的幫助。

  • 好或不好,都是我的主觀看法
  • 人生是旅程,不是馬拉松、比賽,所以這不是一篇職場攻略,只是一篇寫給未來自己看的遊記,如果你也剛好喜歡我也會很開心

裡面提到的公司是我自己的經歷,自己在看文章時,最煩躁的就是作者死都不會說自己曾經在哪工作過,以避免不必要的、想像中的麻煩,只講自己是大外商、系統商。

但我還是很怕,所以希望我在某個北半球科技公司工作的經歷能幫助到你。

開玩笑的,這是我的 LinkedIn:https://www.linkedin.com/in/denny-ku-tw/

如果喜歡我的文章,也可以追蹤粉絲專頁:The Bayesian Trap | Facebook,有一些長度不夠寫成文章的東西可能就會丟在那裡。

目錄

這將會是一系列的文章,紀錄對於我來說很重大的決定,藉由回答問題的方式來回答自己為什麼這樣做。

以幾個大哉問為基礎的好處是:

  • 不會是一大篇永遠寫不完的文章
  • 不同問題可能會有所重複,但又有足夠的限制
  • 當每一個問題足夠內聚時,除了能排下寫的優先順序之外,未來也可以回顧這些順位是否有變
  • 這些問題都沒正確的答案,因為有正確答案的事情,你可以在其他地方輕易找到

接下來就是我在這五年裡,想過最多次的問題:

  • 到底該去大公司還是小公司?👈 你在這裡
  • 是不是不夠在乎技術了?(文章連結
  • 你能同時 senior 又 open-minded 嗎?(文章連結
  • 🚧 最值得投資時間的事是什麼?
  • 🚧 寫程式能寫到老嗎?

我到底該去大公司還是小公司

心得文的盲點

在思考這個問題的時候,最簡單的搜集資料方式就是閱讀各種心得文,但能簡單執行的方式不一定是有效的;談到職場,任何人都能長篇大論。

真的要了解在一間公司工作是怎樣,前三名是:

  • 直接進去工作
  • 面試
  • 找認識的人聊一聊

不是否定面試或工作心得的價值,只是當你選擇這條路的時候,大多精力會用在過濾資訊上。

最常有的問題是籠統地提到「公司文化」;「公司文化」很重要,可是這幾年開始,已經越來越多公司在面試的政策中明確表示不能以「文化不合」當作理由。

主要原因是「文化不合」太籠統,「公司步調很快」、「不害怕犯錯」這些敘述都沒有問題,只要能夠舉出具體的事蹟來,那就有參考價值,但大部分在敘述公司文化的文章都不是如此。

因為沈浸在工作環境裡時,「文化」是能實際感受到的,但當要有意識地把寫成文字,很容易就會不夠具體,看起來會像在說:「你看,我們公司很屌吧!」或「我超強」。

相較之下,直接去面試或工作才能真正親身體驗,你可能懷疑面試官會只講好話,但我的經驗反而是常因對方的過於誠實感到驚訝;再來則是找到認識的人,這個方法有沒有效會取決於交情跟你有沒有辦法問到關鍵的問題。

不過如果你總是面試到一些需要靠說謊把人騙進去的公司,面試完在想的不是這間公司適不適合,而是哪些資訊是真實的話,那該考慮的是退一步思考什麼原因導致你需要在這種事情上做判斷。

雖然可能有點武斷,任何矽谷觀察家、創投寫的軟體創業文章,都對你的職涯完全沒幫助,除非你以後也想要賣課程或是想要靠寫文章為生,想要有更高格局的思考或判斷有其他方式。

心得文最大的受益者是寫作的人,總結過去、現在當作未來的反省,再來是已經身在其中的人對自己做對照,最後才是其他讀者。(當然包括這篇心得文,Meta!)

對於目標的迷思

進入大公司或小公司絕對不該是一個目標,進入這間公司後想達成的事情才是。

每次看到「放棄矽谷千萬年薪回去賣雞排」或是「放棄XX工程師工作開始拍 YouTube 」,雖然理解這是一個服膺於演算法的標題,但還是不免覺得這沒有說明他們到底放棄了什麼,如果是單純放棄薪水或很酷的頭銜,那這個判斷理應要發生在更早以前,不然這只證明了過去設定這個目標就是一個錯誤的決定,然後賣雞排或拍影片可能又只是另一個錯誤。

有個簡單方法是連續靈魂拷問自己五個為什麼:

  • 我想進新創小公司工作,為什麼?
  • 因為我喜歡打造新產品,為什麼?
  • 因為我可以做出很多設計上的決定,為什麼你喜歡這件事?
  • 因為設計出好的系統讓我感受到自己的工作是有價值的,為什麼你覺得這件事只在小公司有價值?
  • 因為在大公司時很難有這種機會,為什麼你這樣認為?

⋯⋯⋯⋯

常做這件事的話,很快就會發現目的地不只有一條路能到,或是有更多需要釐清的地方,這不代表該把所有時間花在設定目標,然後永遠不出發,只是大部分時候,我們對自己想要什麼都不夠清晰,在過去這五年中,有幾次徬徨或難以下決定就是因為在一開始就沒有想清楚到底想要達成什麼。

最後一段,還是不免俗地想分享一下對於不同大小公司的心得,因為每次離職時都會寫下一篇筆記,這裡就不重複自己,許多重複的部分會直接貼上以前的文章。

現在回頭看,新創公司或小公司最大的缺點不是不穩定,也不是一個人要做多種工作,而是公司成長的速度會很大地侷限了職涯發展,當天花板就只有一層樓高時,個人的快速成長意義並不大。

很多新創公司會跟你說他們正在高速公路上奔跑,但實際上應該比較像是「我問天」MV 裡面那樣,True Story:

不過如果目標就是要打造一番事業,我會認為那是另一條職涯道路,叫做「創業」,而這不在今天的討論範圍。

從這裡開始不用處理那麼多從頭開始的問題,大部分公司可能都處於這個階段,不管是商業上或是產品上的考量,大多時候你能達成的事情都還在你能夠想像的階段。

因為工程師的數量夠多,很多開發的能量「也」會從公司內部產生,你也必須學會不是跟組織或政策打架,而是想辦法讓組織跟政策跟你的目標一致。

最後終於到了完全還沒紀錄下來的部分,雖然每間公司一定會有所差別,我只能分享目前在 Facebook 看到的,真的要仔細分享的話可能還是等離職時候再說。

「只能」從公司內部產生的黑科技

有些工具「只能」從公司內部產生:因為這些難題都是只有在這個量級下才會產生。

這也代表你有機會看到了「終極」的解決方案可能是長什麼樣子,不過這可以留到下一篇再來慢慢說。

組織的巨大不代表會移動緩慢

雖然因為追求「move fast」會帶來一些問題,但在這間公司讓「不要害怕犯錯」沒有停留在口號跟精神階段,而是把基礎建設跟工具都做好,讓你知道就算犯下錯誤能夠怎麼補救。

個人成長與公司成長的掛鉤

要達成這件事的前提,真的是必須要有一個很好的激勵機制讓員工願意這樣做,知道對公司好的同時也是對自己好,而定期的「評鑑系統」就是關鍵。

提到「員工互評」這件事情,每個人可能都有不太好的印象,因為必須花時間來做這件「額外」的事情;之前在推特上看到有人討論管理職在履歷上很難展現自己的價值:原推

當時我提到每半年的 review 就是一個很好的機會檢視這件事,原 po 認為「這跟公司內部的 review 不一樣」,我以前也會認為公司內部的互評跟寫履歷不一樣,但事實證明這是我的想像力不夠。因為當這個系統被發揮到極致時,不再是一場揣摩上意的作文大賽時,你必須要設法讓任何人都能理解你在這半年內產出的價值(因為組織常常在變動的關係,你的主管可能馬上就不是同一個人,所以你不得不這樣做),而這就跟你在寫履歷時一樣,只是你把它給簡化了,你也不會把所有做的事情都放上去,只會放最有影響力的那幾個「結果」。

在前公司時,會有很多不同的 Axis 要證明你做的事情符合公司的某某價值,但幾乎是流於形式,很多時候都是要填很模糊的一個評分,符合 LINE 的 WOW 精神之類的。

不過現在的公司沒有規定評鑑裡要照什麼格式寫、ㄧ定要包含什麼內容,講白話一點就是證明自己產出有價值是你的責任,不是主管跟公司的,沒辦法證明就只好回家吃大便;給最大極限的自由雖然壓力很大,但不得不說是一個很有效的方式,也在在顯示什麼叫做重視跟相信「人才」。

just rambling: 推薦大家可以去臉書上搜尋一些很喜歡大聲疾呼「人才是數位轉型關鍵🤓」的台灣新創電商,看一下他們的徵才或是管理,其實本質上都比大公司還要不信任員工(e.g. 重視員工成長但買書要審核、放假優於勞基法但是要審核、上班時間彈性但是太晚上班要審核⋯⋯各種微管理)大便吸引蒼蠅,讓我們愛惜自己的人生。

除了 self review,也會需要搜集同事跟主管的 feedback,從不同的面向去剖析自己到底做得好或不好,而結果不該是出乎你意料的。最後,也最重要的是激勵的機制,做得好真的會能得到很可觀的獎賞,大概就是雖然經歷那些會胃痛的事情,看到獎勵的時候還是會覺得「哇 — — 幹⋯⋯好啦⋯⋯」,誠實地說,在加入這間公司之後,才知道原來把好的激勵機制建立起來會影響這麼大;因為對於它的期待不是一年發幾個月年終,而是你知道這些錢真的是用命去換來的。

總而言之,在寫這些對自己的回顧時,不會覺這是一件「額外」的事情,你會覺得這本來就是原本自己要做的工作,你從做之前就要想到能拿到怎麼樣的結果,並且是能夠證明它的(同理也在管理職上發生);好處是它很有效,你會感覺到自己被榨乾;壞處就是你必須從一開始就很有意識地在為你的產出做準備,直到你自願離開或被迫退出為止,沒有什麼事情是純粹好玩的,就算有,你也必須想辦法跟一個不認識的人證明它的價值。

很多道德上的難題,我也是看了報紙才知道

公司的願景或大方向很好懂,但要怎麼從你手上的專案發展到那裡,很多時候都難以想像。

不是因為眼界不夠高,看不到那個願景,而是系統太過龐大,你不得不劃下界線,告訴自己最遠能在乎到哪裡,在有限的空間裡面發揮你的影響力;很多人可能會誤會這代表你只是一顆小螺絲釘,但現實是瘦死的駱駝比馬大,你處理的 scope 很常已經是一間公司的大小,不是如想像中碰不太到什麼東西,正好相反,你碰得東西會比以前還要多。

再來是當你工作的公司是眾所皆知的牌子時,身為一個員工就必須面對那些道德上的難題或批評:

當你說你在 LINE 工作時,會有人問你要怎麼處理長輩的假新聞、隱私權小偷。

當你說你替 Facebook 工作時,美國大選時可能會有人說你是中共同路人、隱私權大盜。

實際上,你的工作有極大可能跟那些話題都沒關係,但別人知道你在那裡,就會期待你是有辦法解決的,因為對一般民眾來說,它們就只是一個「App」而已。

就算接收到的回饋真的跟你所做的事情有關係,你也會因為身處於內部,能看到完全不同面向,知道事情不那麽單純,但當要開口解釋時,又會瞬間明白民眾對複雜的事實沒有興趣,他們只是看到了不合自己期待的結果;儘管我對陰謀論沒有好感,可是能理解他們為什麼存在,沒有人面對巨大又未知的東西是不害怕的。

對公眾溝通這件事情又是另一個艱難的專業,你也會不免問自己憑什麼代表這間公司,所以大多時候都沒什麼好說的。(下一篇繼續這個話題)

面試

這裡可以有好幾萬字的爭論「白板題考的是解決問題」、「演算法題目不符合平常工作需求」。

儘管我很想有建設性一點,但就⋯⋯刷題。

刷題跟演算法好不好一點關係都沒有,會刷題也沒有很厲害(面試的題目跟比賽的強度還有想看的東西也完全不一樣,如果真的有人對這主題很有興趣,可以留言跟我說。

沒有結論的結論

該去大公司還是小公司是一個假命題,找到你真的想做的事情才是,只要能達成這一點,那就是該出發的方向,上路之後唯一能做到的只有盡量減少迷路的時間。

如果不知道哪一個才是最好的話,那比起想東想西問東問西,先出發去試試看就知道了。

--

--