#4 奔 35 程序员的职业生涯思考

2023-10-22

周一被问到这个问题,我真的是一身汗,因为我发现自己真的很长一段时间没有思考过这个问题了。
每天按照固定的步骤处理各种问题,时间久了,工作就成为了一种惯性。
或许很多人都是这样,但我认为这不是一种积极的,上进的人生态度。

生活中充满了变化,我们应该能够适应不断变化的生活,而不是在稳定中消磨掉自己的斗志。
运气好的话,一直稳定下去,运气不好,今后要摔大跟头的。

我刚开始工作时,经理告诉我们,大家在这里相聚,应该要有一点基础的认知,大家都不是杰出人才,只有资历深浅而已,没有谁高人一等。
我认为说的非常实际,现实就是这样,大多数人都是普通人。我也是一个一般水平的开发者。
这么说并不是要打击个人的积极性,这完全不耽误我们大家在工作学习中力争上游。只是说,我们要清楚认知到我们力争的这个“上游”在社会上的一个真实位置。
如果我们没有这个认知,可能对职业生涯的规划产生错误的影响。

好,现在开始说说职业生涯规划的事情。

TODO: 未完待续...

#3 一些微不足道的开发经验

2022-06-17

设计

  1. 方案设计要留有余地,在满足需求的前提下,尽量更加通用一点。
    前提是要认真理解需求,认真理解现有的架构,多想想,再多想想。
  2. 但是也要避免过早地、过度地优化。
    我们应该了解对团队来说更有价值的事情是什么,然后把主要的精力放在更加有价值的业务上。
    基于这个认知,我们就能更清楚需求到底是什么,应该如何去设计。

编码

  1. 遵守业界通用的编码规范非常重要。
  2. 代码可读性非常重要,简洁、美观。
  3. 如果一个逻辑有好多步骤,尽量分成几个更小的单元实现。
  4. 避免写重复的代码,将重复的部分抽离出来(有时需要考验设计能力)。
  5. 关键的点打印日志很重要,尤其是功能刚上线的时候,嫌多的话可以后面调整。

协作

  1. 沟通非常重要,沟通非常重要,沟通非常重要。
  2. 要通知到相关人,不只是消息发送出去就行,要确保他们真的理解你的意思。
    有些时候,作为经手人,还需要继续跟踪,了解他们的后续操作以及整件事情的进展。
  3. 对接时须对细节再三确认,然后形成约定,比如接口提供方将小数统一整理成保留两位,接口提供方应该保证默认排序规则。
    如果不确认,形成约定,日后有变更,可能就是意想不到的坑。
    如果是一些简单的工作,两边都处理一下也未尝不可。

工程

  1. 开发的预估时间往往是比较保守,及时你认为这个时间绝对没问题,也往往免不了延期。
  2. 可能是需求会变化,可能是方案的实现中会遇到一些变数,还可能是有别的事情会占用时间。
  3. 即便是在公开会议上也应该顶住压力,留有余地。如果真的是非常紧急,至少需要确保优先级真的比较高。