程式設計要定期換工作讓自己變強 | 軟體工程師工作經驗談 | 分享

by | 3 月 17, 2025 | 日記 | 0 comments

Views: 11

這週跟學弟爬山,聊到固定時間換工作,以及生涯中的有趣樣版「小綠」,讓我覺得所幸有換過不同的工作。

爬山照

假日爬山真的是很紓壓,今天陰陰的,微風吹起來很舒服,分不清楚空氣中是污染物還是水氣。

為技能打Patch

換工作這件事就像軟體要隨著時代更新一樣,換一個工作就等於為自己累積技能

  1. 學習不同領域的Know How(行業知識)
  2. 學習不同的開發流程(制度)
  3. 學習怎改不同風格的爛Code,填不同的坑。

矽谷那邊軟體開發會強大的原因就是多數的工程師兩三年就會換一份工作,將現在工作的技術帶到下一間去,並且將下一間公司的技術學起來,所以整個矽谷是在一個很好的循環當中

在學校的工作

我以前覺得這輩子大概可以在學校工作到退休,在學校領的薪資是國科會公定的助理價格31,520元,無論你是負責研究的技術人員還是做文書作業的行政人員,當時是馬總統22K的年代。在學校工作的薪水雖然頗低的(但當時高雄的畢業生頂多28K),而且在學校工作有很多附加價值

  1. 免費健身房
  2. 游泳池
  3. 工作壓力很小,學校的系統複雜度普遍不高。
  4. 上班相當自由的(學校的主管都是老師兼任,然後那些老師一天大概只會進辦公室一次)。
  5. 有正妹同事 or 工讀生,這個在業界是一種福利。
  6. 圖書館
  7. 校內演講
  8. 有些校外活動
  9. 寒暑假的額外假期,暑假15日寒假3日
  10. 年終固定1.5M
  11. 請假沒扣薪
  12. 不需打卡
  13. 開發上的配備比較好

學校的程式設計工作Loading不高,最讓人有壓力的其實是辦理招標而不是程式設計開發。當時的上班空閒時間我用來學習是讓我技術突飛猛進的主要關鍵,所以會覺得如果一邊工作一邊兼差,生活應該還可以過得去

學校除了幾個公務員比較討厭以外,多數同事都是好人,我當時很喜歡那份工作,要不是計畫結束我應該還在那個位置工作。

陸陸續續換工作

離開待了五年的學校後,大概一兩年我就換了一份工作,有公司倒閉的,也有做兩年領完年終覺得錢太少換工作的,也有覺得工作沒挑戰性而換工作的,這樣的狀態換工作其實不會覺得工作難找,很快可以適應新的工作,而且每換一次工作薪水一直往上跳。

技術上也因為換工作會進步,多數其實都覺得技術問題是簡單問題,不太會遇到是因為自己技術力無法勝任的工作。

職場人的問題比較是困難的,但其實讓自己設定每兩三年換一次工作,每個職場遇到的問題其實都不是永久的,反正下一份工作就不會遇到這個爛人了,很多時候情商也成長快很多。

做別的人工作,練自己的功夫(台語)

大軟體公司VS小公司

大公司的工作體驗

我待過上市的大型軟體公司,我在職的時候公司人員有五百人左右,待的時候我記得營業額約12e。

在大的軟體公司好處就是有穩定的開發流程(所以他們有辦法長大),細緻的分工,從談需求、報價、系統分析、程式設計、品保都有不同的人擔任,開發上能給出明確的目標與DeadLine。連自己座位的垃圾桶都每天有人會幫你倒。

但大公司缺點也很明顯,能練的工比較狹窄,工程師多半只負責一個小部分而已。再來就是林子大了什麼鳥都有,公司有些產出低落的閒雜人,閒雜人因為工作很閒,所以開始關心(檢討)起別人的工作內容,怕的是閒雜人會玩辦公室政治遊戲,那就會有職場鬥爭。

大公司的人多,同樣Paper work多,同樣的笨蛋主管也多,蠻多人能擔任主管不是因為能力好,而是因為比較早進公司,其它有能力的都離職了,導致主管職會變成由笨蛋擔任,笨蛋主管管人只有兩招,就是開會+看報告。為了讓主管有參與感,員工要產出各種工作報告日、週、月、季、半年、年報。

為了讓報告好看,工作上最好是找到能實際上簡單做完,但可以寫出很多成果報告的工作,重要技巧就是堆砌英文的專有名詞在報告當中,像是

改寫查詢頁的SQL,現在查詢會快一點點

改成

Refactoring List Page的SQL Query 的Selection Perfomace ,在沒有增加伺服器Loading的狀態下提升List Page的Responce Perfomace 約 2%

這樣專業多了。

小公司的工作體驗

