老菜鳥軟體工程師的新工作週記

2023/10/29閱讀時間約 6 分鐘

前言

過去一年多來,養成了寫日記的習慣,當時想要開始寫日記的契機主要是為了未來在回憶過去時,能夠有些輔助記憶的素材存在。就結果來講是符合當時的想像的,現在偶而回頭看看去年的自己,可以很輕易地帶自己回到當下的情緒與環境。

日記主要紀錄的比較是生活上發生的事情,在工作上比較少著墨,但在回首過去時,其實會明顯感覺自己與當初剛進公司的當下,明確的有不同方向的成長。可惜一些比較大的事件在當下沒有紀錄的情況下都變成一段模糊的記憶了。最近換了一份新工作,想要藉著這次機會,記錄一下一個工程師從剛入職到上手之後的過程。

紀錄工作有個比較麻煩的點是,日記形式可能會重複性太高,而且為了保密的緣由,很多事情也不能寫得太詳細。因此我想一週記的形式紀錄是比較能夠取得平衡的,也會盡量以一般人也看得懂的角度來書寫,將重點主要放在心情與感受的故事。


第一週

內湖,上班時間唯一會讓人停下腳步的只有早餐與咖啡店的地方。之前的幾關面試全都是靠視訊進行的,報到這天才第一次見到自己未來的工作環境。

這裡得先記錄一下背景,三十出頭歲的我,在過去的職涯中不斷的轉換不一樣的跑道,探尋自己想要的生活樣貌,最後在諸多考量下,決定進入軟體工程界發展。

待了兩年的前公司一間不到十人的小公司,也是我第一份軟體工程師的工作。小公司的好處就是擁有極高的自由度,但伴隨的就是無法切得太細的分工。身為其中的工程師,特別是在人數只有五人的時期,無論是與使用者互動的前端介面或是真正與儲存資訊的資料庫互動的後端工程,甚至是偶爾冒出的app調整需求,都要能夠在合理的時間內讓客戶的需求能夠被滿足。

現在準備開始的新工作,在內湖無數辦公大樓中的某一層,一百多人的規模與前公司相差甚遠。工程部門由大概十人出頭的團隊組成,前後端的人數差不多。第一天報到的我被人資帶到我的位子上,辦公桌上擺著一台螢幕架與螢幕,與旁邊的同事透過一塊微微凸起的隔板隔開,劃分著不同人的領域。由於使用的語言與前公司不同,在進入新公司之前,事先做了一些準備,不同的程式語言學習上就如同中文的簡繁轉換,底層的文法或是用詞很類似,但充滿各種專屬於該語言的特殊用法,不在當地生活是很難完全理解的。因此從一種程式語言轉到另一種語言時的入門門檻較低,精通就需要時間與努力。

我還記得前公司剛入職時,因為準備接手的是全新的專案,沒有太多的文件的積累,第一天就直接配合文件拉下專案,在自己電腦實際執行。新工作的專案則是已經具有好幾年的開發過程,無論是文件的累積量或是程式碼的規模都與之前大不相同。現在的團隊會在每天早上進行一個15分鐘內的簡短會議。確認一下大家昨天的開發進度與接下來的規劃。第一天的會議因為我的加入而有些不同,多了一個自我介紹的環節。雖然很努力的想在會議當下就記下每個人的臉與名字,但會議結束之後還是忘了大半。身為一個新人理所當然的是完全聽不懂大家討論的內容,只能去記憶一些常出現的關鍵字。

第一天會議結束後,單獨與技術長Paolo留下來聊了一會,幫我了解團隊與專案的現況與他對未來的期許。

在Paolo的說明下,得知了目前的狀況,現在的專案中,最初代的開發者已經半個也不剩,當初的文件交接也很不確實,最重要的事,在公司草創時期,幾乎所有的開發都是隕石開發,所謂的隕石開發,就是沒有經過良好的規劃,單憑上面的一句話就必須在時間內生出成品的開發過程。目前Paolo最期望可以做到的是重新整理現有的專案,並將文件撰寫完整。現在的開發已經是按照留存完整文件後再開始進行的過程,整體來看算是亡羊補牢但有效的做法。

或許很多開發者最討厭的就是去解決前人開發時遺留下的問題,簡稱技術債。但我是不排斥且有點被吸引的,從以前開始我就喜歡去處理一些大家不太願意去解決的問題。這個過程可以讓我從一個客觀的角度去看過去的專案,嘗試去理解前人的思考脈絡,雖然痛苦,但應該也是能夠獲得收穫的吧。但也不排除是我還沒遇到真正痛苦的問題就是了。

總之,第一週開始了。雖然因為對所有的事情都還不甚瞭解,但還是依過去的經驗給自己訂了技術類與非技術類的兩大目標。

  1. 技術類:想要看得懂專案內容的重點,除了能夠將專案運行的環境處理好,讓專案可以在自己的電腦上執行以外,了解背後的商業邏輯也是關鍵,因此希望能在最短時間內完成這兩項的確認。
  2. 非技術類:想要讓自己可以專心的工作上,營造一個舒適的環境是很重要的,這週除了記住與熟悉團隊的成員外,對於公司的運作與表裡規則也都要有所掌握才行。

定好目標後,也就可以開始這週的工作了。

一週回顧

除了參加公司安排的新人訓練以外,過往的一些舊文件也先全部讀過一次,在對整體邏輯有點朦朧概念後,Team Leader為我單獨講解了一次目前的專案內容與商業邏輯。雖然還是沒辦法馬上跟上大家的談話內容,但開始可以抓到一些關鍵字去深入理解。反正新人還沒有工作時程的壓力,如果看到的對理解工作流程有幫助的會議就主動問一下能不能一起參加,刺激一下腦中關聯神經元的發展。

軟體工程中有個名詞叫做容器,他的概念是建立一個封閉且特定好的環境,讓你可以在裡面執行專案,就不會因為每個人電腦不同而出現環境相關的問題。由於目前的專案沒有容器化,每個小專案使用的環境也不太一樣,這週花了三天左右的時間才把主要的幾個專案成功執行。最後的兩天開始實際研究專案的內容,目前嘗試想要先將骨架拆出來再仔細研究,但因為對於新語言的架構與套件還不熟悉,加上前人所遺留的無用內容真的有點多,目前沒有辦法按造自己所想的去順利推進,這應該會是下週的我想專注的重點。

在人際關係的經營上,每天中午和大家一起吃飯的過程是非常有幫助的,這週很成功的記得每個人是誰,也與一些同事進行過跟深入的交流。平時也稍微留心大家工作之餘的閒聊內容,算時滿成功的建立起團隊的輪廓。也透過討論的參與認識了一些專案管理部門的同事,一開始的陌生感已經大幅減低。

總結來說,在專案理解的目標上,雖然成功執行了專案,但嘗試了幾個切入點都沒有很成功,下週重點應該會在這裡,繼續實驗其他切入的方向。人際關係舒適圈的營造上,拜團隊成員都是好人所賜,我很滿意目前的進度,依照同樣的步調進行應該就沒問題。

剛進新公司,熟悉環境是必要的流程,期望能夠透過有條理的規劃去縮短蜜月期的時間,讓自己可以快速融入。身為一個三十幾歲的老菜鳥,下週會繼續奮鬥的。



斜槓學習室
斜槓學習室
留言0
查看全部
發表第一個留言支持創作者!
從 Google News 追蹤更多 vocus 的最新精選內容