[译] 有 20 年经验的程序员的 20 条人生经验

313 阅读3分钟

最近读到一位 20 年“老程序员”的经验分享,对其中的很多点都非常赞同,翻译在这里,权当做笔记了。

原文链接: 20 Things I’ve Learned in my 20 Years as a Software Engineer

  1. 我仍然有很多东西都不懂
    正常现象,早点习惯
  2. 开发软件最难的是做的东西得有用
    老有人花费大把时间写一款超吊的软件,但是没一个人愿意用
  3. 最厉害的程序员会像设计师一样思考
    谁会用我的软件?为什么会用?他会怎么用?
  4. 最好的代码就是不用自己写代码,或者不用自己去维护
    拒绝重复造轮子
  5. 说到底,软件只是一个工具
    达成目的才是最重要的,有时候最合适的工具可能不是软件
  6. “磨刀不误砍柴工”不一定对,有时候就是得快点开始
    先上手,小步迭代,老是想着准备好了再开始结局可能就是🐦
  7. 基础不扎实的人设计不出好的软件
    如果长期不在一线写代码,做出的架构设计可能是有问题的
  8. 没有完美的软件,不要吹毛求疵
    所以才要不断迭代,不要以此为借口甩锅
  9. 人人都该多问一句 Why
    多点打破砂锅问到底
  10. 与其寻找“10 倍程序员”,不如尽量避免“0.1 倍程序员”
    字面意思,很实际
  11. 资深工程师会有自己的观点和标准
    初级工程师的经验不够多,没有形成自己的观点和评价标准,这一过程也是初级到资深的过程
  12. 人们要的可能不是真正的“创新”
    嘴上天天喊要创新的可能只是图个新奇/便宜,真正的创新往往收到的是负面反馈
  13. 数据才是最重要的
    数据往往比软件的寿命要长,处理数据的时候谨慎一点
  14. 多留意“技术鲨鱼”
    有些技术虽然老,但是贼好用
  15. 主动寻求周围人的反馈
    大佬们有时候不是没建议,只是不主动
  16. 保持书写习惯
    书面表达能力非常重要
  17. 保持精简的开发流程
    别拿敏捷开发那一套整天折腾团队
  18. 工程师需要“拥有”的感觉
    流水线工人对自己的产出是没有感情的,但是手工师傅对自己的每一件作品都有,软件工程师也一样
  19. 面试时候吹的牛不要信
    候选人拍着胸脯说自己入职以后会怎样怎样,卵用没有,论迹不论心
  20. 努力构建一个小的系统
    最终会随着迭代越来越大越来越完善,自己也能学到很多

作者的同事受此启发也写了一篇10 Things I (Still) Love About Programming,可以一起看看 😃

本文首发地址