今天参加了隔壁组intern的中期demo,分为两个不同的小项目,虽然并不能在此记录具体的内容,但是每一个都很有趣,intern在短短几周的时间内完成了很漂亮的demo,为他点赞。这也让我仿佛看到了自己选择投身技术行业的初衷、对快速实现有趣想法的热情。

身在一个大公司,很多时候我们想要做什么要经过无数的cross-team的讨论和协调,尽管项目本身的scope可能并不大,难度可能并不高,但是往往由于各种团队的不同需求和意见,会让一个小项目变得复杂起来,有些时候也会导致同一件事情被反复讨论,最终可能还是无法达成一致。就算达成一致,也有可能后面再被一个新的团队或者成员提出异议,导致又要重新讨论。更不要提有些时候碰到一些很难缠的团队leader,不愿意对需要的support做出承诺,导致整个项目进度被拖延。

我绝不是说这种cross-team的讨论和协调是不重要的,相反,我认为这是非常重要的,首先每个团队都应该对自己做出的commitment负责,其次,通过这种讨论和协调,可以让每个团队更好地了解其他团队的需求和意见,从不同的角度思考问题,也能尽可能地避免edge case被忽略。当然在大公司中,这种cross-team的讨论也能避免一些legal、privacy等方面的工程师并不会考虑到的问题。

但是,最近一直在思考如何才能在这样的情况下继续让整个项目持续move forward,那就是要有一个很好的leader,能够在各个团队之间建立信任,能够在各个团队之间建立一个共同的目标,能够在各个团队之间建立一个共同的语言,能够在各个团队之间建立一个共同的文化。这样的leader不仅要有很强的技术能力,很强的沟通能力,更要有很强的协调能力、领导能力。作为工程师,很难做到这一点,因为往往重要的决策会议都是在leader之间进行的,而我们甚至不会出席这些很重要的会议。也就是说,如果你的领导在组织上有问题,那么你的项目很有可能会被拖延,你的工作很有可能会被浪费,甚至你所做的项目虽然做完了,但是可能并没有得到很好的支持,最终可能会被kill掉。

作为工程师如何面对这种处境呢?

最简单的两种选择,走,或者躺平。走,就是换一个组从而换一个leader,要么换一个公司。躺平,就是完全按照直接leader的意愿来做,或者依旧只和直属的leader沟通,尽量让自己的项目能够顺利进行,因为绩效往往是直属的leader对你的打评。如果你可以躺平,那么你的工作可能会很轻松,但是你的工作可能会很无聊,因为你可能会被迫做一些你不想做的事情,也可能会重复你认为不正确的事情。同时,躺平往往意味着上升空间有限,因为你很难持续高效、热情地完成无聊的工作。如果你觉得自己躺不平,但是又不想改变在这个组、这个leader领导下的工作,那么你可能会感到焦虑、烦躁,甚至会影响到你的工作和生活,最终只有逃离,或者被逼离开。

其实往往人都是在逆境中成长的,比如如果你的leader在某些时候不能drive,那么你就要学会自己去把握机会,在leader沟通后,主动去和其他团队沟通,在PM的帮助下组织有效的会议,保证每次会议都有一个明确的agenda,能够产出一个明确的action list,并且对于open question能够有一个明确的follow up,每一个action item都要指定一个owner,保证每一个action item都有一个大概的deadline,保证下一次会议前能够解决或者至少Investigate每一个action item和open question。这样的工作虽然可能看起来会让你很累,但是这样的工作实际上是在珍惜你的时间,是在提高你的效率,同时会让你在团队中更有价值,也会让你在团队中更有影响力,最终也会让你在团队中更有发展空间。