一、管理认知:程序员要不要做技术管理?

系列目录

  • 一、管理认知:要不要做技术管理?https://www.cnblogs.com/anding/p/15491280.html
  • 二、管理规划:目标是什么?https://www.cnblogs.com/anding/p/15507786.html
  • 三、团队建设:怎么带队伍?
  • 四、任务管理:如何跟踪执行?
  • 五、管理沟通:管理的必修课!

0、引言

  管理是一个人综合能力的体现,不管是什么工作、什么岗位,想不想做管理,都非常建议去学一学管理知识。管理是一门实践科学,必须理论和实践相互结合,多练、多思考、多总结,就会逐步形成自己的管理体系框架。

  管理的本质就是对抗熵增,平衡有序、提升效率。管理的核心是人,人有善恶,我们看到很多管理制度是针对各种“恶”,其实善恶是人的两面。管理很多时候是“逆人性”的,人性往往是复杂的,人的天性就是喜欢自由,欲望是人性的弱点。特别是管理靠脑力劳动的创造性行业,很多(约束性)制度是一把双刃剑,除了能够约束部分不规范行为,也能影响创造力。这些就涉及到管理的术与道了,仅有一点浅显的体会,还相差甚远。
  本文主要对是课程《技术管理实战36讲》的学习笔记,结合自己多年不太成熟的管理经验,略有体会,受益良多。做了一点不成熟的总结,课程资料在文末引用资料处。欢迎留言交流!
一、管理认知:程序员要不要做技术管理?_第1张图片

1、要不要学习管理呢?

  对于做IT技术出身的程序员,职业发展方向无非下面几种:

  • 技术类:侧重广度的架构师,侧重深度的技术专家。
  • 管理类:以研发团队为主的技术管理,如项目经理、IT部门经理、CTO等。
  • 创业类:创始人,或者技术合伙人。
  • 其他类,转行外卖、滴滴司机、养猪、继承家业等等各种各样的都有。

  一、管理认知:程序员要不要做技术管理?_第2张图片

  实际上,能做技术架构、技术管理CTO、创业的都是极少数。大多数人还是在金字塔的底层的,对我们自己而言,作为一个有追求的IT人,上面几个方向是确实比较主流、比较靠谱的目标。在职业发展方向上,我们要给自己制定一个目标,并梳理自己的职业规划。无论是技术架构、技术专家,还是技术管理,学习管理知识都是有必要的,技术和管理是两条腿,可以让我们的路走的更远。

  只要身在职场,就不免有个各种沟通协调问题,对客户、对同事、对上级,及对工作,都有管理的需求。不管是否明确要做管理,都是非常有必要学习一下管理知识的。掌握管理思维,具备管理认知,对你的工作、生活,乃至人生规划都是有帮助的。

⚡ 当你学会用“带团队”的思路工作和生活之后,无论你是否拥有“管理者”的头衔,你都将成为身边人事实上的领袖!

  学习管理能力和做管理岗位并没有必然联系,不管个人规划是怎么样的,学习管理是很有必要的!学习管理也能让你更好的去思考自己是否要做管理岗位,从而清晰自己的职业规划。

2、要不要做管理呢?

  在传统行业或者机关单位里,如果想要做管理,都是要经过很长期的培养、考核,晋升周期比较慢。但在IT行业,有不少技术管理是被动的,一些技术好的、责任心强、沟通协调能力好的人就被安排去做管理。这主要原因是IT行业这些年发展太快,公司组织迭代迅速,有大量的管理需求。对于IT技术人来说,“带团队”不再是一个可选项,而是迟早都要面对的事儿。做技术和带团队,更像是职业发展的两条腿,而不是完全叉开的两条路
  从个人经验来看,大多数技术人员确实不太喜欢做管理,包括我个人与也有类似心理。觉得:

  • 管理都是杂事,成就感不强,不像技术开发,解决技术问题、发布版本等都有明显的正反馈,会有很强的成就感。
  • 人本身就是一个很复杂的对象,充满不确定性(可能个人是对人、社会理解浅显),不像技术那样输入输出都有规可循,容易掌控。

  之所有有这些误解,一方面是我们对自身了解不足,另外一方面是是对管理的体系认知非常欠缺,不知道管理该怎么做,要做些什么,有哪些方式方方法
  对于是否要做管理,一定要问自己内心要答案,寻找自己的内驱力,忽略那些外部因素:

  • 在大家眼中做管理是成功的标识,管理一帮人,有面子。
  • 对技术没热情,朋友建议我做管理,做管理也比较轻松。
  • 公司要我带团队,我不好推辞,只能硬着头皮上。

2.1、正确认知管理和他的价值

1、你是否认同管理的价值?
  不同于程序员只管好自己就OK了,管理是要带领团队去创造可以给公司带来收益的价值,从而获得成功,更多是定方向、管组织、跟计划。会有开不完的会、做不完的事、各种协调沟通,确实会有很多很多的“杂事”。
要自我审视,是否认同管理的价值。

2、你是否对管理充满热情,并享受这些工作呢?

  • 如制定团队、项目目标,制定并推动项目计划,并努力去达成愿景;
  • 团队工作流程梳理、体系建设,提升团队效率和战斗力;
  • 关心同事,人才培养,帮助他人成长。

3、你是否看重在管理方面的成长呢?
  管理意味着:

  • 更大的责任,要从团队、公司的利益考虑,最终实现团队的目标。
  • 更立体的视角,更系统的看待问题能力。
  • 更灵活的思维方式,跳出技术思维,扩展更全面的思维。

4、管理的回报

  • 管理可以让你综合能力快速提升,获得成长感
  • 用更大的平台,达成更大的目标,获得更大的成就感
  • 基于个人能力和平台成就,获得更大的影响力,也是个人势能的积蓄
  • 最终,能力、成就、影响力的全面提升,在精神、物质回报会非常丰厚

  总之,不管我们作何选择,要走的长远,不能仅靠外部驱动,要寻找自己的内驱力。

外驱让我们可以做好本职工作,而内驱才能让我们成就卓越!
  这个选择是否更符合“你的初衷”,以及是否更能激发“你投入的意愿”。因为,这两个问题里蕴含着你的价值观、你的核心诉求,以及你的擅长和热爱,这些底层的动力,正是你面对挑战、走向卓越所需要的最重要的东西。

2.2、什么样的人更容易做管理?

  我并不认为必须具备什么样的特质或性格才能做管理,任何人都可尝试去做管理。每个人都不同,可以拥有不同的管理风格,只要有兴趣、有很强的内驱力,都可以去尝试,走出自己的特色。
在工作中,多站在整个团队角度去思考并工作的人,更容易获得管理的机会。不要只关注自己手上的工作,从多个角度、更高的视角去思考和工作。

  • 团队&项目的目标是什么,当前工作计划和和目标的关系,及时发现风险,规划建议,有大局观
  • 多思考总结团队的制度、流程有哪些不足,怎么去改进。能发现问题,更能提出方案并解决。
  • 协助他人,分享知识,为人正直,获得支持。
  • 主动承担责任,为团队争取利益,有担当。

  如果能做到这些,不管做不做管理,都是一个靠谱的团队核心骨干。

  “天时”“地利”“人和”这三类外部因素都具备了(如下图),自然可以更顺利地走上管理岗位。

  一、管理认知:程序员要不要做技术管理?_第3张图片

  • 做管理的“天时”,其实就是机会、时机、大环境、时代背景。
  • 做管理的“地利”,就是你的优势、能力,以及你所负责的工作内容。
  • 管理的“人和”,就是你能否得到他人的支持,如团队领导、同事等。

3、做了管理就要放弃技术吗?

  技术和管理如何兼顾?做了管理是否就会慢慢技术退步呢?做了管理后可能“杂事”比较多,一线编码技术的工作就会被压缩。会因此而焦虑,主要原因:

1、对管理的了解和认识不足,规划不足,担心如果管理做不好后路没了。
2、担心技术跟不上,无法服众,一些具体技术问题上无法指导团队。

  其实做技术管理和单纯的管理是不同的,技术是立身之本,二者是相辅相成,不是对立的。当然也根据管理的层级不同,二者的比例会不同,是负相关的关系,如下图。
一、管理认知:程序员要不要做技术管理?_第4张图片

3.1、正确认知技术和管理的关系。

  1、技术不会放弃,也不能放弃,坚决不可放弃,技术是你的立身之本。保持足够的技术视野和技术判断,只是可能会很少或放弃一线编码,编码=/技术
  2、对技术的学习不能停止,学习的策略和手段要调整,学习技术原理、作用,了解他的技术架构,不局限与某一技术栈。
  3、技术作为一个解决问题的手段,而不是唯一渠道。很多时候购买、合作、招聘、外包都是解决问题的手段。

3.2、站在更高视角使用技术

  对于技术管理者,对技术的关注重点不再是技术开发、技术实现,而是技术架构、技术应用、技术方向,要在这些上面去下功夫。技术实现就是How的问题,技术管理要解决Why、What的问题。
  Why、What就要求有比较高的技术判断能力,对技术的判断评估维度:

  • 结果评估,对结果的考核评估设计,比如做程序员的时候,针对任务“提升页面访问速度”,只管去干就行了。而管理视角要考虑这个任务的结果评估指标,如页面大小、请求次数、压缩比、加载时间等。
  • 可行性评估,能不能做,值不值得做。要评估投入投入的资源,后期维护、升级等各种成本。同时必须评估机会成本(选择了A方案,就意味着放弃了其他的路),这个方向是不是最优的。
  • 风险评估,技术上的风险判断,未雨绸缪去考虑技术上的可能风险问题,及应对措施。

3.3、建立自己的学习方式。

  对于代码开发,如果可以保留更好,工作原因无法兼顾,也不要紧。

1、建立学习机制,构建技术知识体系框架,做好学习规划和学习计划。
2、利用团队来学习,从团队、周围人身上吸取知识。
3、坚持学习,鼓励团队内分享。

  管理锻炼的是综合能力,如果后面发现确实不适合,再选择工程师也是没有任何阻碍的,而且还可以做得更好(思维的提升)!
  所以,无论是做技术管理,还是做技术架构师,开启一条技术升维之路,都在所难免。即便不做技术管理者,要做好一位技术带头人或架构师,工作视角也要做如下的升级:

  • 首先,从目标出发去看待技术。只有目标明确,才能选择最佳的技术方案,做出最好的技术决策。
  • 其次,从评估的角度去看待技术。做工程师的时候,把一个技术方案设计好、实现出来就好了,而做了架构师之后,你需要非常清楚一个技术方案是通过哪些维度来评估其好坏优劣的。并且,当一个技术问题暴露出来之后,得迅速判断会造成什么影响,损失的边界在哪里,有多紧急,以决定要不要放下手头的项目去立一个紧急项目。
  • 最后,从借助自己的技术到借助大家的技术。做技术的时候,了解自己能做什么就好了。但是无论是做管理者还是架构师,你都需要带人做事了,这个时候你就需要熟悉团队里每个人的技术情况,知道谁能胜任做什么事情,适合做什么事,然后借助大家的技术去做事。

4、我能作好管理吗?

  做管理者是否必须性格外向、性格强势?必须擅长吃喝**,和同事打成一片?
  这些都不是重点,不是管理的核心。只能说上面这些特点在某些方面有益,每个人都可以有自己的风格。

我认为所谓管理风格,本质就是你和团队的协作方式,也就是你和团队的“位置关系”,即你站在团队的什么位置。

四类领导力风格,简单概况如下

  1. 指令式管理:重事不重人,关注目标和结果,喜欢发号施令但不亲力亲为,在有需要强执行场景是适用的。
  2. 支持式管理:重人不重事,希望带头冲锋亲力亲为,特别在意团队成员的感受,并替他们分担工作。
  3. 教练式管理:重人也重事,关注全局和方向,并在做事上给予教练式辅导和启发。团队组织、梯队培养。
  4. 授权式管理:不重人也不重事,关注目标和结果,不关心过程和人员发展。

  一个成熟的管理者应该对这四类风格都能有很好的了解和认知,甚至是能驾驭。在不同的阶段、不同的时机、不同的对象采用不同风格的管理模式。

   刚接触管理时,要对自己的岗位、个人能力建立认知。建立自信心,大胆的去尝试,管理本身并没有对错,也没有好或坏,只有是否有效。可以多和有经验的领导沟通,学习管理方面的课程。
  管理是一门实践性很强的学科,要自己不断的实践、不断你的总结和改进,逐步形成自己的管理方法和风格。

 你也许不是那个最强的人,但是你得相信,你是此时此刻做这事儿最合适的人。

  • 第一,你可以通过梳理自己可迁移的能力,提升能力自信;梳理自己具备的能力三核“知识、技能、才干”,把一些技能迁移过来,帮助作好管理。
    一、管理认知:程序员要不要做技术管理?_第5张图片
  • 第二,你可以通过把自己从团队成员的对立面抽离,提升角色自信。你是团队负责人,团队里有很多人在技术上比你更强是正常的,也是好事。作好引导和支持,把团队的才智充分发挥出来。
  • 第三,你可以通过收集外部积极正向的反馈,提升自我认同。这方面对于建立自信是挺好用的,多和上级、协作方沟通,请他们提意见,收集意见并获取肯定的正反馈。这就跟刷手机上瘾的原理一样,就是大量正向反馈导致的。

5、开发到管理的角色转变

  从开发岗到管理岗,最大的挑战是思维方式的转变,两者有比较大的区别。之前做开发,只需要关注任务工作即可。而管理岗要站在团队和项目的全局视角思考和工作,要求会更高,关注的东西更加多维立体。所以对管理岗这个角色有一个全面的了解和认知就非常重要,几个主要的区别:

一、管理认知:程序员要不要做技术管理?_第6张图片

  在这个转变的过程中,要主要避免以下几个常遇到的坑:

  • 过程导向、被动执行。没有站在管理者视角,还是工程师思维,只是做事,执行,没有主动规划,团队缺乏方向、清晰的目标。
  • 大包大揽、唯我最强。包工作、包责任、包功劳,没有正确认知管理岗的职责和定位,缺乏团队建设、个人定位。
  • 带头大哥式的管理,或者保姆式的管理,管理方式不专业,梯度建设不足,团队风险太高。前者太依赖管理者,后者太依赖骨干。
  • 单一视角、固化思维。容易被单一问题卡住,思考解决问题的方式依然是技术思维,认知层次不足,容易被工程师的惯性思维影响,就难以创造性的解决问题。
  • 自扫门前雪、固守边界。要整体考虑,要勇于出承担边界模糊的那部分职责。在任何组织中都有多个部门、多个岗位,他们之间肯定是有一个职责灰色地带,在这个地带就是要大家都多往前走一步,才会衔接好、合作高效。
  • 患得患失,担心技术退步。更宏观的看待技术,扭转对技术的认知,不只是编码才是技术。技术全局不够,技术判断不足,两头不顾,成长不足。

6、管理要干些什么?

一、管理认知:程序员要不要做技术管理?_第7张图片

“科学管理之父”弗雷德里克·泰勒认为,“管理就是确切地知道你要别人干什么,并使他用最好的方法去干。”他关注的焦点在于干什么,以及怎么干,有明显的目标性和方法性,强调“目标”和“做事”。

一、管理认知:程序员要不要做技术管理?_第8张图片

“现代管理学之父”彼得·德鲁克认为,“管理是一种实践,其本质不在于‘知’,而在于‘行’;其验证不在于逻辑,而在于成果。其唯一权威就是成就。”他这个说法的焦点在于实践性和结果性。众所周知,德鲁克是“目标管理理论”的创始人,尤其强调“目标”。

一、管理认知:程序员要不要做技术管理?_第9张图片

当代管理大师斯蒂芬·罗宾斯给管理的定义是:“所谓管理,是指同别人一起,或通过别人使活动完成得更有效的过程。”这个说法的背后蕴含着管理的三个要素:人、过程和有效,用正式一点的词汇叫组织性、过程性和目标性,强调了“带人”“做事”和“目标”

  因此,管理主要就是三件事:人(组织)》过程(做事,干活)》目标(方向,规划)
一、管理认知:程序员要不要做技术管理?_第10张图片

  管理的“三明治”架构图如下图,管理工作中,核心框架便是角色认知管理规划团队建设任务管理管理沟通五个管理要素。

一、管理认知:程序员要不要做技术管理?_第11张图片
  后面内容就针对基本管理架构展开。


附录-引用资料

  • 技术管理实战36讲: https://time.geekbang.org/column/intro/113
    来自极客时间,售价119。音频+文章,36讲,每讲10分钟左右。作者有出书,更推荐买书《知行:技术人的管理之路》,JD定价68。

  • 新晋总监生存指南开篇之总监二三事:https://www.cnblogs.com/yexiaochai/p/14805941.html
    作者是一系列文章,都可以去看看

版权申明:版权所有,本文内容仅供学习,欢迎指正、交流。
博客圆:http://www.cnblogs.com/anding_ 雀语:_https://www.yuque.com/kanding

你可能感兴趣的:(一、管理认知:程序员要不要做技术管理?)