..

资深程序员的晋升瓶颈

“深度优先”与“广度优先”是程序员学习发展方向的老生常谈话题。我之前录制过一个视频思考过这个话题,但现在我认为,拉深度和拉广度都不是最优先的方向,最优先的是拉维度。

那么,什么是维度提升呢?

提升维度,就是不仅仅从技术的角度思考问题,而要综合考虑其他方面,例如人性、产品、用户、领导力、社会、政治等等。

虽然在实践过程中不可能考虑到宏观的方面,但是对于与自身工作密切相关的方面,我们不得不关注。比如,组织流程、敏捷开发流程和有效沟通法等。

自己干还是交给别人干?

当我们在工作中面临一个任务,我们可能会想:是自己亲自实现还是分配给别人去实现呢?虽然自己实现可以节省时间,但是分配给别人实现,也可以带来更多的好处。

对于一些工作,一位 Junior 程序员可能需要 5 天才能完成,而一位 Senior 程序员可能只需要 1 天。但是,如果我们提升一下认知维度,我们就会思考以下问题:

  • 有什么办法能够让 Junior 程序员清楚地了解上下文,降低考虑不周的风险?
  • 有什么办法能够让 Junior 程序员提高自己的技术水平,减轻自己的工作压力?
  • 有什么办法保证 Junior 程序员的代码质量?
  • 有什么办法获得其他人的认同和支持,提高自己的影响力?

正如德鲁克所说:“管理人员是通过其他人完成工作的人。” Senior Engineer 需要思考的其实是管理的内容,相当于是初级 Engineering Manager。EM 考虑的是流程、文化等,而不是技术实现。

当然,如果您专注于技术,也可以成为编程大神,我们能够看到很多这类传奇式编程大神的新闻,但是这是个概率问题,概率的影响因素是市场需求,需要专门写操作系统的,写编译器的全球加起来可能不到百人。所以我们需要关注更多的方面,以便更好地适应未来的工作发展。


Creative Commons License