和团队新同学的对话

7,818 阅读3分钟

团队里有一个去年来实习的同学,最近毕业正式入职了。作为师兄,在正式工作一个月之后,找到他聊了聊,看看最近是不是有什么困惑。下面是挑出来的几个我觉得比较有代表性的问题,以及我自己的一些见解,更多的是个人经历和想法,欢迎在留言区指正和讨论。

问题 1:多人协作开发一个功能,发现比预期时间长很多怎么办

这个问题其实是 2 个问题组成的。首先是多人的协同问题,在开发文档这类复杂的单体应用时很容易遇到。其次是交付时间比预期时间晚,也就是俗称的需求 delay 了。

面对(复杂的)需求,先要做好需求的拆解和方案的梳理,不要急于下手写代码。作为新人,不要怕麻烦,把方案拿给自己团队内的老司机,大家一起 review,确保方案的可行性。前期对细节了解的越深入,过程中出问题的概率就会越低。 如果一起落地执行的同学缺少一个主心骨,不妨自己多承担一些责任,多承担一些沟通和方案输出的工作。这样做还有一个好处,掌握越多的设计细节,对工时的评估就会越准确,出现问题也能较快响应出解决办法,也就更容易把控进度和结果。

问题 2:不小心把 xx 搞坏了怎么办

这个问题背后的,其实往往反映的是这次犯错带来的挫败感和失落感,以及对自己能力的一点怀疑。

但实际上,正常的团队会给新人一些容错的空间。这段时间内,大家会尽可能地去帮助你融入,成为团队的一员。所以,不要害怕犯错,这个时期犯错的成本也比较低,要尽可能多地去尝试,去把自己的地图上的迷雾拨开。当然,做事情的时候还是要尽可能做好准备,避免犯低级错误。

为了避免自己的失误造成过大的影响,团队内通常都会有一些机制来加以保护,比如入职一定时间内不允许操作线上环境等等。平时要多了解一些原则性的规则,遇到问题的时候,要明白底线在哪里,保住底线,就不会出现不可收场的问题。

问题 3:从 0 到 1 做项目有什么需要注意的

从我个人的经历来说,在大厂里能够有机会参与一个产品从 0 到 1 的构建是比较少见的机会了。相较于已有的成熟产品或系统的添砖加瓦,从地基开始盖房子对于新同学的成长来说会有很多不一样的好处。

我能想到的几个建议:

  1. 学习系统化的设计思路,比如:应用核心的模型设计非常值得学习和深究的。一个稳定健壮的模型包含了大量的信息,除了正向的产品流程,其中蕴含的对逆向流程和边界情况的处理,以及预留的拓展点都有很多可以学习的地方。一个比较实用的方法是,对哪一部分的功能感兴趣,可以尝试先自己设计一下,再去和实际的方案互相印证。
  2. 多从周围同事身上学习,看看那些承担了更多责任的同学都在做什么,是怎么做的,有哪些值得自己学习的地方。

总而言之,对于刚刚毕业的新同学,还是建议多推自己一把,持续学习,主动承担新的责任,提高自己的软硬实力。

希望这个小伙子能越来越好。^_^