我们都知道技术开发,到了一定的工作年龄后,都会考虑转技术管理,有些会很成功,有些会完全不适应。开发做了技术管理才明白做技术管理有多不容易。
我们提到过优秀开发需要的能力涉及到基础能力,包括记忆力,想象力,空间力。
记忆力,主要是过去编程语法,框架及工具使用方法的积累;
想象力,主要是对项目遇到的技术问题的预判能力;
空间力,主要是对系统架构的感知。
一个优秀开发想要成为一名架构师,就需要优秀的空间力。
技术管理者需要处理的技术内外的各方面,工作内容比开发要多很多。
技术外的能力不是我们讨论的重点,本文重点: 开发和技术管理者在技术内能力上的本质差别是全局逻辑和推理。
技术中上的每个位置都有不同的作用,大部分优秀的开发只需要擅长某些方面。比如,C罗可以锋线上披荆斩棘,但控球组织上,就可以不需要;库里三分神准,但抢篮板可能不擅长了;罗德曼擅长抢篮板,控球组织差一点等等。
一名优秀开发,只要做好自己的本职并达到优秀就行了,最重要的是执行到位。不同模块的开发成员如何串联,实际工作中,不是他首要考虑的任务,他在某个技术项目中的任务是有限的。
比如,阿根廷队在决赛前布置一个战术,最终目的是为了让迪玛利亚冲击法国队左路,然后大家执行了,最终能否成功?取决于球员的执行能力,更取决于教练对此战术布置过程中的沟通和推理是否准确。假如战术设计出错,球员执行后无法达到目的。
技术管理者不能只考虑局部,需要站在业务中技术的全局的视角考虑不同的服务,而系统的每个服务都有各自的联系。
比如,阿根廷队目前简单粗暴的战术思路: 进攻时,将球传给梅西,防守端,帮梅西分担防守任务,但在这个战术的执行中,就需要有阿根廷队的其它球员配合。怎么配合?如果梅西被包夹了怎么办?这是需要教练员,提前构思和任务布置,并且在日常训练中不断演练。
只要是团队的项目,任何技术方案设计的落地都需要严格的逻辑和推理,仅靠单个人本身的能力是不行的。
所以,如果我们想从优秀的开发转型为一名优秀的技术管理者,就需要我们在平时的工作中,不断的训练沟通和全局推理能力。