作者 w0005151 (藍廳)
標題 Re: [請益] 面試如果考coding可以這樣回答嗎?
時間 Sun Mar  3 15:20:26 2024


一些想法隨筆寫寫,沒什麼組織還請見諒


1. 程式碼品質要能轉化出可以量化的指標
比如我這個feature多花一個禮拜可以用更有效率的方法存取資料讓cost降低50%
或issue發生的頻率降低30%減少工程師加班成本

剛開始工作吵吵clean cod什麼的沒關係
但不要五六年經驗還整天說這段code不乾淨我要爆改你不要質疑我,問就是你不懂
這樣不僅沒用又很像巨嬰

2. 要做什麼事先想想公司規模
大公司制度成熟,你想推新的practice,先想想舊的為什麼可以跑20年
現在有什麼缺陷?真的需要嗎?

小公司發揮空間大但營運壓力也大,可能下個月沒搶到客人公司就要倒了

這時候你還跟老闆說我要refactor這段code
這個月先不要塞新feature給我
沒把你開了就不錯了


3. 不要太糾結老闆懂不懂技術,懂技術的老闆雞巴起來才是最要命的
「這個這麼簡單我10年前一天就做完了你跟我說要一個月?」
「不要騙我沒寫過程式喔,20年前我們都是一個人做一個網站的哪分什麼前後端」

產品性質、公司規模、團隊文化,才是重點

PM也是,好的PM不用很懂技術,而是能好好規劃產品方向,讓大家事半功倍
然後把客人管理好不要一天到晚被情緒勒索


4. 程式技術一直是往越來越人性化的方向走
從早期打孔,組合語言,再到C、Fortran等高階語言
又發展成JS和Python等腳本語言大行其道
everything that can be written in javascript will eventually be written in
javascript
(我個人不是很認同這句話就是了)

再到一行code不用寫就可以搭建ERP系統、電商網站等常見的應用

維運從放機房的實體機,到雲端上的VM,再到由Vendor全面代管的Serverless
要設定的東西越來越少

寫程式的門檻早在AI出現以前就越來越低
但軟體工程師的需求卻沒有變少

以前不會寫可能要去圖書館翻書
後來可以上網估狗或Stackoverflow

Copilot出來後連視窗都不用切了,直接在IDE內一鍵auto complete

只不過是工作型態變了而已

幾十年後寫程式的工作終究會被AI完全取代
只是到那個時候這個社會上目前的工作又會剩下多少呢?

與其說是被取代,我更覺得會是換種工作型態罷了

5.
前陣子剛好看到一篇文章
https://dagster.io/blog/skip-kafka-use-postgres-message-queue
Postgres: a Better Message Queue than Kafka? | Dagster Blog
[圖]
When lots of event logs must be stored and indexed, Kafka is the obvious choice. Naturally, our queue runs on Postgres. ...

 
大意是在說工程師不要什麼都想用最適合或最好的技術

引入新技術有很多隱形成本
包含學習成本、監控、評估、維運成本
這些都要列入考量

他舉的例子是他們用PostgreSQL來當message queue,而沒有用Kafka之類的「正統」工具

軟體工程師的工作中,「寫程式」可能是最花時間,但不會是最重要的

這件事隨著年資越來越深會更明顯,如果AI能大幅縮短寫程式的時間,我是樂見其成
代表我們有更多時間去做其他更有價值的事情

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.156.158 (臺灣)
※ 作者: w0005151 2024-03-03 15:20:26
※ 文章代碼(AID): #1bv2I-rs (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1709450430.A.D76.html
※ 同主題文章:
Re: [請益] 面試如果考coding可以這樣回答嗎?
03-03 15:20 w0005151
※ 編輯: w0005151 (1.162.156.158 臺灣), 03/03/2024 15:22:59
steak5566: 老黃說得對 因為工具升級導致人的生產量大增 會先消失的是那些只會拉excel的1F 03/03 15:35
wulouise: refactor不看商業價值本來就是有問題的3F 03/03 15:50
adamkk: 基本的clean code還是要有,至少要過clang-tidy之類,不然很多安全檢查過不了;當客戶要求安檢的報告時會直接升天4F 03/03 16:56
darkMood: 嘻嘻6F 03/03 17:16
k798976869: 美國軟體工程師最喜歡玩一堆新的很潮的東西 玩爽惹之後跳槽跑掉 維運就留給剩下來抓交替的
然後不幸被抓到的時候 還是不維護 改成用新東西重做新7F 03/03 18:20
Ericz7000: 我也想玩新東西11F 03/03 19:43
chuegou: 阿我現在都看著自己以前的爛code(上個月寫的)然後說很醜要爆改12F 03/03 21:12
peter98: 工作吵吵乾淨的鱈魚 0.014F 03/03 21:12
chuegou: 美其名叫重構 但我也提不出任何重構改善的數據指標
仔細想想也是滿心虛的15F 03/03 21:14
NTUTM04: true17F 03/03 21:32
gn60311: 這篇真的是體會過才寫得出來的qq18F 03/03 22:28
IhateOGC: how to ,and why that
clean code叫他吃屎吧
專案剛開始就是寫一陀屎,怎要後面的人clean?
說clean code的大概都沒做過大專案
linux source code也是一堆屎,也沒人抱怨
小公司想搞啥clean?19F 03/03 23:17
superpandal: 那叫作為換而換技術 通常也是為了找新工作有新談資的人會去弄的 永遠都在追東追西的人 然後沒有一件是完美符合所有
而且這也沒什麼正不正統問題 無宗可溯 滿地都有的應用 都沒什麼歷史與哲理25F 03/03 23:40
drajan: 你沒有聽過CV- driven development嗎?玩新技術就是要跳槽用的啊30F 03/03 23:56
viper9709: 還滿中肯的32F 03/04 00:16
abccbaandy: 樓樓上那個早就被刷題取代了吧,現在很少問了33F 03/04 00:54
saladim: 會包function我就謝天謝地了 不需要什麼fancy的技術
然後程式邏輯要清楚比較重要 要不然clean code也是屎34F 03/04 01:29
holebro: 好文36F 03/04 02:21
justaID: 這篇語氣很直,但觀點很寫實,職場上還真的看過不少為技術而技術,整天嚷嚷著clean code或一些高大上的技術,缺乏考慮產品實際應用場景、原本這麼寫是為了解決什麼問題、有什麼原因、重構或導入新做法能帶來什麼效益、有什麼side effect風險,履歷驅動開發
履歷驅動開發的風格,試圖導入一些看起來很fancy或整天用很溫室的角度空談夢幻中的系統設計
職場上遇到這種巨嬰隊友很心累37F 03/04 07:56
crowley: 推45F 03/04 08:46
devilkool: 履歷驅動開發XD 這名詞不錯46F 03/04 08:58

--
作者 w0005151 的最新發文:
點此顯示更多發文記錄