生科轉資工4:2024入職趨勢二週年3|成長與展望

回顧2024年,透過「溝通、記錄、救火」三大成長,應對多項挑戰性任務,例如:解決AU憑證過期和產品除錯等問題,並強調溝通與文件記錄的重要性。展望2025年,目標晉升為資深工程師,計畫負責自動化測試、擴大手動測試範圍,並將例行任務交接給菲律賓團隊,展現獨當一面的能力與傳承精神。

文章快速連結

  1. 生科轉資工4:2024入職趨勢二週年1|貢獻
  2. 生科轉資工4:2024入職趨勢二週年2|貢獻
  3. 生科轉資工4:2024入職趨勢二週年3|成長與展望

二、成長與展望

(一)2024年的不一樣

五個重要任務:
  • (A) 最心累PIT:AU Singer Certificate Expiry
  • (B) 產品抓漏:特殊情境下AMSP無法運作
  • (C) 曾讓我只睡2小時的一行bug:某重要模組初始化被跳過
  • (D) 主動救火:Manual Test for AMSP Sensitive Level
  • (E) 差點讓驗證停擺:自動化測試框架網路不穩

1. 溝通:更早把所有關係人拉到群組中討論

更多關係人一起集思廣益,有助於推動任務的進展。

這件事情是我在2023年「第一個跨多團隊專案:L integration project」深刻體會到的,所以我在(A) / (B) / (C)任務中,因為我盡早把關鍵同事加進來,才得以有重大突破。如:

  1. 在(A)任務中,有超級資深且熟習AU cert更換的I同事,提供他以前的經驗。
  2. 在(B)任務中,有多位對AMSP和Windows熟習的RD同事們(Y / C / P / J / I同事),提供不同的觀點。
  3. 在(C)任務中,有超級資深且眼尖的P同事,抓到那一行邏輯錯誤。

2. 紀錄:文字記錄所有自己所踩過的雷與其解法

文字記錄可讓我或他人,更快驗證相似症狀問題,並給予可能解方。

在2024年我新增了301篇文件頁面,裡面有短篇的技術筆記,也有長篇的測試文件。我相信寫文件是工程師最不喜歡的工作之一,因為它很花時間且枯燥乏味,短期來看也看不出效益,但長期的效益十分可觀。例如:

  • 在(A)任務中,我可以把整理好的資訊,透過文件輕鬆傳播給團內與團外的夥伴知道。讓團內的人快速知道當前案子的進度;讓團外的人了解有哪些坑可以事先避免。甚至在任務結束後,我可以快速查詢文件,解決客戶的問題;以及2025年我把這些文件,交接給友隊們,以大幅減輕我們團內的負擔。
  • 在(B)任務中,我是最先接到這個問題的人,後續也有其他同事接到類似問題。我也快速利用我的文件,去協助他們釐清問題與給予一些解方。以下是2025/6/20來自菲律賓J同事給我的反饋,其中提到的PCT就是指這個案子:

Thank you so much for sharing your DS AM expertise with me, especially the head-scratcher scenarios I encountered the first time in PCT cases but you did earlier :-D

  •  在(C)任務中,我建立的除錯SOP,也幫助握自己,在遇到類似問題時,有系統地去檢核上中下游的流程,以快速定位出可能的錯誤在哪裡。

3. 救火:有能力獨立處理緊急且棘手的問題

2024年,我除了有一些知識與經驗可以協助他人外,我還有能力獨立處理緊急且棘手的問題。例如:

  1. 在(D)任務中,主動分擔Menter手中測是負擔大的任務。
  2. 在(E)任務中,面對驗證停擺且複雜的框架下,我在一周內就緊急且有效地緩解團內的燃眉之急。

(二)2025年的展望

2025年將會是我軟體工程師的第三年,所以我對我自己期許是可以從Junior升到Senior。這部分在2024年末,我就已經在和我主管討論與規劃,目前我自己訂出三個指標:

1. 成為自動化測試的負責人

雖然文章都是寫我手動測試的經歷,但我自己手動測試與自動化測試的比例大約是1:1,畢竟要自動化的前提是手動測試要通過。其實自動化腳本的程式碼通常不會比開發產品的程式碼還難還複雜,現在使用AI也可以產生簡單的自動化腳本,但通常還是不能運作,因為AI只會寫出測試流程,裡面很多函數都必須自己實作與校正。但能實作出這些函數,還僅是Junior的範疇,畢竟這並未涉及自動化框架的核心基礎。

因此,想要進階成為Senior,我認為有三個指標:

  1. 自動化框架的穩定度:2025年初我就是在強化BVT的穩定度,以及監控每天DSA的回歸測試結果。
  2. 教導他人了解與添加自動化程式碼:2024年末,我就在交接BVT給C和I同事,2025年終交接DSAF給X同事。
  3. 建立新的自動化框架:目前DSAF是用於DSA+(DSM & C1WS),但趨勢近年推出更大的Server叫V1ES,所以我2025年打算去協助DSA+V1ES的自動化框架的建構。當然這部分有其他Infra團隊先弄好框架與基礎建設,但AM的部分還是要我們團隊去建構。

2. 擴大手動測試的範圍

以23與24年來說,我經手最大的產品範圍應該是Sensitive Level的案子,但這個案子我只是輔佐的腳色,並不是真正的負責人。所以如果能讓我當任產品範圍夠大的手動測試負責人,我認為就有Senior的資格。例如:接手DSA+V1ES的測試,因為V1ES的世界很複雜且新穎,涉及到很多產品且路徑很長。

3. 交接PIT給菲律賓友隊

