热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

如何从一名“普通码农”成长为技术Leader?

转载自:https:mp.weixin.qq.comsPU18nj59xUPO-GySR3--MQ“有一个非常有趣的现象:据说大部分的技术管理者&#

转载自:https://mp.weixin.qq.com/s/PU18nj59xUPO-GySR3--MQ

有一个非常有趣的现象:据说大部分的技术管理者,在从程序员转为管理岗位的时候,都是在领导或公司的要求下,被动的推到管理岗位上的,并非是自己当初有强烈意愿、主动去选择管理岗。

 

这种被动的比例还不低,竟然高达 80% 以上,这个现象从我自己身边的同事中也可以感受到。

 

最近两年我接触到的四五位新晋的技术管理者,全是因为技术/项目做得好,被上级提拔到管理岗,几乎没有人是因为具备了管理技能后主动去选择,其实包括曾经的我也是这样走过来的。

 

这里,我们不讨论这种普遍现象是否合理,我们先来看看这种晋升方式会带来什么样的结果。

 

既然有这么多人是「被动」的成为技术管理者的,那可以想象,在这些人刚步入管理岗位的时候,对管理知识的了解会是多么的薄弱,对即将要开展的管理工作会多么的心虚和纠结。

 

甚至有些人,因为刚开始进行管理工作的不顺利,导致对自己能力的质疑,对技术管理岗位的排斥。

 

所以这也说明了很多程序员刚晋升为管理后,内心其实是痛并快乐着的。针对这个现象,应该怎么办呢?

 

这里,我就以「过来人」的工作经验,结合近期读到的「刘建国老师」的一些管理理念,计划从一名新晋的技术管理者角度出发,来聊一聊我们应该怎么走好初入管理岗的这段路,希望能给管理新人们一些启发。

我适不适合去做一名技术管理者呢?

 

很多初入管理岗的同学,可能会有这样一些内心的纠结:

  • 「我没有做过管理,不知道自己能不能做得好?有点胆怯」

  • 「是公司领导安排我做技术管理的,我也不知道自己适不适合?更不知道对自己职业是好还是坏?有点焦虑」

  • 「晋升管理岗会给我带来工资福利和职位的提高,这是我很想要的。但我不知道管理这条路自己是否真的喜欢?有点迷茫」

  • ……

 

其实对于一名新晋管理者,或者想要步入管理岗的同学来说,有这些纠结和不安也是正常现象。

 

要解决这些问题,首先你得问问自己的内心:你为什么要去做一名技术管理者,你对管理工作所需的 投入要求/意愿 以及 带来的回报 都清楚了吗?

 

对管理工作的投入要求/意愿

 

认可管理工作的价值

 

我们都知道,在日常的管理中会有很多的「繁琐的」、「协调性」、「打杂的」的工作需要做。

 

例如:协调资源、跟进项目、管理进度、员工面谈、绩效考评、开会沟通、邮件汇报、研发流程、关注项目和人员问题等等。

 

这些工作在有的人看来就是打杂,觉得很没有价值,没有写牛逼的代码来得高大上。

 

而在有的人眼中却非常认可这些工作,觉得能给自己带来多方位的素质提升。那么,在你眼中,你是怎么看待这些工作的呢?

 

对管理工作发自内心的兴趣

 

很多管理工作并非一定要你到达管理岗位后才能做的。在你还是一名普通程序员的时候,在你还是团队技术骨干的时候,如果你真的对技术管理有兴趣,那么这些「管理」工作已经在你的日常工作中无形的开始了。

 

例如:关注项目整体进度、了解项目目标、推进项目流程、关心身边的同事成长、优化研发与协作方式等等。

 

那么,你是否发自内心的对这些无形中的「管理」工作感兴趣呢?

 

愿意去提升管理能力

 

一旦从纯粹的技术岗转到管理岗,你可能需要面临很多管理技巧上的挑战,甚至还有很多在思维和认知上的颠覆。

 

例如:首先,管理工作已经不再像敲代码一样非 0 即 1 了,管理工作中有很多中间态,不确定的因素,这些往往是对程序员之前习惯性思维的一个很大的冲击。

 

