3 个回答
  1. 提问题不能有错别字
  2. 使用 bug 追踪系统
  3. 不断的迭代与测试
  4. 带着最终目标进行开发而不是无头苍蝇般想哪做哪
  5. 不断的优化打磨产品
  6. 同时能兼顾前端与后端
  7. 专心专注而不三心二意
  8. 正确组织自己的工作

今天聊天的时候半开玩笑地这样说的

“提交前知道要运行一下自己的代码,要看一下diff的google星人stackoverflow星人来多少要多少”

实际上连这么简单的要求能做到的人可能都不到一半,如果能做到,至少领先50%的人了


以上玩笑

我觉得本质只有一条,就是Be pragmatic

追求效率,不惜代价

  • 对他人善于沟通,理解对方立场,补足对方工作的不足之处

    • 对其他工程师学他的长处的同时,把所有你会而他应该会还不会的东西教给他,他的问题他的不解都是你进步的动力。
    • 对产品既不能百依百顺又不能故意敌对,对需求模糊的地方问清楚,不合理的地方解释清楚你的见解,共同把需求完善到他能够接受同时你实现代价不过高的样子
    • 对测试,对设计等等其他职位类似,尊重对方专业的同时,把你的意见放到台子上讨论
    • 对老板及时汇报你的工作进度、难处,尽量提供解决方案或至少你的思路,而不是抛问题给老板
  • 对代码有追求,写易维护易懂的代码,让别人看你的代码改你的代码的时候没有问题(可读性/结构/注释/文档),让程序执行你的代码的时候有迹可寻,出问题的时候能迅速还原现场找到问题。

    • 这个有点多,各种范式、模式、技术、框架等等都是可以学习的
  • 对自己严格要求,及时反思,善用工具,善于学习

    • 提目标,有总结,有迭代
    • 善用CLI自动化你的工作
    • 善用GUI提高你的工作效率
    • 英文
    • google

一切的一切都是为了高效完成任务的手段

追求效率,不惜代价

I will, in fact, claim that the difference between a bad programmer
and a good one is whether he considers his code or his data structures
more important. Bad programmers worry about the code. Good programmers
worry about data structures and their relationships.
---Linus Torvalds

宣传栏