当前位置: 首页 > 科技观察

从技术管理的迷茫,看IT人的中年危机是如何破解的

时间:2023-03-12 16:34:32 科技观察

作为一个老技术人,今天不聊技术,谈谈技术人员的职业发展:对技术管理岗位的认知,如技术总监。先贴一张技术人员的职业发展路线图,按照管理路线和技术路线划分。国外的管理路线和技术路线的职位会根据ITManager和TechLead来区分。但在中国,其实并没有纯粹的管理路线,在管理岗位上肯定有具体的技术工作要求。今天我就来说说我对“技术总监”岗位职能需求的理解。我理解技术总监的权责范围应该包括:技术工作管理工作,分为人员管理(即团队管理)和项目管理。广度,而在管理工作中,更多的是考验一个技术经理协调复杂人和事的能力。1.技术工作对于一个优秀的技术人员,他应该具备以下三种技术能力:关键技术能力架构设计能力工程管理能力技术经理首先应该是一名优秀的技术人员,他必须能够在这三种技术之间轻松游移能力。1、关键技术能力也可以理解为攻克技术难点。我在朋友圈看到包括饿了么CTO张雪峰、钉钉CTO易速等在内的朋友圈,在团队面前现场编码演示,解决一些棘手的场景。技术经理不需要写代码,但在一些高风险的技术场景中,技术经理必须能够亲自上阵,以免在团队成员解决不了“甩锅”的时候接不上.而且,了解团队的代码情况,融入到团队的代码编写中,也有利于系统架构的把控。此外,作为示范代码,管理者可以更好地树立自己在团队中的威信。2、架构设计能力当我们谈到架构设计时,一般指的是“技术架构”和“业务架构”。脱离业务架构的技术架构肯定不会成功。这就需要技术经理对业务有很好的理解。而且,架构设计不仅仅指会画架构图,会写架构文档,会把流行的技术堆在图纸上;一个没有在建筑工地上跑过的建筑设计师,肯定建不出好的建筑。反之,技术人员不做架构设计就想写出好的系统,不是天才就是天才。架构的设计应该更好地考虑运行效率、业务扩展/弹性、特殊场景下的子模块管理等。如果做不到这一点,系统会随着业务的进行越来越冗余,最终你会发愁如何“解耦”。“重构”往往是在这样的场景下被提出来的,这是对系统的重要组成部分和业务有害的选择。因此,作为技术总监,需要有大视野来组织模块和架构,避免早期设计缺陷导致的痛苦的后期“重构”。3、工程管理能力很多人对“工程管理能力”感到陌生。如果我把这个分成“性能”、“运维”和“效率”,大家就明白了。我们认为工程管理能力与稳定性和效率的关系更大。在小团队中,工程管理能力的价值往往得不到体现,但到了大团队中,大团队的运行稳定性和效率就会成为突出问题。这主要包括持续优化的能力和使用工具的能力,需要更加贴近流程管理和业务理解,小而琐碎的东西也比较多。我见过很多技术经理,本来是开发出身的,但是升到经理的位置后,运维之类的东西都要懂。这些都属于工程管理能力的范畴。2、管理工作对于一个优秀的技术经理来说,除了具备这三种技术能力外,还应该具备团队管理能力和项目管理能力。1.团队管理团队管理,即人员管理。许多技术人员讨厌管理工作。一个一直和机器打交道,没有脾气和情绪的技术人员,要应付千思万想的人的管理,听起来确实是一个挑战。但是你要知道,管理的目的是为了实现组织的目标,最重要的是制定管理标准,执行并验证结果。而这些不一定要由管理者自己来完成。我们在组织建设上强调团队的建立,可以安排一些擅长这方面的人作为“副主任”甚至“项目经理”、“助理”存在。我认为一个技术总监应该把30%——40%的精力放在团队的管理上,主要包括以下几个方面:技术人员的绩效考核KPI一直是个千古难题,热度不减。难点在于技术人员的工作质量难以量化,受不可控因素影响太大。我觉得技术人员的绩效指标可以达到两个目的,一个是把可量化的东西量化,一个是鼓励他的积极性。所谓可量化事物的量化,我们通常认为是量化时间进度或者bug数量、项目数量等。但也可以把能保证“质量”的因素模块化,按模块量化。当然,这个要求比较高。因为所谓的质量保证模块,需要技术总监来确定,至少是建议性的,而不是留给技术人员自己去设置,比如设置必须完成的单元测试指标和质量监控指标。很多人会问,技术人员的考核指标中是否需要设置业务指标。我觉得在业务比较稳定的情况下是可行的。业务指标可以帮助技术人员更好地理解大团队的目标,知道技术价值在业务环节的体现,更好地发挥自己的主动性。组织架构设计和人员招聘我觉得组织架构设计跟团队的效率和能力关系比较好,包括增删岗位,扁平化结构还是梯度结构,什么样的人放在什么样的岗位上.这也是管理者应该明白的一大教训。招聘方面,我只想说,对于技术总监,关键岗位要搞定,一般岗位可以找manager招聘,但不要小看招聘。在团队中找到能力高于平均水平的人,是一个团队走远的基础。我更关心阶梯人员的培养,就像我不认为一个人的成长是顺其自然,我认为每个人的成长都受到重要的人和事的影响。环境对于一个人的成长非常重要。我们应该尽量创造一个可持续发展的环境,包括以下三点:CodeReview,我觉得是有必要的。在技??术团队内部对技术方案的评审中,最好的学习往往来自于把工作做好。对外学习和听课,最怕坐井观天。我害怕被时代抛弃。不要执着于你的工作,而是想象未来的世界和你的位置。跨部门的沟通与协调对于技术总监来说,除了处理内部事务外,外部事务也需要一定程度的协调与沟通。但我不建议把更多的时间花在对外的会议和沟通上。更多的沟通是跟进项目,项目负责人可以跟进并反馈。你只需要协调别人不要的资源,你当然可以来,大部分原因是因为你在公司的威望,你给过别人的帮助。2.项目管理项目管理就是对事物的管理。很多公司都会设置项目经理的角色,技术总监不用太担心这个;但另一方面,每个技术人员同时也扮演着项目经理的角色,技术总监必须是最好的项目负责人。项目相关的事情会比较琐碎,但是可以根据项目负责人分配。技术总监需要的是指定负责人,介入项目计划和进度,在项目进度遇到阻力时解决问题。主要包括两个方面:项目进展:项目评审,确定项目计划;查看进度,进度延迟预警;项目验收及总结;资源协调:人员协调,包括项目组人员和编外人员的支持;IT设施协调,包括硬件、软件系统等,公司内部资源和外部资源。3、写在***有句话说,领导就是拿别人得不到的资源,做别人不能做的决定,承担别人不能承担的责任。但是,我想说,技术经理更难。技术管理者首先要有敬业精神,然后才是领导力。他们需要医者仁心,而不是简单粗暴的工厂管理。我也不同意很多人认为随着时间的增长,技术人最终会成为技术管理者。否则,“中年危机”从何而来?不是时间的积累,就能得到质的改变。我身边也有很多技术经理经常感叹:“感觉自己做技术总监,以后累死了”。我只想说,从技术能力的增长,到复杂事物管理能力的增长,到远见和决策能力的增长。成长,这是一个技术人员从程序员到中层管理人员(技术总监)再到高层管理人员(CTO)的能力。如果你觉得累了,也许你应该多出去看看。毕竟有些东西是通过学习获得的,有些东西是通过多旅行和多交际获得的,比如情商和眼界。见得多了,就知道如何应对了。.