团队交流记录 - 2020-04

算法练习

从「想通了码不出来」进阶到「想通就能码出来」,我们需要足够熟悉编程语言,需要足够多的编程实战经验。团队制定一个活动帮大家进阶:每周二、周四集体刷 leetcode 每日一题,周五总结分享

但 leetcode 太注重代码时间、空间效率,会有以下问题:

  • 对递归不友好,写递归容易内存占用过多或者堆栈溢出,
  • 对函数式不友好,写 map filter reduce 不如写循环效率高,
  • 为了提高效率,用技巧略去一些中间步骤,例如本应该是「输入->树->字符串」,会通过技巧把「树」省略掉,

这些都会引诱人写烂代码。因此团队先达成一致:刷题的目的是锻炼大家把思路快速转化成代码。我们要追求高效的思路、清晰的代码,不要追求技巧和捷径。


之后还讨论了一个问题:

如果我们已经达到了「想通就能码出来」,后续的目标是什么?

后续努力的方向有 2 个:

  • 看问题要看清本质,用最直接的招式给问题致命一击;
  • 了解产品现有功能及发展趋势,能够在架构上考虑全。

先设计再编码

我们在整体框架上有设计,但开发页面或者组件时,我们大都直接上手就写,边写边想,边写边重构。由于大家的习惯、经验不同,最终大家写出的数据流千差万别。我们需要寻找一种图,它能够表达组件之间的数据流。大家用这个图来思考设计、表达设计,然后一起 review,简化数据流,之后再动手编码。


转管理岗

转管理岗是不是都是这个过程?

  1. 技术独挡一面
  2. 带几个新人做产品
  3. 团队扩大,变成 manager

我是这么走过来的,但我相信一定存在别的方式,只是我不了解。

我经历过以下几个阶段:

  1. 技术独挡一面,工作得心应手。
  2. 上面分配几个新人,让你带着一起做。觉得带人真费劲,还不如自己帮他们做了。
  3. 带出了几个得力助手,编码靠他们,自己每天分分工作、发发邮件、开开会就行。
  4. 焦虑感袭来:我这样下去会不会完蛋,万一有人离职,或者更严重公司开了我怎么办?
  5. 继续上进,抽空学习、抽空写代码,确保团队任何人走了,自己仍然能 hold 住项目;确保自己的技术能力是领先的。
  6. 关注范围从前端到产品,再到后端。
posted @ 2020-04-12 00:55  apolis  阅读(352)  评论(0编辑  收藏  举报