# 技术?管理?

在程序员的职业生涯中一直逃不开的一个话题,也是网上议论最多的话题就是 “35 岁之后的码农的职业规划该走技术路线还是管理路线”,尤其是在疫情时代,大环境不好,各个公司各种各样的 “毕业典礼” 也让这个话题在程序员的圈子里被推上顶峰。我也一直在思考这个问题,毕竟也到了该未雨绸缪的时刻,不过更多的还是通过给自己制定更完善的职业规划,来增加自己的抗风险能力和核心竞争力。

一两年之前当时还是只管简简单单写代码,并做好组织交代的任务的时候自己就开始思考这个问题,那时候思考的方式很简单,我个人有个对比方法,就是生活在中遇到选择的时候都会用这种方式去对比,两个候选方案放在一起,把每个方案的优点和缺点列出来,然后看下优点是不是对我有足够的吸引力,缺点是不是也不是不能接受,以此来选择一个对我来说还算不错的方案。对应到这个问题上来就是搞技术,更加纯粹,更加专一,也更符合码农的性格,缺点可能是,需要耐得住寂寞,持续钻研,回报周期长等;而做管理虽然听着好听,会有各种 title,但是事情更多更杂,需要处理很多技术之外的事情,也是大部分程序员不擅长的。所以当时的我的出的答案是,感觉还是技术攻关,技术突破才能带给我更多的成就感和满足感。

# 技术 + 管理!

但是当时忽略了一个问题,要知道对比的前提是一定要了解所对比的东西,那个时候我对管理根本没有概念,也没有接触过相关的书籍或资料,仅凭一己之见来做出比较片面的判断。后来随着自己也慢慢参与到管理工作中,同时也接触了一些技术领域和管理领域的大牛后才对技术 or 管理有了更新的认识:我发现那些看似走技术路线的人并不是在孤军奋战,他们一定是一个项目组或者是一个团队在一起研究一个技术点,随着他们从事这个工作时间的变长,这些当时选择走技术路线的人慢慢的也都成为了这个团队的管理者或者是领头人;同样那些的当时看似走了管理路线的人也一定是因为他们的技术水平达到了相应的高度才有资格以管理者的身份去管理团队,做了管理后一样需要继续钻研技术,使自己的技术储备可以支撑自己的管理工作。这样一来再回过头看文章开头的问题 “走技术路线还是管理路线” 其实就是一个伪命题,真正的答案应该是:技术管理都要走也都会走,只是不同阶段侧重点不一样

# 技术 -> 管理

既然上面说了两个都要走,那要具体怎么走,下面会结合自己的一些亲身经历来总结下。从你的毕业时间开始时算,不同的阶段要有不同的侧重点,技术或者是管理其实是大类,里面具体细分了不同的细节。

  • 毕业三年之内:刚出校园有激情与活力,对一切充满未知和好奇,这个期间可以尝试接触不同的领域,不停地试错,但是最终的目的是找好自己的目标,也就是今后需要全力以赴深耕的方向。这一点很重要。如果等你工作了四五年了还是不知道自己想要做什么,还在不停的变换方向的话就比较危险了。
  • 毕业六七年左右:这段时间是技术深耕期,基于之前的方向深挖技术深度,提高自己的专业程度,其实这段时期对于程序员来说算是比较好度过的,只用专心研究技术,比较单纯和纯粹。打造自己在业内的影响力,提高自己的核心竞争力是这个阶段的首要目标,因为这个阶段之后基本上年龄也 30 + 了。
  • 毕业七八年之后:这个时期大部分人觉得自己会面临是走技术路线还是管理路线的问题,但是正如前面所说,想单纯的技术钻研一路走到黑,并不现实,大部分人还是在各大公司企业的,并不是研究所。而且随着年龄的增长经验的积累,管理是必不可少的一项技能,所以与其说大家面临的选择是走技术路线还是管理路线,倒不如说如何从技术路线快速过度到管理路线。这这也是绝大多数人的职业路程。

