从程序员成为技术领导者:掌握全面解决问题的方法(温伯格)
Posted 禅与计算机程序设计艺术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从程序员成为技术领导者:掌握全面解决问题的方法(温伯格)相关的知识,希望对你有一定的参考价值。
引子
搞定技术问题并不简单,但与人打交道也并非易事。作为一个技术专家,你是否在走上管理岗位时遇到了各种不适"症状"?本书将帮助你成为一个成功的解决问题的领导者。
本文从一个反思者的角度阐述了要成为一个成功的解决问题的领导者必备的3个技能 MOI,即激励(Motivation)、组织(Organization)和创新(Innovation)。同时还提供了一些方法以供读者对上述3个技能进行自我分析和自我完善,最终帮助你走上成功的解决问题的领导者之路。
MOI 模型
保持真诚。
真诚地关心他人。
不要自私。
己所不欲,勿施于人。
专注于目标。
转变。
从“习焉不察”到“日三省吾身”
在生活中,我们大多会有一些自己的习惯和坚持,却习焉不察,从未想过它们是否有道理。
然而,如果需要不断改进自己,就必然需要不断观察和和审视关于自己的一切,包括习焉不察的坚持。对此,温伯格给出的建议是,每天抽一点时间来写日记,不需要抒情, 不需要感慨,忠实记录自己就好。
习焉不察: 《孟子·尽心上》:“行之而不著焉,习矣而不察焉,终身由之而不知其道者,众也。” 习:习惯。焉:语气词,含有“于是”的意思。察:仔细看,觉察。习惯于某些事物,就觉察不出其中的问题。也作“习而不察”。
开始我对此也有些怀疑,觉得写日记不过是小朋友过家家。但真正坚持之后才发现收获很大。因为静下心来写日记让我发现,在生活里,自己真正在乎什么,不在乎什么。有一些东西我很在乎,但成长经历历不同的人并不在乎,所以其他人并不是有意冒犯。还有一些东西我不在乎,却是某个人群样特别在意的,考虑到其他人的感受,以后还是多加小心为好。
改变自己需要的时间
关于改变自己所需要的时间,温伯格的一句话让我印象很深,"如果你想做某件事情却一直找不到时间,那多半是你其实不想做"。
想要改变,尤其是自我改变,通常不会像上级布置的任务那样,有明确的压力和期限,所以改变也停留在"想"而已。
经常可以看到类似的问题:道理我都懂,但就是行动不起来。所以很多人在纠结,希望有什么办法提高行动力。但是在我看来,要解决这个问题,第一步是承认自己其实不想实践这些道理。
如果确认自己想去做这件事情,又苦于找不到时间,温伯格给了三个建议:
第一,对已经分配的任务,不要反复纠结。
第二,对实现过程中的细节,不要反复纠结。
第三,不要让自己的生活被层出不穷的危机所支配。
比如对于"缺乏行动力"的问题,如果你真的希望提升行动力,应该首先制订计划,制订好计划之后应该按时推行,在这个过程中可以容忍错误和异常,但不要轻易纠结于计划本身。
在实现过程中,不要过分纠结细节,比如学英语,捧着一本书刚看了个开头,就纠结是先学语法呢,还是先背单词,抑或开始纠结是这本书更好一点,还是那本书更好一点。更重要的是,要想有时间做自己的事情,应当把一切事情保持在"井然有序"的状态,哪怕平时需要花更多的时间来维护,这样才不会被各种意外所支配。
我曾经见过很多程序员,每天忙于改正线上的各种问题甚至乐在其中, 却从来不想想怎么让程序保持在"自主稳定运行"的状态,还一个劲地抱怨"工作辛苦, 生活忙碌"。也正是因为如此,我才大力提倡程序员要"横向发展",要操心程序运行的整套环境,才能真正把自己解放出来。
人文主义:以人为本
"如何成为技术领导"。温伯格反复强调的根本观点是,人不应当被作为机器对待, 尤其因为技术工作强调思考和创新,所以技术工作者更不应当当被视为机器,而应当被视为“种子” ,蕴含内在力量,会不断发展成熟的种子。
所谓领导力,就是创造一个环境,提供土壤和水分,让所有的人都可以发挥出比单干时更大的价值,并不断成长。
以此为基础,领导力的培养和发挥,需要注意激励、组织和创新这三个方面。
激励
关于领导的激励,已经有很多的论述。不幸,通常的激励似乎是从行为主义心理学的角度出发的,认为简单机械的"奖励/惩罚"就可以对员工起到到引导和归束的作用。但这种理论其实是行不通的。赫兹博格的"激励-保健因子"理论指出,员工在不同的阶段所看重的方面是不同的,简单说员工刚开始更看重的是个人生活、工作环境、薪金福利等"基本因子",满足之后则寻求学习与发展、工作乐趣、成就与肯定等"激励因子",而简单的"奖励/惩罚"在这些方面并不能奏效。更重要的是,因为技术工作的核心之一是创新,简单的"奖励/惩罚"并不能催生创新。按照我的经验,激励的作用更多是树立正确的价值观,这种价值观既符合公司的利益,又兼顾个人的成长,而且且还要能落实到真实的工作中来。
在很多公司,有一些程序员是众望所归的"明星":程序出了了什么问题,找他们可以第一个响应,而且他们可以非常投入地解决问题,哪怕加班加点也无所谓。可是如果仔细思考,这样的程序员有不少就是麻烦的制造者,因为他们写不出高质量的程序,只能以"高度的责任心"在线上除错。而且,这样的程序员往往因为态度好、加班多,受到大量的关注和鼓励。还有一些程序员,他们或许沉默寡言,或许不爱加班,但他们总能提交高质量的程序,上线之后就不需要自己再操心。不幸的是,这样的程序员往往不会获得关注,颁发奖励的时候也轮不上他们。
身为技术人员,很多人都知道这两种做法的优劣,但因为外界(领导)没有明确的褒贬,很多人并不敢坚持自己的选择。所以,如果希望成为好的的技术领导,一定要注重激励的方面。在日常工作中,技术领导应当持续表扬和鼓励能提供高质量程序的行为(哪怕日常不怎么说话),而不是提交质量一般但努力除错的行为。有这种持续的激励,才有可能塑造正确的价值观,给有潜力但还在摇摆、困惑的成员发出清晰的信号,从而打造高质量、迅速成长的团队。
组织
技术领导需要注意的第二个方面是组织。前段时间我和一位读过MBA的朋友聊天,他说很多领导对于招人的定义就是:因为我忙不过来,所以我我需要一个人帮我做这个。他评价说:"其实,这类领导需要的不是员工,而是劳工"。用我的话说,这种组织不叫团队,只能叫团伙。
既然领导力的表现是创造让所有人都能成长,都能发挥更大价值的环境,当然不能把所有人当成可以互相替换的棋子。按照温伯格的意见,好的组织应当是"全面的"(Organic,也可以翻译为"有机的"),也就是可以互相取长补短,形成一股合力。
假设一个团队里没有产品经理,那么虽然客户对产品的要求并不是太高,程序员也有一定的产品意识,交付的软件堪称能用,但技术领导应当看到,关于产品的工作其实消耗了开发人员大量的时间,而且开发人员本身并不"愿意"从事产品方面的工作。所以应当考虑补充产品人员,并让产品和开发协调工作,形成1+1>2的结果,提升整个团队的效率。同样的道理,如果团队里多数开发人员都比较沉闷,在继续招聘开发人员的时候,就应当优先考虑开朗外向的性格。
组织的全面,还体现在一个方面,即它是自组织的,各级的情况和任务可以在对应的级别自动自发地完成。或者用温伯格的话说:"在全面的组织"中每个人都能解决问题,做出决策,执行这些决策。而领导不需要对各种问题亲自出面,亲自做决策,亲自执行"。
这种观点也可以在其他相关书籍中得到验证,例如Uncle Bob就在《程序员的职业素养》中再三强调,团队要有凝聚力。要想打造全面的组织,有凝聚力的团队,温伯格列出了
几种需要警惕的行为,包括:"只抓大目标"(特别强调执行力的领导作风就是如此)、把人当成机器来看待(忽略人的情感和潜力)、事必躬亲(下属不应当仅仅是领导完成任务的手段)、奖励低效的组织(回到价值观的树立),等等。
虽然我们日常工作中无法做到彻底戒除,但只有尽力避免这样的行为,才能真正营造全面的组织,形成有凝聚力的团队。
创新
技术领导需要关心的第三个方面是创新。
许多技术领导本身对技术非常有兴趣,所以他们自己在创新方面是没有问题的。但是身为领导,仅仅自己已创新是不够的。既然相信人不是机器,既然相信软件开发是需要创造力的工作,那么就应应当鼓励每个人的创新,为团队营造勇于创新的气氛。
激励的第一大障碍是各种各样的盲目:不能像其他人那样看待自己。
创新的第一大障碍是看不到自己。
总有更好的办法
There's always a better way.
尽管风格各有不同,解决问题的领导都有一个共同点:
他们都相信,总有更好的办法 (there's always a better way)。
这信念源自何处? 伯特兰·罗素曾说,信念就是相信某物而不不需要证明。尽管解决问题的领导可能是讲逻辑的,他们也不能用逻辑来证明信念。也许它源于他们之前的成功: 聪明的孩子能把坏事变成好事。这种成功强化了孩子对于思维的信念。以这种信念为依托,孩子就更可能想到更聪明的办法,解决下一个问题。熟能生巧,成功带来更大的成功,最终成就了解决问题的领导。
这种自我强化的循环并不适用于所有人。许多孩子从没体验过别人听取自己想法的喜悦,更不用说照自己的办法来解决问题了。之后不久,他们就停止了思考。其中有些人长大之后,反而会制止其他人思考。
领导力 24 原则
个性原则——主动积极、合群友好、开朗坦诚、果断坚毅
分享原则——情感分享、知识分享、成就分享、利益分享
主导原则——主动原则、抓住先机、寻找伙伴、扩大战果
气场原则——避开高压、自创气场、提升高度、反败为胜
愿景原则——清楚使命、明确愿景、坚定信念、激励成员
目标原则——战略制定、分解步骤、目标衔接、战术跟上
判断原则——广泛调研、充分讨论、遵从常识、灵活纠偏
纠错原则——机制监控、交流坦诚、自我批评、及时改正
奖励原则——私下批评、奖励公开、虚实并重、频次得当
人才原则——长期战友、短期利交、用人之长、警惕分裂
团队原则——价值一致、能力多样、跨代结合、充分授权
回避原则——杜绝私事、严防宠信、任人唯贤、远离家族
齐心原则——统一思想、避免派系、内部齐心、外部树信
商道原则——确定大势、弄清优势、厚积薄发、稳步多元
痛点原则——洞察需求、破解痛点、不拘形式、直达关键
专注原则——垂直深挖、集中兵力、甩开对手、形成壁垒
掌控原则——布局掌控、人才掌控、资金掌控、舆论掌控
变革原则——组织变革、模式变革、思维变革、科技变革
底线原则——底线共识、坚持原则、不存侥幸、心安理得
德行原则——问心无愧、知行合一、独善己身、兼济天下
韬光原则——进退有度、沉潜不燥、等待时机、一飞冲天
包容原则——过线必罚、线内包容、广开言路、民主集中
成长原则——读有用书、行成长路、交良师友、做谦虚人
退身原则——奠定文化、布局人才、功成身退、海阔天高
架构设计之道:禅与计算机程序设计艺术
以上是关于从程序员成为技术领导者:掌握全面解决问题的方法(温伯格)的主要内容,如果未能解决你的问题,请参考以下文章