# 在 AI 時代軟體工程師的持續升級? - Mosky {%hackmd LeyMdnM3Q4ipfr57bkqpyA %} ## [📚 議程介紹](https://webconf.tw/agenda/day2-1-m) ## 簡報 [簡報連結](https://bit.ly/mp1228zr) [簡報圖片檔案](https://www.facebook.com/share/p/15P1fxyMRt/) ## 目錄 [TOC] ## ▼▼▼ 開始筆記 ▼▼▼ ### AI時代軟體工程師的持續升級 (到了AI時代就拿出你的真本事) 如何停止焦慮,擁抱AI對工程師的影響 [Linkedin](https://www.linkedin.com/in/moskyliu) [facebook](https://www.facebook.com/mosky.liu?locale=zh_TW) 如果每個人都能用AI寫程式消滅瑣事跟解放大腦就太好了 ### 職業AI影響評估表  職業 AI 影響評估表 === 1. 我的工作主要是處理重複性、固定程序的任務。 2. 我的工作任務可以清楚地被規範化或形式化。 3. 我的工作不需要大量的創造力或藝術性表達。 4. 我的工作任務可以直接用數據或公式解決,而不需要人類判斷。 5. 我的工作很少需要與他人進行深度的人際互動。 6. 我的工作不需要高 EQ 或同理心。 7. 我的工作不涉及精細的手工技術或體力活動。 8. 我的工作環境變化不大,且不需要處理突發情況。 9. 我的工作不受到嚴格的法律或倫理規範限制。 10. 我的工作成果不會直接影響人身安全且不需背負重大責任。 每題一分,分數表示: - **0~3 分:低風險** - 您的職業目前不容易被 AI 取代,建議持續專注於提升專業技能。 - **4~6 分:中風險** - 您的職業可能部分任務會被 AI 取代,建議學習更多創新或人際互動相關技能。 - **7~10 分:高風險** - 您的職業高度依賴例行性或可形式化的工作,建議探索新技能,尋找更不易被取代的職業。 初階電商軟體工程師:約 5 分 ### 取代寫程式的時代 你只會寫程式嗎? 如果你只會寫程式,你就完了...但你只會寫程式嗎? 新世代很重視情緒價值 ### 前世技能集 [Dropbox Engineering Career Framework ](https://dropbox.github.io/dbx-career-framework/) 1. 寫程式 2. 人際互動 3. 適應力 5. 領域技術力 EC, k8s 6. 全局的技術決策力 考量市場 老闆...充份考分頁物與產品需球,進行技術決策 7. 專案管理產品管理 讓事情發生遠重於程式本身 9. 創新能力 LLM 無法脫離它被訓練的資料集 11. 導師能力 協助經驗較少者跟上團隊 13. 文化領導力 營造有心理安全感的環境 讓大家持續在此團隊共同努力 [career framework](https://dropbox.github.io/dbx-career-framework/ic1_software_engineer.html)都會提到專案管理 ### 論AI AI是關在小房間裡面的天才 >但真實世界遠不止是小房間 現實的因素是無法透過文字跟拍照來處理的 ### 牆內的天才 & 牆外的人類 * cloud computing還是演化出了edge computing的方案 * 人類在前線可以做得很好 * 特定經驗的專才 * 單次經驗學習並舉一反三,能產生真正全新的想法跟解決方案 * AI也可以在小房間裡發揮得非常好 * 用一般性數據的天才 * AI需要大量資料訓練,產出很難超越他所接觸的資料集 * 人類知道需求(產品需求、公司要的需求) * 人類+AI 可以合作來發揮綜效 * 不一樣的人有不一樣的經驗,才會產生不同的規劃 * 是AI寫的程式/信,主管面對下屬這樣的回答已經略有不滿了 使用AI和不使用AI(自己寫) 兩邊各有長處,應當都都取好的部分 ### 寫程式的不同 ### 今世技能級 1. 寫程式 (1) 不想寫的程式 > 交給AI啦 省下20-50%時間 寫好玩的程式、寫不在訓練集的程式、寫訓練自己的程式 對自己沒有訓練經驗價值的東西(已經做很熟了、不需要再練習了、寫得很煩了),交給 AI 不能什麼都依賴 AI,自我訓練的部分不能少 多的時間就是培養自己程式以外的skillset (2) 目前的 AI 程式品質 因為 AI 也只是參考網路上大量資料來產出結果,但網路上的錯誤資訊其實不少 - 還是會寫錯 - 程式碼組織過於隨性,需要更有目的性的重構 - 情境考量不夠全面,需要補足測試案例、錯誤處理 - 程式碼可能有安全性問題,仍需傳統方法來確保資安 (3) 程式的「可 AI 維護性」 如何讓 AI 可以幫你維護程式碼?AI friendly code - 像英文的程式碼 LLM 吃英文長大,程式越像英文,LLM 運作得越好 - 善用程式語言特性給予 AI 提示 例如 python 的 dataclasses, type hints, keyword arguments 等 - 用函數與額外檔案隱藏細節(aka 「抽 lib」) 雖然 cross file 一次讓 AI 修改很理想,但LLM 一次讀越少東西運作越好,一次給的程式行數越少,LLM 越能幫忙;尤其有隱私考量的公司,只能用 local LLM,更可以採用這個做法 - 可以為「可 AI 維護性」設定 bench mark,哪種情況 AI 產出的結果更好? (4) 重新認識「學習」 - 學習的過程中,「回憶」和「重複」是很重要的。就像練習寫字,重點「不是」交出作業,重點是你「練習了寫字」,練習是很重要的 - 利用 AI 學得更好 - 「請向我解釋『有限狀態機與 RxJS』,用5 歲小孩都能懂的方式」 - 「請針對以上內容提五個問題/質疑」「請回答上述問題」 - 請針對以上回答整理出重要敘述,依序為每個敘述進行**事實查核**,每個事實查核都要包含正確與否、標題、連結與引述) 2. 人際互動 3. 適應力 4. 領域技術力 EC, k8s 5. 全局的技術決策力 考量市場 老闆...充份考分頁物與產品需球,進行技術決策 6. 專案管理產品管理 讓事情發生遠重於程式本身 7. 創新能力 LLM 無法脫離它被訓練的資料集 8. 導師能力 協助經驗較少者跟上團隊 9. 文化領導力 營造有心理安全感的環境 讓大家持續在此團隊共同努力 若你的技術能力在公司工作一年過後沒人太多要求,你就可以開始想想自己其他的能力來做培養 想想看你還有什麼能力是要發揮的 ### 目前AI的程式品質 - 還是會寫錯 - 程式碼組織過於隨性 > 需要做更有目的性的重構 > 好的重構才是工程師的價值啊 - 情境考量不夠全面 > 需要補足測試案例跟錯誤處理 > 程式碼 coverage > user story 錯誤處理 > AI 做的錯誤處理會東漏西漏 > ~~感覺很像一個笨蛋 junior 寫的東西~~ - 程式碼可能有安全問題 > API的地方還是給人管理比較安全 > 仍需傳統方法確認資安 > 來自網路,有可能原作者有做資安防護,AI也不care > 紅隊藍隊的仍不可避免 ### 程式的「可AI維護」性 如何讓你的程式,可讓AI維護 * Google已經用AI產生四分之一的程式,那怎樣能更多 * 像英文的程式碼 * LLM 吃英文長大的,程式越像英文,LLM運作得更好 * 善用程式語言特性給予AI提示 * AI 寫程式也需要脈絡 * 例如 dataclasses, type hints, keyword arguments...etc * 用函數與額外檔案隱藏細節(aka 抽 lib) * LLM 一次讀越少東西運作越好,一次給的程式行數越少,LLM就越能幫忙(讓 AI 認知負擔小一些) - 案例:講者自己請 LLM 寫完後教給同事繼續寫,方法是抽成helpers 再讓 AI 寫,隔天就寫好了。 - context windows 不是越大越好,小範圍較佳 - 這跟傳統做法有啥差別? => 傳統是從 code review 下手,可維護性是針對人類。這裡的可維護性是針對 AI。 - AI的可維護性的程式碼是可以被測試的,可以利用不同寫法,看看AI哪一個能產生更好的結果,歸納 可AI維護性在未來世界的的重要性 AI friendly的code ### 重新認識學習 [MOSKY談學習的演講](https://speakerdeck.com/mosky/the-key-of-learning)  就像練習寫字,重點並不是交出作業紙,重點是你練習了寫字 利用AI學得更好 請向我解釋有限狀態機RxJs用五歲小孩當能懂的方式 請針對以上內容提五個問題(質疑) 請回答上述問題 重點寫字的過程 回憶 和 重複 是學習的方式 ### 今世技能集  (正在從 IC1 加速成為 IC4) 對於商業的contribute的東西,大家會逐漸重視,IC1的培養不會再花這麼多時機了 這裡的IC是來自於dropbox 的職涯框架 [Dropbox Engineering Career Framework ](https://dropbox.github.io/dbx-career-framework/) ### 工程師職位正在減少 ### 賺錢的股票 vs 賠錢的股票,都幾? 任何技能都要帶來商業運轉跟商機($$)。 裁員是因為沒賺錢,這跟軟體工程師是不是被 AI 取代,是兩件事情的。 舉例:早餐店客人點了一杯大冰奶 (aka 拉茶) ,你跟客人推薦阿里山紅玉紅茶很好喝,但你沒想到客人想要排便順暢(XD) => 你沒想到客人的需求如此樸實無華,不需要很厲害的東西 ### skip-level thinking:老闆的老闆在想什麼?  除了寫程式之外,你更需要讓你老闆知道,你能創到什麼價值。 - 寧可先過度溝通 - 故事化溝通 - 好好的說故事溝通 - 損益表式溝通(老闆最愛) 任何東西乘上五年十年,都會很好看很可觀 怎樣可以帶給客戶更多價值 focus on 產品可以帶給客戶的價值 ### 進化之後:  skill-set 包含 IC4 的項目後,進入被取代可能性低風險#類別 ### 結語  - 停止焦慮 ### 回饋表單跟簡報連結 [回饋表單](https://docs.google.com/forms/d/e/1FAIpQLSfq--EaTZNSfqzk-1UNwoZSQaBSweJlXSbbvUdK4188YobzvA/viewform) [簡報連結]( https://bit.ly/mp1228zr) ## 聊天區 還好我還會嘴炮 賣肉圓的技能 通靈算是嗎 完蛋了 八分 慘了 XD 老到一定程度也會重視情緒價值啦XD 我們團隊要工程師提案也算是產品管理嗎 我一直很疑惑XD > 隕石管理 > 人手不足常發生的事情XD AI比我會說話啊 不用AI寫更不能看 數學不懂就是不懂 都幾梗會不會年輕人不知道了XD > 會 >> 會
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up