其次,之前敲代码是与计算机打交道,转为管理之后,会花更多的时间与人打交道,与上司、与平级、与下属、与跨部门协作等等。

 

另外,管理者会承担更多更大的责任,需带领团队穿山越岭实现公司的最终目标,这些压力也是作为程序员时候所没有的。

 

你愿意为此方向重构自己,提升自己的管理思维和能力吗?你做好这个准备了吗?

 

管理工作带来的回报

 

你拥有了一个团队

 

步入管理岗之后,你就不是一个人在战斗,你拥有了一个团队,基于团队,你可以做出更大的成就。

 

以前你的成绩可能就是技术做的好,代码写的好,而转入管理开始带团队之后,你可以和团队一起搞定更复杂的任务,做出更大的成绩。

 

能力、视野、影响力 都会得到显著提升

 

除了技术能力,你还获得了管理能力、领导力,你看待问题的视角不再是程序员思维了,会有更高的视野。由于团队间的协作,你还能获得更大的个人影响力。

 

物质的回报

 

这是非常现实的,看得见摸得着的回报。

 

好了,上面已经将一名技术管理者所需的要求和回报都简单捋了捋。作为程序员的你,可以对照一下,然后问问内心的自己是否真的合适。

 

如果你觉得没有问题,那咱们就继续来看看,一般有那些机会可以帮助我们成长为技术管理者。

有哪些机会能使我成为一名技术管理者?

 

首先,「管理比技术更需要机会」,我们做程序员的,都非常勤奋,挑灯熬夜的干活学习都是平常事,而且技术这东西也确实很公平,你不断的努力去研究去学习,迟早会提高一个层次,无非是不同人不同时间的问题。

 

但是做管理呢,并不是这样。要想成为一名技术管理者,勤奋必不可少,然而其中的机会也很重要。

 

在职场上,经常有遇到这样的现象:

  • 「你的能力非常不错了,可是团队中没有管理的空缺了」

  • 「你是团队中技术最好的一个,可是管理岗却安排给了别人」

  • ……

 

可以发现,这里面除了你个人的条件以外,外部的「机会」因素相当重要。

 

想成为技术管理者,那我们应该抓住那些潜在的机会呢?

  • 快速发展的公司最有机会,这类公司经常会建立新的项目新的团队,需要很多技术管理者。

  • 耐心积攒能力,掌握核心技术的人会更有机会,厚积薄发的道理人人都懂。

  • 手上负责的项目属于基础性、全局性、跨部门协作工作多的业务相对来说机会会多一些。

  • 在平时的工作中,经常得到上级认可、甚至上级能支持你转管理,这类人等待的就是一个契机。

  • 身边有管理能力较好的导师朋友来解惑帮助的人也会更容易把握机会。

 

最后就是,当你还不是管理岗,但你却已经在团队中做着技术管理者应该做的事情的时候,你最有机会。

 

在互联网公司中,很多管理岗的晋升不是给予的,更多是对既定事实的追认。

技术和管理应该怎么去平衡?

 

从一名程序员晋级为技术管理者之后,很多人的内心多多少少都存在这样一些顾虑:

  • 「每天管理的工作越来越多,留给自己研究技术的时间却越来越少,时间一长,我会不会慢慢脱离技术了」

  • 「写代码的时间变少了,对很多技术细节也没有以前敏感了,感觉自己离技术老本行越来越远,内心越来越发虚」

  • 「脱离了一线编码,心里空落落的,很担心自己的职业发展」

  • ……

 

其实有这些顾虑也无妨,这也是大多数新晋技术管理者都会遇到的问题。但是,我们来想想,为什么这些问题在新管理者面前这么普遍呢?

 

主要原因还是因为新晋的技术管理者大多都是程序员出身,一直以来都是靠一线的编码技术能力去打江山混名声的。

 

突然之间转为管理了,既担心把「技术」丢了没了退路,又对「管理」应该要做哪些事情、如何把「管理」做好,如何重新依靠「管理」这项能力去打江山混江湖还不熟练。

 

正处于青黄不接的时期,自然而然就会觉得焦虑不安了。那这些顾虑有解吗?有的。

 

