一些想法随笔写写,没什么组织还请见谅
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
大意是在说工程师不要什么都想用最适合或最好的技术
引入新技术有很多隐形成本
包含学习成本、监控、评估、维运成本
这些都要列入考量
他举的例子是他们用PostgreSQL来当message queue,而没有用Kafka之类的“正统”工具
软件工程师的工作中,“写程式”可能是最花时间,但不会是最重要的
这件事随着年资越来越深会更明显,如果AI能大幅缩短写程式的时间,我是乐见其成
代表我们有更多时间去做其他更有价值的事情