2024年我經手不少PIT任務,我自己也為此建立很多文件。我認為可以把這些例行的PIT任務,交接給新成立的菲律賓友隊,這不僅代表我可以完成任務之外,後續的紀錄與傳承我都可以順利完成,這體現Senior對自己任務負責任的作為。

三、2024年資料

(一)量化資料

  1. 自動化測試抓到4個產品問題+20個自動化問題
    1. 1個新功能的crash
      1. DSA crash-> 這在發布前就修掉,因為網路團隊新增的macro中有語法錯誤(少了一個逗號)
    2. 2個新功能的bug
      1. PMS在某些OS沒有detection -> 這在發布前就修掉
      2. AMPPL會有多餘process在執行 -> 這不影響發布,後來有修掉了
    3. 1個舊的bug
      1. 在特殊情境下,會跳過某個重要模組的初始化->雖然症狀很嚴重,但只要重啟AMSP或開啟開關,模組就會被重新初始化,所以影響不大,這後來修掉了
  2. GitHub有158個貢獻
  3. 新增301篇文件頁面
  4. 完成84項任務

(二)質化資料

1. 2024/5/28 來自參與公司活動籌畫的夥伴

Aaron加入的是活動組,主要工作是幫忙籌備 warm-up game 的部分。Aaron 很有創意,提出了許多很活潑的主意,他也花了不少心力收集了許多活動素材,充實當天投影的音樂和照片。另外當天也是他在門口引導大家入座(很辛苦,因為很多人他不認識)。非常謝謝他的盡心盡力!

2. 2024/9/12 來自Staff Engineer QA的J同事

1. How well is he contributing to the team? Please specify the areas of contribution.
(1) BAU tasks - Platform support & PIT / Win11 24H2 / trendx trigger #7 / AU signer cert expired
(2) Automation implement for BVT, dsaf maintain / Suspicious trigger & process chain / C1 remote ransom / Fail to query file signer in network share folder
2. What are the areas that he has been doing well and should keep doing?
For automation tasks, Aaron proactively find the feature owner to clarify the spec and test requirements. During the PR stage, he is able to clearly states the steps and execution flows when doing code review. After code review meeting he is able to consolidate the discussion and note-taking, and use them to enhance the automation.
3. What are the areas that he can do better or do differently?
(1) For product knowledge, keep a good pace to learn and show the ability to take ownership on features of DS/C1WS/V1ES. (2) For PIT tasks, can better keep a track of the schedule more closely, and let all stakeholder to know the progress and status clearly. (3) For troubleshooting knowledge, keep to learn more debugging techniques to show your better understanding of the problem, and the ability of backtracing, using debugging tools, log analysis.

3. 2024/9/26 來自Staff Engineer QA的Menter

1. How well is he contributing to the team? Please specify the areas of contribution.

(1) Migrate BVT to lift (2) Implement BVT case (3) Fine tune DSAF case (4) PIT

2. What are the areas that he has been doing well and should keep doing?

(1) Record green baseline status and trace fail cases (2) Good at expressing opinions and having thoughts about himself

3. What are the areas that he can do better or do differently?

(1) When reporting a issue, try to summary the key point in the meeting (2) When looking for problems, try to converge rather than diverge, and try to make the problem as simple as possible

4. 2024/11/16 來自Staff Engineer QA的Menter

主動幫忙sensitive level testing,並且解決automation 上的問題,比起剛加入公司時成長不少,感謝有你:)

5. 2024/12/5 來自Staff Engineer QA的C同事

謝謝幫助我從開始建立AMSP BVT 環境到development AMSP BVT case 可以提供幫助(1) 提供詳細的wiki page 幫助我們可以有效且快速地架設環境 (2) 謝謝你針對BVT test case 很認真的review test case. 並且會考慮整體BVT case pass rate. (3) 對於初學者可以提共接下來的step for example, PR preparation

相關文章

  1. 跨科仔準備與分析中山資工所的過程
  2. 從生科轉資工的初期過程|十個問答
  3. 生科轉資工1:一年表現狀況
  4. 生科轉資工2:二年表現狀況1
  5. 生科轉資工2:二年表現狀況2
  6. 最長共同近乎波動子序列問題 1
  7. 最長共同近乎波動子序列問題 2
  8. 生科轉資工3:入職趨勢一週年1
  9. 生科轉資工3:入職趨勢一週年2
  10. 生科轉資工4:2024入職趨勢二週年1|貢獻
  11. 生科轉資工4:2024入職趨勢二週年2|貢獻
  12. 生科轉資工4:2024入職趨勢二週年3|成長與展望

縮寫名詞解釋

  1. AM (Anti-Malware):反惡意軟體
  2. AMPPL (Anti-Malware Protection Process Light)
  3. AMSP (Anti-Malware Solution Platform):在Windows DSA中,負責防毒解決方案的平台
  4. ATSE (Advanced Threat Search Engine): AMSP裡用於掃檔案的模組
  5. AU (Active Update):用於更新DSA會用到的病毒pattern
  6. BM (Behavior Monitor):DSA防毒的其中一個功能,可以檢查執行中的應用程式是否有做壞壞的行為
  7. BVT:測AMSP功能的自動化框架
  8. DSA (Deep Security Agent):我們團隊維護的防毒產品
  9. DSAF:測DSA功能的自動化框架
  10. DSM (Deep Security Manager):用於管理多個DSA的server
  11. E2E (End to End) test:端點到端點的測試
  12. Infra (Infrastructure):網路、OS…等基礎建設
  13. PIT (Product Integration Test):產品整合測試
  14. PMS (Process Memory Scan)
  15. QA (Quality Assurance):測試工作
  16. RD (Research and Development):開發工作
  17. Spec (Specification):規格、規範

參考資料

留言