You're not an a**hole, Mark. You're just trying so hard to be.(Mark,你不是一個爛人,但你一直試著變成一個爛人。) — 出自《社群網戰(The Social Network)》
大家對於工程師的想像是什麼呢?也許從很多的電影裡面看到一些工程師的角色,不管是《關鍵少數(The Hidden Figures)》、《社群網戰(The Social Network)》還是《Silicon Vally》等等都有不少對於工程師工作描述。
不得不提《社群網戰(The Social Network》,我對於 Edward 摔了 Mark Zuckerberg 的筆電的場景印象非常深刻。當時 Mark 的表情其實很平靜,對比 Edward 的歇斯底里形成一個強烈的對比。不確定這個互動是虛構還是實際故事,當時看到這個橋段完全不能理解,一個工程師就這樣安穩地坐在椅子上好好地聽對方說完。換做是我,我的劇本絕對不是這樣寫的。
工程師的平常在做些什麼呢?不會是像社群網戰 1% 才會發生的故事,也不會是看著一些黑壓壓的畫面,上面有無數螢光綠的英文字不斷閃爍著。接下來分享身為工程師(Android),每天會發生什麼事呢?
目前的團隊在跑 Scrum,每日的 Standup 會議去即時同步大家的進度。當然還有一些組織上會有定期會議,以及自己 Android Team 的週會等等。
但有些時候會有外部、跨單位或是與廠商的合作,會有討論商務面、產品面、維運以及開發規格的討論。雖然頻率不高,但是了解需求,並且從工程師的角度去分析進入開發時可能會發生的問題,提早發問提高後續進入開發時的效率。
在討論完需求之後,開始實做功能。實作完之後,提交完成的內容給其他工程師做程式碼檢視,然後得到一些回饋後去做優化。而在檢視程式碼流程結束之後,就進行發版交給 QA 團隊進行驗證。若 QA 找到 Bug 當然就交回來給工程師去處理,修完、提交程式碼、再發版,讓 QA 進行複驗。
在該版本功能全數完成,且驗證無問題後,就進行上線佈署。
這些內容有些是我的經驗上看到的,跟職場上看到的。如果你對工程師工作很有興趣,不妨看看上述的內容跟你的想像是不是相符的。每份工作都有辛苦以及看不到的一面,列出這些也是讓大家也可以更了解這份工作,以及這些工作可以帶來的樂趣。