# 关于自己

这一两年我也是处在了转变期,有过迷茫但最终感觉算是找到了方向,最近一年时间事情比较多,尤其需要跨团队沟通的事情较多,所以也加深了我的思考。如何从一种状态转为另一种状态其实就是如何改变之前的习惯,去让自己养成新的习惯,再细化到技术 -> 管理这个事情上来说就是如何改变之前的工作方式、思考方式、沟通方式。

但其实转变思维并不是一件容易的事情,刚开始承担一些管理工作的时候,我还是非常容易陷入之前单兵作战的肌肉记忆中。比如需求评审的时候会陷入技术细节的思考和讨论,编码开发时候会纠结怎么样写能让这段代码看起来更优雅,指导新人或者 review 他人代码的时候,看到不合理的的代码难以控制直接帮他们改好或者重写他人代码的冲动。甚至很长一段时间都会难以转变这样的思路,而且当时也确实有这样做过。当一个管理者陷入这样的细节中其实就会非常的累,后面的工作中也印证了这一点,所以才开始反思是不是自己的工作方式,思考方式有问题。导致了过多的不必要的精力消耗。

# Change

其实工作经验在三到五年的程序员想发挥自己专业优势,出色的完成本职工作,太正常不过,这个年限的人大都饱含激情与热情,并执着于自己在做的事情。不过如果当你到了第三个阶段后还有这种想法就有点危险了。这种想法在前期会加速你的进步,但是在后期尤其是开始步入管理线后,可能成为你成长的绊脚石。实际上,工作中大部分棘手的事情都不是执行,而是从各种不确定中寻找到一条确定的路径,简单来说就是各种渠道的信息输入+不断的沟通确认+最后的决策,如果一直纠结局限于技术细节那就很难站在全局的角度去思考问题,所以如果没理解这一点就很难完成太好的转变。

其实是否钻研技术细节不重要,关键是你需要有能力判断当前业务发展最大的瓶颈是什么,比如当前就是卡在某个技术难点,初阶的同学搞不定,那么你亲自出马技术攻坚合情合理,没任何问题,但是如果现在缺的是规划,缺的是拨开云雾指明方向,那么再钻到代码细节里就不太合适了。所以并不是说走管理线后就可以忽略技术。你的技术水平,技术能力是也是团队管理中重要的因素,但更重要的是要有自己的判断力,看清团队或者团队成员现在面临的根本问题是什么,要有透过现象看本质的洞察力。

对自己从事的工作充满热情是一种优秀的品质,正如前面所说,在不同的阶段需要有不同的侧重点,我们的一腔热情与干劲也不要用错了方向。当你还是初学者或者中级高级程序员的话你的热情要用在技术探索上,追求最优的解法,最好的方法,出色的完成工作内容,同时保持学习;而当你是高级程序员,开始或已经在承担了一些管理工作的话,那么你的技术热情和精力应更多的用在探索自身和团队的边界并且从外部视角来发掘对业务有贡献的方向上,同时也要保持学习。作为管理者如果还是陷入技术细节的话在领导看来你就是分不清主次,在同事看来你名不副实,在下属看来你也抢占了本应属于他们的发展空间。

# end

其实思维的转变不是那么容易,没有人是天生的领导者,可能有的人天生聪慧,技术探索总是快人一步,可能有的人天生开朗,擅长沟通,但是对大局的把控,对本质的洞察以及最后做出准确的判断并决策的能力是需要经过无数的事情来磨炼的。技术和管理绝不是两个独立的道路,技术会巩固管理,而管理是是发展的必然趋势,所以还是之前那句话,相比于纠结两条路的选择,做好自己角色的转换才最重要的事情。对于我个人来讲,不能说今年做的很好,只能说相比之前有进步,但更重要的是找到了方向。

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Molier 微信支付

微信支付

Molier 支付宝

支付宝