$30 off During Our Annual Pro Sale. View Details »

非本科的純軟之旅

 非本科的純軟之旅

Speaker: Noah Hsu
Event: 清華大學企業參訪

LINE Developers Taiwan
PRO

September 11, 2023
Tweet

More Decks by LINE Developers Taiwan

Other Decks in Technology

Transcript

  1. 非本科的純軟
    之旅

    View Slide

  2. 01
    02
    03
    如何取的門票 -> 證明你可以做到
    樸實、無華、且枯燥
    Developer experience & Developer Culture
    Server-Side的⼀天
    點綴平凡的⽇⼦
    非本科的考驗
    CONTENT

    View Slide

  3. Noah Hsu
    Server-Side Engineer
    清⼤⼯⼯ -> 成⼤⼯資管
    2018-2021 : CyberSoft
    (⾦融業專案)
    2021- now : LINE Taiwan

    View Slide

  4. 如何取的⾨票 -> 證明你可以做到
    01
    非本科的考驗

    View Slide

  5. My Path to LINE
    • APP )
    • -
    • -

    • Modern framework
    • Modern tool
    • (design pattern, Leetcode, side project )
    • , OS,
    • Medium article

    View Slide

  6. 低回報 ⾼回報
    ⾼成本
    低成本(⾼⾃律)
    Other Alternatives
    ( )
    補強
    Training
    Camp
    考證照
    考證照
    (tool)
    Side
    project
    程式
    競賽
    技術⽂章
    讀書會

    View Slide

  7. 內外並重
    要累積什麼



    ( )
    • Spring Boot, Django
    • AWS, GCP, AZURE
    • ChatGPT, LINE Bot
    Conceptʢجຊޭ, Whyʣ Tool (਑ሣ໨ඪ, Howʣ

    View Slide

  8. 樸實、無華、且枯燥
    02
    Server-Side
    的⼀天

    View Slide

  9. 會遇到哪些⼈?
    Planner
    決定產品走向
    (蒐集/發想
    user story)
    Cast
    Tester
    寫⾃動測試、⼿
    動測試
    Front-end
    瀏覽器⾴⾯
    Back-end
    商業邏輯、串接
    第三⽅(i.e. ⾦、
    物流)

    View Slide

  10. 在LINE送⽣⽇禮物給好友
    ⼿機/電腦
    LINE-Server
    實現User story
    取得列表資料
    禮物列表 送出禮物 線上付款 瀏覽
    ⼿機/電腦
    LINE-Server
    訂單資訊
    ⼿機/電腦
    LINE-Server
    付款資訊
    LINE Pay
    server
    ⼿機/電腦
    LINE-Server
    Voucher
    server

    View Slide

  11. 樸實、無華、且枯燥
    我的⼀天
    11:00
    讀spec/
    討論實作方法/
    Coding
    9:30 10:00 10:30
    早會(同步)
    Demo功能
    看別人的PR/
    merge 自己的PR
    看Dashboard
    (看有沒有狀況)
    14:00
    Meeting
    User story細節
    計畫要做什麼
    如何改善流程
    16:00
    讀spec/
    討論實作方法/
    Coding
    18:00
    看別人的PR
    Pickup Develop

    View Slide

  12. ⼀切都是trade off:
    • Consistency(⼀致性)
    • Availability(可⽤性)
    • Partition tolerance(分區容錯性)
    碼農?
    Social Media 帳務系統
    ⽬前應該?沒有

    View Slide

  13. ⼀切都是網路的錯
    ⼿機/電腦
    LINE-Server
    再來看看User story
    取得列表資料
    禮物列表 送出禮物 線上付款 瀏覽票券
    ⼿機/電腦
    LINE-Server
    訂單資訊
    ⼿機/電腦
    LINE-Server
    付款資訊
    LINE Pay
    server
    ⼿機/電腦
    LINE-Server
    Voucher
    server

    View Slide

  14. 不然會被ChatGPT取代!?
    維護性
    1000⾏的code,
    殺了我吧
    超越碼農
    發現問題
    看到可能的case與
    狀況,俗稱通靈
    系統設計
    有限的資源、與
    預期的流量

    View Slide

  15. Developer experience & Developer Culture
    03
    點綴平凡的⽇⼦

    View Slide

  16. ⼯作中的⼤⼩事、⼯具、平台與流程 -> ⼯作幸福度
    Developer Experience
    項⽬標題⽂字
    開發
    Code Review
    (自動 & 人工)
    部署正式環境
    接到需求 正式發布功能
    部署測試環境
    測試
    (自動 & 人工)
    檢查
    安全性、法律遵守

    View Slide

  17. 當專案作完時要幹嘛??
    加入Task Force (優化現有東⻄) | 做公司的Side Project (實現新想法)
    Developer culture
    80% 0~20
    %
    0~20
    %
    Main Project
    i.e., 金物流專案
    Task Force
    i.e., One-Pipeline
    Side Project
    i.e., Developer Portal

    View Slide

  18. View Slide

  19. View Slide