編輯嚴選
老菜鳥軟體工程師的新工作週記(2)

2023/11/05閱讀時間約 4 分鐘

這週依然先訂下了預計完成的目標,由於還在很前期的階段,我認為將目前工作會碰到專案商業邏輯搞清楚是最重要的內容。因此依舊是從技術以及非技術類兩大方向去訂定目標。

  1. 技術類:已經可以在電腦上執行核心的專案了,因此這週主要再往下深入,目標釐清資料庫之間的關係以及透過程式碼理解商業邏輯的架構。
  2. 非技術類:基本上已經記得團隊所有成員了,因此這週著重在深化與大家的交流,看能不能更快地與大家打成一片,或者能夠開始對團隊外的其他部門成員產生連結。

在這樣的目標下,我按照前端頁面呈現的區塊去拆分要研究的內容,並將區塊做排序,從我認為最重要的區塊開始進行研究。由於公司是做廣告相關的,因此我想從廣告管理著手是最合理的,在經過一天的鑽研,不敢說對商業邏輯開始理解,但至少對於新語言的熟悉度開始往上提升。也因為熟悉度的提升,會開始發現一些coding style上的疑惑,以及商業邏輯上的問題。coding style是指一個人在寫程式時的寫法,可以想像成寫作的文筆或是規定的用字遣詞。在一般的情況下,一個專案都不會只有一個人在進行開發,因此如果沒有統一coding style的情況下,整個專案就會充滿各種個人風格,活生生地把一本小說寫成個個作家的散文合集。我能理解因為專案充滿各種歷史因素,coding style沒有統一的問題,但還是將目前發現的一些問題做下紀錄,準備確認一下目前的狀況。

在下班的前一小時左右,或許是已經完成今天的進度,看到大家開始進入比較輕鬆的階段。默默地將椅子滑倒坐在我後面的後端工程師Shana身邊,跟他表示握遇到了一些問題,想要問問看他的意見。熱心的Shana一口答應了。

「這我可能沒辦法回答你。」

但在Shana看過我的問題後,不,他甚至只是看了我在看的程式碼所在的範圍後,就很果斷的給我殘酷的回應。經過他的解釋之後,我才理解,原來我看的部分的確是以公司的營運角度來說重要的部分,但是以工程師團隊來說,他已經是一個很穩定在運作的部分。因此在前後代工持師沒有好好交接的情況下,現在對這部分的程式邏輯熟悉的工程師基本上已經鳳毛麟角。在這當下我才發現自己犯了一個很關鍵的錯誤,從錯誤的角度去規劃我的學習步驟。讓自己一整天的時間與實際獲得的不成比例。

接下來的幾天,因為開始協助團隊進行資料庫清洗腳本開發。這份工作規劃也是從過往的歷史共業延伸出來的議題,目前團隊在進行開發時所使用的測試資料庫因為缺乏維護,裡面存在許多與正式環境的資料庫不一致或是缺漏的內容。因此除了重新規劃測試資料庫外,也準備將正式區的資料庫再刪除所有可識別機敏資訊與數據後,放進新的測試資料庫中,讓開法者在開發時可以得到與正式環境相同的回饋但又不會接觸到敏感的資料。而我協助的工作就是將每一張資料表需要刪除所有可識別機敏資訊與數據的欄位定義清楚,並將腳本寫出來讓程式去執行。

這也是我目前第一個接到實際的工作,因此趁這個機會實際走了一次開票的流程。原本一開始接到這個任務在想像中是覺得很容易的,而且也可以趁此機會對所有資料表有初步的理解,但實際執行後才發現事情不是我想的這麼簡單。

因為每一張資料表該有什麼資訊其實都是明確定義好在某個檔案的,但要實際知道這個欄位在存什麼內容,最快的方式還是去看目前的測試資料庫上面放了什麼內容。這就會造成幾個問題。

  1. 資料庫存在的表實際上已經被移除。
  2. 定義好的資料表在目前資料庫找不到。
  3. 資料表存在但完全沒資料,且欄位名稱無法理解是什麼內容。

這一切都是我一開始沒有想到,在實際執行時逐漸發現到的問題,因此每次遇到問題後,就得從頭開始確認一下前面的資料沒有相同的問題,造成很大量的時間被浪費。不過除了較為浪費時間外,這件事的確讓我對於新語言的使用掌握度更加提升。勉強可以算是這件事帶來的好處。不過值得一提的是,這樣很規律性的操作一定有很多可以事先統一完成的內容(例如每張資料表清洗開始與結束的提示句)。原本想要請AI來幫我做完這些最枯燥重複的事情,後來試了很多方法都沒有辦法完成,後來都準備要死心自己做時,才突然想到自己過去很熟練使用的excel,其實就很適合幫我完成這樣的工作,只是在開始寫程式後,好像默默地將它遺忘了。真的一邊對他感到抱歉一邊慶幸自己沒有忘得徹底。

這一週除了其中一天去參加公司的新人訓練外,基本上就在這些工作中度過,這次參加的新人訓練應該是目前待過的公司中最有收穫的吧。至少有一半的時間在解釋公司的方向、作法以及各種業界的名詞解釋。這一週時間依舊是過得非常快,按照計畫,下週會開始邁入新的挑戰,開始參與新架構的規劃,看來又會是一段刺激的時光,充滿期待唷。



斜槓學習室
斜槓學習室
留言0
查看全部
發表第一個留言支持創作者!