Caesar Chi
2023/08
為何技術老⼈這樣想那樣做?
從技術前輩的視⾓理解技術決策
Caesar Chi
clonncd
Caesar Chi
2.0
@clonncd
@clonn
AI for Dev 社群
議題
• 技術世界的不斷變化
• ⼯程師的智慧決策之道
• 理解⼯程師⼼路歷程通道
• 從技術架構到技術選題的考量
• 邁向真正的資深⼯程師
技術世界的不斷變化
⼈⽣唯⼀不變的
就是變
⼈⽣唯⼀不變的
就是變
擁抱改變,邁向改變
追求卓越,擁抱改變
遠離惡,迎向善
⾒賢思⿑,⾒不賢內⾃省
舉例
Github
10 年前: 全球最⼤⼯程師交友網站
所不愛的東⻄
每個上線的服務
背後總有說不清的⾎淚
到處都是壞味道
Bad smell
到處都是壞味道
Bad smell
知道就是要改
知道就是要改
我也知道...
無奈真的太多
要改的東⻄太多
那就改天吧
時空背景
技術迭代
架構選題
時空背景
技術迭代
架構選題
當然
無知 或 視⽽不⾒
也是肇因之⼀
《知識的假象》:無知並不可怕,⾃我感覺良好的幻覺才是
當然
無知 或 視⽽不⾒
也是肇因之⼀
但,這群⼈不在我們今天討論範圍
既有架構的改變流程
1. 取得共識, 讓夥伴認同,⼀起進⾏改善
2. 改變⾃⼰, 從⾃⾝習慣做起,影響他⼈
3. 改變他⼈, 讓共識得以持續
你可以這麼做
1. 取得共識, 讓夥伴認同,⼀起進⾏改善
2. 改變⾃⼰, 從⾃⾝習慣做起,影響他⼈
3. 改變他⼈, 讓共識得以持續
你可以這麼做
1. 取得共識, 讓夥伴認同,了解調整到 Model 層
的好處以及這是現在及未來趨勢。
2. 改變⾃⼰, 經⼿ feature 相關檔案,直接進⾏
Model 調整,讓其他⼈ Code review
3. 改變他⼈, 將 Model 的調整視為 Spec 之⼀,
當 code review 或者程式交付時,讓 Model 的
整理成為嚴守底線
舉例: 讓儲存的統⼀於 Model 層
上述項⽬需要取得上層授權
同時取得集體共識
此時建議要具備成本結構
嬰兒期: 可⾏,快速因應調整
成長期: 思考,需拿捏改動時機點,機會成本考量
成熟期: 可⾏,持續進⾏優化,企圖尋找擴張點
衰退期: 不可⾏,產品進入退縮階段,優化效益過低
⾯對架構改善,
試著思考幾個問題
1. 有沒有比這個更重要,更急的事情?
2. 現在做了會有什麼影響?
3. 現在不做會有什麼影響?
4. 有沒有更簡單的做法?
最佳程式碼
• 技術架構到技術選題的考量
最佳程式碼
Short Code is better
最佳程式碼
Short Code is better
NO Code is the BEST
AI ⽣成,從多語⾔到程式語⾔
程式語⾔可能不需要透過各位編寫
開發⼈員更需要具備抽象轉為具象的思考
執⾏項⽬前進⾏具體 PDCA
https://githubnext.com/projects/copilot-voice/
Type less, code more
邁向真正的無碼化
程式碼都透過 AI ⽣成
開發者真正的價值在於抽象與具象化之間轉換
技術者
終其⼀⽣都在追求
https://www.moedict.tw/%E7%A5%9E%E4%B9%8E%E5%85%B6%E6%8A%80
神乎
其技
DDD
Deadline driven Development
任務難度
拖延程度
筏值
筏值
放棄
任務難度
拖延程度
筏值
筏值
放棄
避免讓⾃⼰陷入放棄
先從已知的已知建立起習慣
先從已知的已知建立起習慣
已知的未知
隨⼿清理程式債(垃圾)
養成好習慣
隨⼿清理程式債(垃圾)
隨⼿做功德
學習 n 項技術
技術⽂件程式碼閱讀
學習的歷程
Online Course
老⼈: 書籍
年輕: 影⾳,線上課程,Tiktok
從⽂字年代到影⾳年代
老實說,⾃⼰也還在適應
程式會改版,⽂件也會
但,課程可能不會
我們會透過 Google
茫茫⼤海的尋找⽅向
⽂件通常有最佳解
https://vuejs.org/guide/introduction.html
https://vuejs.org/api/
https://react.dev/learn
https://react.dev/reference/react
⽂件與程式碼有差異
Issue & Source code 能求解
https://github.com/vuejs/core/issues
⽂件與程式碼有差異
Issue & Source code 能求解
https://github.com/vuejs/core/issues
⽂件與程式碼有差異
Issue & Source code 能求解
https://github.com/vuejs/core/issues
習慣,感受
閱讀程式碼的快樂
Source code + git log
Source code + git log
Source code + git log
Source code + git log
因此
讀書的重要性
⼼中從有碼到無碼之路
只有從深入閱讀,才能了解技術之美
試著
閱讀程式碼
開放⾃⼰的程式碼
⼼中從有碼到無碼之路
只有從深入閱讀,才能了解技術之美
最後總結
⼀,命
⼆,運
三,風⽔
四,積陰德
五,讀書
⼀命,天⽣註定但努⼒可調
⼆運,掌握在⾃⼰⼿上,努⼒爭取
三風⽔,了解整體局⾯,找到適合切入點
四積陰德,隨⼿修代碼,留給更好的下⼀代
五讀書,⽂件程式碼的閱讀,⾃我修養的成長
Junior Dev Senior Dev
Q&A
Thank you
AI for Dev jsdc.tw FB: Coding bear
AI for Dev 社群

為何技術老人這樣想那樣做?