要明白「放弃编码,不代表放弃技术」

 

转做技术管理之后,我们只是减少了编码的时间,并不是放弃了技术,事实上,作为一名技术人,我们永远永远也不能放弃技术。

 

但也千万不要把「编码能力」与「技术能力」之间划上等号。技术能力是可以更多的关注应用,但并不一定需要时时关注实现细节。

 

就像部队打仗一样,作战指挥官需要了解陆军、空军、海军等不同军种的优劣势,需要了解军舰、坦克、导弹等不同作战武器的最佳特性,才能部署出最佳的作战方针,统筹全局打胜仗。

 

但是他并不需要了解军舰具体怎么开、坦克具体怎么驾驶。另外,当你还是一名程序员的时候,编码可能就是你的全部实现。

 

而当你成为一名技术管理者的时候,技术就应该是你的工具,你应该站在更高的视野去看待技术的价值,技术是为最终的目标而服务。

 

要保持对技术的评估能力

 

上面提到了「技术能力」并不等于「编码能力」,抛开一些非核心能力的话,可以简单点理解为「技术能力」=「编码能力」+「技术评估能力」。

 

当我们还是程序员的时候编码能力是我们最为注重的,但当我们转技术管理之后,技术评估能力就应该成为我们的重点,编码能力在精力有限的情况下是可以放弃的。

 

技术评估能力主要是指我们通过自己的技术认知,去评估一个项目/开发任务要不要做、值不值得做、做到什么程度,技术方案边界在哪儿、技术选型用什么、可用性/拓展性方案是什么等等,甚至是对团队人员技术水平的边界评估。

怎样才能保持技术评估能力,以及怎样能不断增长自己的技术评估水平呢?作为技术管理者而言,很明显,已经不能通过大量编码的方式去提高技术能力了。

 

只能依赖于:自己以往技术经验的积累、团队的技术分享、技术调研、与同行专家交流、培训学习等方式。这些方式有的时候会比编码的方式更快更有效率。

 

技术管理是多样性的,你总会找到一条你自己的路

 

我们要明白,技术管理并没有固定的模式,有的技术老大做着做着就往商业方向靠了,比如雷军这类。

 

有的技术老大无论做到多高的级别,带几百上千人的团队,却依旧非常关注技术日常。每个人的技术管理风格不同,但最后都会找到一条自己风格的管理之路。

 

即使最后你发现自己不喜欢做管理了,想转回做技术架构师或创业,你通过管理获得的这些经验能力和视野,对你的其他道路依旧会有莫大的帮助。

 

技术管理能力是每一个程序员都需要的技能

 

技术管理是一项能力,并不是一个职业。它是每一个技术同学在成长过程中,都应该去学习和具备的能力。

 

无论你以后是走管理道路,还是做职业经理人、技术专家、架构师、创业,你都需要具备技术管理者应具备的团队管理能力、技术视野、技术规划能力、项目管理能力、沟通协调能力。

 

因此,你还需要有顾虑吗?反正无论如何你都得会一点嘛。

 

以上,就是对新晋的技术管理者如何解决初入管理岗时纠结心路的学习与分享,希望能给新步入管理岗的同学们一些启发。


推荐阅读
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 从高级程序员到CTO的4次能力跃迁!如何选择适合的技术负责人?
    本文讲解了从高级程序员到CTO的4次能力跃迁,以及如何选择适合的技术负责人。在初创期、发展期、成熟期的每个阶段,创业公司需要不同级别的技术负责人来实现复杂功能、解决技术难题、提高交付效率和质量。高级程序员的职责是实现复杂功能、编写核心代码、处理线上bug、解决技术难题。而技术经理则需要提高交付效率和质量。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
  • 五、RabbitMQ Java Client基本使用详解
    JavaClient的5.x版本系列需要JDK8,用于编译和运行。在Android上,仅支持Android7.0或更高版本。4.x版本系列支持7.0之前 ... [详细]
  • 浅析对象 VO、DTO、DO、PO 概念
    作者|CatQi链接|cnblogs.comqixuejiap4390086.html前言由于此订阅号换了个皮肤,导致用户接受文章不及时。读者可以打开订阅号「Web项 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有