前言
大家好,我們是 LINE Developer Relations 團隊,不曉得大家從 LINE TECH FRESH 畢業分享會中是否有獲得哪些有趣的收穫呢?從 Save your time - TECH FRESH 畢業分享會 2024 @ LINE活動當中有許多介紹,以下就帶大家回味一下當天的內容囉!
介紹
為什麼要參加軟體實習生研討會?
參加一場 LINE TECH FRESH 畢業分享會會帶來以下好處:
- 學習機會:可以從優秀的 LINE TECH FRESH 講者獲得寶貴的實習經驗和見解
- 知識分享:參加活動要把握機會是與 LINE 的實習生以及 Mentor 交流和分享軟體領域的知識
- 自我推廣:除了聆聽演講外,參加活動也是展示自己專業知識和技能的好機會,多交流絕對是個好的選擇!
蔡 EC:24 歲開發一次成功
由 Winnie 首先從 LINE SHOPPING 開始介紹,並透過自身 Data team 的實習經驗中了解日常的工作內容,並分享在實習與在學校同時並行時的一些見解。
緊接 Lauren 分享了在 EC SPM 團隊中使用 Kafka 的經驗談,帶現場的觀眾認識在企業中是如何使用以及架構設計,並且透過 2024 農曆新年的活動認識更多案例。
更多內容請見 Youtube
QA 蝦米 QA?我的扣超讚的啊
第二組則是由 Lawrence & YT 分享在當任 QA 時的一些眉眉角角,首先 Lawrence 分享在 QA 的開發流程中,分為六個主要階段:
- 分析:進行測試需求分析
- 設計:撰寫測試案例
- 開發:開發自動化腳本
- 測試:包括端到端測試(E2E)、關鍵用戶體驗測試(CUJ)及壓力測試
- 部署:實施持續整合(CI)和持續開發(CD)
- 維護:進行回歸測試和性能監控。
這些步驟確保軟體質量和穩定性,並持續改進產品。
下一部份 YT 則分享撰寫測試案例(Test Case)也會有技術債。常見的測試案例包括確認頁面上有「LINE 購物」的 logo、搜尋框元素、相機 icon、購物車 icon,以及確認跳轉頁面成功和商店頁面上有「專屬推薦」。這些測試案例對應不同的 Epic,如首頁標題 Banner 等。為了減少技術債,可以舉辦 workshop,讓團隊一起儘早識別並解決這些問題,並且可以透過不同的 ML 模型來解決類似的問題。
更多內容請見
這就很玄囉! 從粽子看開發的世界
Chris 的實習生活主要分為三個部分:
- 後端開發(Backend Development):佔 60%的時間,專注於後端系統的開發工作
- 持續整合/持續部署流程(CI/CD Process):佔 30%的時間,Chris 參與並優化 CI/CD 流程,確保產品持續整合和自動部署
- 技術研究(Tech Research):佔 10%的時間,Chris 進行新技術的研究和 Research,保持對技術的熟悉度
此外,Chris 還會參與各種分享會(Sharing)和保持工作與生活的平衡(WLB),這些活動有助於提升團隊合作能力以及生活品質
Young 分享了他在 LINE FACT CHECKER 系統架構、產品改進方法以及專案開發 CI/CD 流程中的經驗,並從中學習到如何改進產品:
- 彈性(Resiliency):透過 Rolling Update、Retry Strategy 和錯誤處理(如 Timeout)來提高系統的穩定性。
- 效率(Efficiency):採用 Concurrent Design、Cache strategy(如 Redis)和 Horizontal Scaling 來提升系統效能。
當中也學到更多專案開發 CI/CD 流程:
- 推送程式碼 GitHub 之後,透過 GitHub Actions 進行 Test、分析(SonarQube)、程式碼審查和封裝,最終將 COntainer 推送至 Harbor。
- 基礎設施 Manifest 變更時會透過 Webhook 同步到 ArgoCD,並部署到開發環境集群和產品環境的集群,最後透過 Grafana 進行監控。
從混亂到掌控:使用 Observability 揭開管家的神秘面紗
首先 Tristan 帶來在學生時期很難學到的概念 - Observability,它是一個在軟體開發和運營中非常重要的概念。它指的是我們能夠深入了解和監控系統的內部運作,並從中獲取有價值的資訊和洞察力。透過實現可觀察性,我們可以更好地理解系統的行為、性能和問題,並能夠快速做出反應和解決。
在上面的程式碼中,提到了 Observability 的三大支柱:Metrics、Tracing 和 Logging。這些支柱提供了不同層面的資訊,幫助我們全面了解系統的運作狀態。
接著 Gary 分享高峰流量監控&5 分鐘工作流程之謎的經驗談
高峰流量監控
當數以萬計的用戶同時訪問系統時,伺服器會無法處理所有請求,為了避免用戶體驗不佳,團隊發現問題並調整 Server 的效能,提升系統在高峰期的穩定性和回應速度,改善用戶體驗
5 分鐘工作流程之謎
每天執行多個工作流程以撈取用戶發票,發現許多工作流程需要超過 5 分鐘才能完成。團隊確定延遲原因並優化工作流程效能,顯著減少處理時間,提升系統效率。
這些案例展示了在高流量和複雜工作流程中,觀察性(Observability)如何幫助識別和解決系統問題,最終提升系統性能和用戶體驗。
Lightning Talk
你在 DevOps 什麼啦,我要趕快上線!
Calista & Ryan 分別透過自身的經驗,分享從學校到團隊中,DevOps 中間扮演的角色是多麽至關重要,以及為何要帶入這麼多的工具,持續讓專案可以在自動化的世界裡運行,並且確保產品的穩定性
寫出不管地震怎麼搖網站都不會壞的前端測試
YU 作為前端實習生,在這次的分享中以前端為主軸,帶大家了解前端測試在其中扮演的重要性,開發過程中雖然功能很重要,但其實測試可以確保在 golden path 中的穩定性,並且讓用戶可以對產品有更多的信心去使用,而不會產品用到一半就莫名其妙壞掉
一起來跑 TDD,直到完成 User Story 為止
最後 Brandon 帶大家了解 TDD (Test-Driven Development)精神,TDD 強調在開發功能之前先撰寫測試,TDD 的主要目的是透過事前規劃的測試來提升程式碼質量和可測試性,並讓開發者對交付和重構更有信心。這一流程促使開發者在撰寫程式前可以更深入思考,從而讓程式碼品質更好
接著帶到 ATDD (Acceptance Test-Driven Development),畢竟產品還是需要面對終端用戶,ATDD 是透過和 stakeholder 共同定義接受的測試範圍來確保需求被正確理解和實現。這一方法可以降低開發團隊與 stakeholder 之間的溝通成本,並確保最終產品符合用戶需求。
結論
給即將從 LINE 畢業的同學,感謝你們在這段時間內的努力和貢獻!有你們的付出,LINE 才能持續在軟體生態中繼續發揚光大,不論未來如何,希望在這邊的所學能幫助各位在未來的職涯上更加順遂,希望你們能夠繼續保持對技術的熱情和追求卓越的態度,不斷學習和成長!
最後,衷心感謝當天參加活動的所有會眾 🫡 你們的參與和支持讓LINE TECH FRESH 畢業分享會更加成功和有意義。感謝你們的熱情參與和寶貴的意見分享。期待未來能夠再次在 LINE 相見,一起探討和分享軟體領域的知識和經驗!
看到文末,若還不知道 LINE TECH FRESH…
LINE TECH FRESH 是一個一年一約的技術實習計畫。這個計畫目標是培養出具有創新思維和解決問題能力的軟體工程師,有機會在 LINE 中獲得實際的工作經驗和專業知識,並與 LINE 的工程師團隊合作。這個計畫不僅僅是一個實習機會,還提供了專業的指導和培訓,幫助同學發展專業技能並能有個良好的軟體生涯起點。
活動小結
立即加入「LINE 開發者官方社群」官方帳號,就能收到第一手 Meetup 活動,或與開發者計畫有關的最新消息的推播通知。▼
「LINE 開發者官方社群」官方帳號 ID:@line_tw_dev
![](https://qr-official.line.me/gs/M_908lugfe_BW.png)
關於「LINE 開發社群計畫」
LINE 於 2019 年開始在台灣啟動「LINE 開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦 30 場以上的活動。歡迎讀者們能夠持續回來查看最新的狀況。詳情請看: