管理认知程序员要不要做技术管理
管理的本质就是对抗熵增,平衡有序、提升效率。管理的核心是人,人有善恶,我们看到很多管理制度是针对各种“恶”,其实善恶是人的两面。管理很多时候是“逆人性”的,人性往往是复杂的,人的天性就是喜欢自由,欲望是人性的弱点。特别是管理靠脑力劳动的创造性行业,很多(约束性)制度是一把双刃剑,除了能够约束部分
管理是一个人综合能力的体现,不管是什么工作、什么岗位,想不想做管理,都非常建议去学一学管理知识。管理是一门实践科学,必须理论和实践相互结合,多练、多思考、多总结,就会逐步形成自己的管理体系框架。
管理的本质就是对抗熵增,平衡有序、提升效率。管理的核心是人,人有善恶,我们看到很多管理制度是针对各种“恶”,其实善恶是人的两面。管理很多时候是“逆人性”的,人性往往是复杂的,人的天性就是喜欢自由,欲望是人性的弱点。特别是管理靠脑力劳动的创造性行业,很多(约束性)制度是一把双刃剑,除了能够约束部分不规范行为,也能影响创造力。这些就涉及到管理的术与道了,仅有一点浅显的体会,还相差甚远。
本文主要对是课程《技术管理实战36讲》的学习笔记,结合自己多年不太成熟的管理经验,略有体会,受益良多。做了一点不成熟的总结,课程资料在文末引用资料处。欢迎留言交流!
1、要不要学习管理呢?
对于做IT技术出身的程序员,职业发展方向无非下面几种:
技术类:侧重广度的架构师,侧重深度的技术专家。管理类:以研发团队为主的技术管理,如项目经理、IT部门经理、CTO等。创业类:创始人,或者技术合伙人。其他类,转行外卖、滴滴司机、养猪、继承家业等等各种各样的都有。实际上,能做技术架构、技术管理CTO、创业的都是极少数。大多数人还是在金字塔的底层的,对我们自己而言,作为一个有追求的IT人,上面几个方向是确实比较主流、比较靠谱的目标。在职业发展方向上,我们要给自己制定一个目标,并梳理自己的职业规划。无论是技术架构、技术专家,还是技术管理,学习管理知识都是有必要的,技术和管理是两条腿,可以让我们的路走的更远。
只要身在职场,就不免有个各种沟通协调问题,对客户、对同事、对上级,及对工作,都有管理的需求。不管是否明确要做管理,都是非常有必要学习一下管理知识的。掌握管理思维,具备管理认知,对你的工作、生活,乃至人生规划都是有帮助的。
⚡ 当你学会用“带团队”的思路工作和生活之后,无论你是否拥有“管理者”的头衔,你都将成为身边人事实上的领袖!
学习管理能力和做管理岗位并没有必然联系,不管个人规划是怎么样的,学习管理是很有必要的!学习管理也能让你更好的去思考自己是否要做管理岗位,从而清晰自己的职业规划。
2、要不要做管理呢?在传统行业或者机关单位里,如果想要做管理,都是要经过很长期的培养、考核,晋升周期比较慢。但在IT行业,有不少技术管理是被动的,一些技术好的、责任心强、沟通协调能力好的人就被安排去做管理。这主要原因是IT行业这些年发展太快,公司组织迭代迅速,有大量的管理需求。对于IT技术人来说,“带团队”不再是一个可选项,而是迟早都要面对的事儿。做技术和带团队,更像是职业发展的两条腿,而不是完全叉开的两条路。
从个人经验来看,大多数技术人员确实不太喜欢做管理,包括我个人与也有类似心理。觉得:
管理都是杂事,成就感不强,不像技术开发,解决技术问题、发布版本等都有明显的正反馈,会有很强的成就感。人本身就是一个很复杂的对象,充满不确定性(可能个人是对人、社会理解浅显),不像技术那样输入输出都有规可循,容易掌控。
之所有有这些误解,一方面是我们对自身了解不足,另外一方面是是对管理的体系认知非常欠缺,不知道管理该怎么做,要做些什么,有哪些方式方方法。
对于是否要做管理,一定要问自己内心要答案,寻找自己的内驱力,忽略那些外部因素:
在大家眼中做管理是成功的标识,管理一帮人,有面子。对技术没热情,朋友建议我做管理,做管理也比较轻松。公司要我带团队,我不好推辞,只能硬着头皮上。
2.1、正确认知管理和他的价值1、你是否认同管理的价值?
不同于程序员只管好自己就OK了,管理是要带领团队去创造可以给公司带来收益的价值,从而获得成功,更多是定方向、管组织、跟计划。会有开不完的会、做不完的事、各种协调沟通,确实会有很多很多的“杂事”。
要自我审视,是否认同管理的价值。
2、你是否对管理充满热情,并享受这些工作呢?
如制定团队、项目目标,制定并推动项目计划,并努力去达成愿景;团队工作流程梳理、体系建设,提升团队效率和战斗力;关心同事,人才培养,帮助他人成长。3、你是否看重在管理方面的成长呢?
管理意味着:
更大的责任,要从团队、公司的利益考虑,最终实现团队的目标。更立体的视角,更系统的看待问题能力。更灵活的思维方式,跳出技术思维,扩展更全面的思维。4、管理的回报
管理可以让你综合能力快速提升,获得成长感用更大的平台,达成更大的目标,获得更大的成就感基于个人能力和平台成就,获得更大的影响力,也是个人势能的积蓄最终,能力、成就、影响力的全面提升,在精神、物质回报会非常丰厚总之,不管我们作何选择,要走的长远,不能仅靠外部驱动,要寻找自己的内驱力。
外驱让我们可以做好本职工作,而内驱才能让我们成就卓越!
这个选择是否更符合“你的初衷”,以及是否更能激发“你投入的意愿”。因为,这两个问题里蕴含着你的价值观、你的核心诉求,以及你的擅长和热爱,这些底层的动力,正是你面对挑战、走向卓越所需要的最重要的东西。
2.2、什么样的人更容易做管理?我并不认为必须具备什么样的特质或性格才能做管理,任何人都可尝试去做管理。每个人都不同,可以拥有不同的管理风格,只要有兴趣、有很强的内驱力,都可以去尝试,走出自己的特色。
在工作中,多站在整个团队角度去思考并工作的人,更容易获得管理的机会。不要只关注自己手上的工作,从多个角度、更高的视角去思考和工作。
团队&项目的目标是什么,当前工作计划和和目标的关系,及时发现风险,规划建议,有大局观多思考总结团队的制度、流程有哪些不足,怎么去改进。能发现问题,更能提出方案并解决。协助他人,分享知识,为人正直,获得支持。主动承担责任,为团队争取利益,有担当。
如果能做到这些,不管做不做管理,都是一个靠谱的团队核心骨干。
“天时”“地利”“人和”这三类外部因素都具备了(如下图),自然可以更顺利地走上管理岗位。
做管理的“天时”,其实就是机会、时机、大环境、时代背景。做管理的“地利”,就是你的优势、能力,以及你所负责的工作内容。管理的“人和”,就是你能否得到他人的支持,如团队领导、同事等。3、做了管理就要放弃技术吗?
技术和管理如何兼顾?做了管理是否就会慢慢技术退步呢?做了管理后可能“杂事”比较多,一线编码技术的工作就会被压缩。会因此而焦虑,主要原因:
对管理的了解和认识不足,规划不足,担心如果管理做不好后路没了。担心技术跟不上,无法服众,一些具体技术问题上无法指导团队。
其实做技术管理和单纯的管理是不同的,技术是立身之本,二者是相辅相成,不是对立的。当然也根据管理的层级不同,二者的比例会不同,是负相关的关系,如下图。
3.1、正确认知技术和管理的关系。
1、技术不会放弃,也不能放弃,坚决不可放弃,技术是你的立身之本。保持足够的技术视野和技术判断,只是可能会很少或放弃一线编码,编码=/技术
2、对技术的学习不能停止,学习的策略和手段要调整,学习技术原理、作用,了解他的技术架构,不局限与某一技术栈。
3、技术作为一个解决问题的手段,而不是唯一渠道。很多时候购买、合作、招聘、外包都是解决问题的手段。
3.2、站在更高视角使用技术对于技术管理者,对技术的关注重点不再是技术开发、技术实现,而是技术架构、技术应用、技术方向,要在这些上面去下功夫。技术实现就是How的问题,技术管理要解决Why、What的问题。
Why、What就要求有比较高的技术判断能力,对技术的判断评估维度:
结果评估,对结果的考核评估设计,比如做程序员的时候,针对任务“提升页面访问速度”,只管去干就行了。而管理视角要考虑这个任务的结果评估指标,如页面大小、请求次数、压缩比、加载时间等。可行性评估,能不能做,值不值得做。要评估投入投入的资源,后期维护、升级等各种成本。同时必须评估机会成本(选择了A方案,就意味着放弃了其他的路),这个方向是不是最优的。风险评估,技术上的风险判断,未雨绸缪去考虑技术上的可能风险问题,及应对措施。3.3、建立自己的学习方式。对于代码开发,如果可以保留更好,工作原因无法兼顾,也不要紧。
建立学习机制,构建技术知识体系框架,做好学习规划和学习计划。利用团队来学习,从团队、周围人身上吸取知识。坚持学习,鼓励团队内分享。管理锻炼的是综合能力,如果后面发现确实不适合,再选择工程师也是没有任何阻碍的,而且还可以做得更好(思维的提升)!
所以,无论是做技术管理,还是做技术架构师,开启一条技术升维之路,都在所难免。即便不做技术管理者,要做好一位技术带头人或架构师,工作视角也要做如下的升级:
首先,从目标出发去看待技术。只有目标明确,才能选择最佳的技术方案,做出最好的技术决策。
其次,从评估的角度去看待技术。做工程师的时候,把一个技术方案设计好、实现出来就好了,而做了架构师之后,你需要非常清楚一个技术方案是通过哪些维度来评估其好坏优劣的。并且,当一个技术问题暴露出来之后,得迅速判断会造成什么影响,损失的边界在哪里,有多紧急,以决定要不要放下手头的项目去立一个紧急项目。
最后,从借助自己的技术到借助大家的技术。做技术的时候,了解自己能做什么就好了。但是无论是做管理者还是架构师,你都需要带人做事了,这个时候你就需要熟悉团队里每个人的技术情况,知道谁能胜任做什么事情,适合做什么事,然后借助大家的技术去做事。
4、我能作好管理吗?做管理者是否必须性格外向、性格强势?必须擅长吃喝**,和同事打成一片?
这些都不是重点,不是管理的核心。只能说上面这些特点在某些方面有益,每个人都可以有自己的风格。
我认为所谓管理风格,本质就是你和团队的协作方式,也就是你和团队的“位置关系”,即你站在团队的什么位置。
四类领导力风格,简单概况如下:
指令式管理:重事不重人,关注目标和结果,喜欢发号施令但不亲力亲为,在有需要强执行场景是适用的。支持式管理:重人不重事,希望带头冲锋亲力亲为,特别在意团队成员的感受,并替他们分担工作。教练式管理:重人也重事,关注全局和方向,并在做事上给予教练式辅导和启发。团队组织、梯队培养。授权式管理:不重人也不重事,关注目标和结果,不关心过程和人员发展。
一个成熟的管理者应该对这四类风格都能有很好的了解和认知,甚至是能驾驭。在不同的阶段、不同的时机、不同的对象采用不同风格的管理模式。
刚接触管理时,要对自己的岗位、个人能力建立认知。建立自信心,大胆的去尝试,管理本身并没有对错,也没有好或坏,只有是否有效。可以多和有经验的领导沟通,学习管理方面的课程。 管理是一门实践性很强的学科,要自己不断的实践、不断你的总结和改进,逐步形成自己的管理方法和风格。
你也许不是那个最强的人,但是你得相信,你是此时此刻做这事儿最合适的人。
第一,你可以通过梳理自己可迁移的能力,提升能力自信;梳理自己具备的能力三核“知识、技能、才干”,把一些技能迁移过来,帮助作好管理。第二,你可以通过把自己从团队成员的对立面抽离,提升角色自信。你是团队负责人,团队里有很多人在技术上比你更强是正常的,也是好事。作好引导和支持,把团队的才智充分发挥出来。第三,你可以通过收集外部积极正向的反馈,提升自我认同。这方面对于建立自信是挺好用的,多和上级、协作方沟通,请他们提意见,收集意见并获取肯定的正反馈。这就跟刷手机上瘾的原理一样,就是大量正向反馈导致的。5、开发到管理的角色转变从开发岗到管理岗,最大的挑战是思维方式的转变,两者有比较大的区别。之前做开发,只需要关注任务工作即可。而管理岗要站在团队和项目的全局视角思考和工作,要求会更高,关注的东西更加多维立体。所以对管理岗这个角色有一个全面的了解和认知就非常重要,几个主要的区别:
在这个转变的过程中,要主要避免以下几个常遇到的坑:
过程导向、被动执行。没有站在管理者视角,还是工程师思维,只是做事,执行,没有主动规划,团队缺乏方向、清晰的目标。大包大揽、唯我最强。包工作、包责任、包功劳,没有正确认知管理岗的职责和定位,缺乏团队建设、个人定位。带头大哥式的管理,或者保姆式的管理,管理方式不专业,梯度建设不足,团队风险太高。前者太依赖管理者,后者太依赖骨干。单一视角、固化思维。容易被单一问题卡住,思考解决问题的方式依然是技术思维,认知层次不足,容易被工程师的惯性思维影响,就难以创造性的解决问题。自扫门前雪、固守边界。要整体考虑,要勇于出承担边界模糊的那部分职责。在任何组织中都有多个部门、多个岗位,他们之间肯定是有一个职责灰色地带,在这个地带就是要大家都多往前走一步,才会衔接好、合作高效。患得患失,担心技术退步。更宏观的看待技术,扭转对技术的认知,不只是编码才是技术。技术全局不够,技术判断不足,两头不顾,成长不足。6、管理要干些什么?“科学管理之父”弗雷德里克·泰勒认为,“管理就是确切地知道你要别人干什么,并使他用最好的方法去干。”他关注的焦点在于干什么,以及怎么干,有明显的目标性和方法性,强调“目标”和“做事”。
“现代管理学之父”彼得·德鲁克认为,“管理是一种实践,其本质不在于‘知’,而在于‘行’;其验证不在于逻辑,而在于成果。其唯一权威就是成就。”他这个说法的焦点在于实践性和结果性。众所周知,德鲁克是“目标管理理论”的创始人,尤其强调“目标”。
当代管理大师斯蒂芬·罗宾斯给管理的定义是:“所谓管理,是指同别人一起,或通过别人使活动完成得更有效的过程。”这个说法的背后蕴含着管理的三个要素:人、过程和有效,用正式一点的词汇叫组织性、过程性和目标性,强调了“带人”“做事”和“目标”。
因此,管理主要就是三件事:人(组织)》过程(做事,干活)》目标(方向,规划)
管理的“三明治”架构图如下图,管理工作中,核心框架便是角色认知、管理规划、团队建设、任务管理和管理沟通五个管理要素。
后面内容就针对基本管理架构展开。
作者:安木夕
来源:https://www.cnblogs.com/anding/p/15491280.html
文章评论