在自己工作快十年的職涯,剛畢業的時候,先去接案公司練功,後來去了一間六百多人左右的大公司,接著去了一間快兩百人的新創(其實也沒有很新,我進去的時候,公司已經成立差不多六年 😆),現在則是在一間1000人的大型軟體公司。
每個類型的公司似乎會因為不同的商業模式,而發展出不同的文化,甚至同一間公司的不同部門,文化差異也會很大,文化沒有好壞,各有優缺點,主要還是要看自己能不能適應,不過我覺得工作如果符合自己的生涯規劃,生命會自己找到出路,多一些時間最後還是能融入文化,所以摸索自己的職涯方向是很重要的,這篇文章要來介紹不同類型的工,今天先來說說接案公司。
在主要靠接案維生的公司,專案不外乎兩種,一種是幫客戶的舊系統加新功能,另一種是從頭打造一套全新的系統(例如,客戶想把紙本流程電子化)。不管是哪一種,客制化程度都很高,所以很難有自己的產品,也較難沿用之前為客戶設計的架構或功能。
幫舊系統加功能,時程通常比較短,風險通常也比較低,當然客戶給的錢也比較少。不過,這不代表錢比較好賺!如果前人留下的系統設計或程式碼爛到不行,那簡直是惡夢。
像是變數名稱全是 a, b, c, d,或是資料庫不用 ID 關聯,而是用可以隨便改的「人名」去關聯資料。遇到這種「神奇設計」,專案延期的機率很高,客戶還會質疑你的能力,最後還有可能要當背鍋俠😐!
可以做新系統,工程師通常會很開心。因為有較多空間可以決定要用什麼技術,也能依照自己的想法設計架構,是個練功的好機會!
但缺點就是時程壓力大,客戶總希望東西快點生出來,但從無到有開始,快結案的時候加班到11、12點是常有的事,甚至還要到客戶那邊駐點。
接案公司常常缺人,所以工程師不會有固定的職責,如果是開發網站,可能前端和後端都要碰並且還要兼 SRE(其實現在很多大公司的分工也模糊化了),甚至還需要當客服,手把手教客戶怎麼用系統,事情會比較雜。而且也因為缺人,很多技術甚至是domain knowledge要自己摸索,資深人員往往沒有時間review你,也沒有時間跟你討論你的想法和程式碼,以為自己練的是神功,結果是邪門歪道 😅 。
不過,如果你是剛畢業、經驗不多,或還不確定自己想往哪個方向發展,接案公司其實是個很棒的探索起點。你可以碰觸到各種不同產業的專案,體驗不同角色,雖然薪水通常不高,但可以知道自己更喜歡什麼!