在小軟體公司工作的體驗就更特別了,很多魔幻的故事都是從小公司出現的,許多小公司就像情場上的渣男,畫很多餅,但連公司廁所都是工程師自己掃。這些在小公司常常從需求訪談、開發、教育訓練、掃公司的廁所、倒垃圾,全部都要自己上場。

在這種小公司工作可以學習到小公司怎麼「省錢」,還有怎麼凹員工跟唬客戶驗收。

先驗收在上線

我聽過最扯的唬客戶說法是「先驗收再上線」,某市的資訊室居然信了,哈哈哈。

那個案子(金額一千萬),驗收過了一年還上不了線,我接手的時候重要功能都是壞的,連帳號登入都有問題,我花了半年勉強把這個東西救活,讓它上線。

如果要創業軟體工作室一定要先去小公司工作一段時間。小公司另一個很有趣的現象是開發上普遍很混亂,時辰能上線其它都可以矇過去,小公司之所以長不大絕對就是故意省出來的。

小公司的Paper work

小公司不是沒有Paper work的,不過有趣的是這些Paper Work多數在小公司沒有人盯場,只能看寫的工程師的是否有能力負責任(意思是如果工程師被塞很多工作,這些Paper work能花的時間就會越少),加上如果業主的承辦人沒有盯的話,那些文件完全就是驗收(敷衍)用的而已,內容寫什麼完全不重要。

職場上沒有人是不可取代的,但你是家人的唯一

能早就深入體認到這一點,是用主管跟同事的命換來的。

對於公司沒有人是不可取代的,你不是英雄,也不是救世主,只是公司的小韭菜之一,公司也不會想對你的職涯人生負什麼責任,只想把你的人生搾乾。職場上我曾經遇到好主管,我都稱他為丁組長。丁組長在40歲的時候疑似過勞,當時他發燒住院,到加護病房中忽然過世了,前一週還來電跟我約開會時間,隔週就聽到他住院,然後週一聽到他過世。

丁組長留下兩個很小的朋友,那件事讓我難過的要命。但工作上就換個人來帶,彷彿這件事從來沒發生,長官照樣過著舒服的日子。從丁組長過世那件事情開始,我就不太加班。遇到工作作不完就隔天在做,隔天也是要上班啊,隔天在做就好。

工作做不完造成延遲或被罰款,這完全是公司對工作分配與預估錯誤造成的問題,沒必要拿我的人生為公司的錯誤決策負責,公司不想被罰錢就不要做出錯誤決策。

AED

除了丁組長過世以外,在另一間公司也有遇到同事過世的情形,40歲不到的同事早上來上班,九點坐在辦公椅子上就過世了,送去醫院急救無效。公司「很重視」這件事,作法當然不會是減輕大家壓力,而是裝「AED」在辦公室中,這個想法真了不起!負責!。

最近遇到的麻煩事

我跟小綠本身工作時間沒有重疊,所以對他的認識多半是猜測而已,這篇的內容100%都是我腦捕的。

我在以前待過的某公司,有個離職同事,我們叫她小綠好了,小綠一大學畢業就在公司工作超過15年,有個同事給他的評語是台語的「靠勢」。「靠勢的意思」其實就是倚老賣老,同事形容說他最愛說的口頭禪是:「你們都不懂」。再來小綠的個性是硬是要吵贏。

小綠在公司十多年來的作品聽起來只有一個,KK系統。生涯上十幾年只開發跟維護一個系統的高手也是大有人在(例如Linux的發明者Torvalds),只要系統使用的人多,解決的問題夠複雜,對於累積經驗上其實是很棒的。

不過小綠最大的問題不只是沒累積到開發經驗,而是畢業就長期待在同一間甲方公司,同一個職位。這狀況下導致不知道在軟體公司怎麼進行開發:沒寫過CCMI那些軟體文件、寫程式沒用過版控(還擺老不讓其它人用)、資料庫沒寫任何欄位註解、程式碼命名亂七八糟等,碰巧當時蠻多這樣的菜雞組成IT部門。

結果就是KK系統上的資料非常的混亂,也沒有留下任何的文件,程式碼也沒有進行版控。

我對KK系統的評價就是,資管系大二的學生作業程度(認真的大二學生的程度可能還比他好很多)。

KK 2.0外包給小綠

由於KK系統1.0是小綠做的,由於公司脫離不了KK系統1.0,但又需要改版,另一個部門S主管認為KK系統需要重構至2.0了,我猜小綠積極由說自己可以承攬,小綠真的承攬了新的系統。

甲方主管小綠

由於S主管非常挺小綠,加上小綠是曾經是公司的IT前輩,導致整個開發狀況根本是小綠在強勢主導,注意小綠的身份是乙方。

「小綠變成甲方PM主管了」,我公司PM直接這樣講。

現在不能跟小綠定開發進度、不能要求開發規格、甚至連請他程式碼交到公司版控Server都不行 ,很酷吧。

0 Comments

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *