我们必须承认技术和管理所面临的问题、所需要的性格和能力皆是不同。
虽然有的时候管理也被认为是一种技术,但我们更愿意把直接贡献于软件产品的工作称之为技术,而把通过协调沟通等手段间接贡献于软件产品的工作称之为管理。
从先天性格来看,有的人天生适合做管理多一点,有的人天生适合做技术多一点。
比如说:
有的程序员天生有点被动,不喜欢主动学习很多东西,不喜欢与人沟通,但对工作所直接关联的领域研究较深,做事情兢兢业业,一丝不苟。
有的程序员生活的比较被动,安排的事还能努力去做,但很难主动去做什么。
有的程序员非常聪明,理解东西很快,但不愿意搭理别人,总感觉别人水平比较差,脾气也比较暴躁。
有的程序员精力充沛,对技术狂热,但并不仅局限于技术本身,有大局观。有理想,能坚持。
单从性格而论前三者都不太适合做管理工作的,一旦做了管理工作,接触各种性格的人,容易造成人际关系紧张,反倒对自己形成一定的压力,所以首先需要考虑的还是要顺应自己的性格。
但这里有一个关键的问题,即收入差异。
我们不能否认一个事实,似乎在很多的公司中管理职位才可能获得较高的收入,而技术岗位则收入偏低。
这似乎不太公平,但也确实是现实,这和公司所提供的环境有绝大的关系。
当一个公司的核心技术并没有创生多大价值,而是需要靠人力规模来支撑业务的时候,那么就必然是这种局面。
极端来讲,在盖楼的时候,只要达到基本的质量,一个人每天砌200块砖,固然比砌100块要好的多,但相对与大楼而言,多砌100块砖,所多带来的价值有限。再进一步由于每块砖的价值是固定的,同时一个人每天所能砌的砖也是有限度的,这就会导致砌砖工人,不管多么努力,其收入水平必然会被限制到某一水平之下,只要他的工作还只是砌砖。这种限度是由这一工作的内涵所决定的。
当然也远不是每个公司都是如此,就和多大池子可以养多大的鱼一样,有核心产品,核心技术的公司情形会不一样。比如说:Google,微软这类公司。
与此同时,管理工作似乎被无限美化了,每个人都认为管理工作似乎是一条金光大道,但这并不完全正确。
管理工作的可流动性可能会非常低,这取决于管理工作的几个特质:
管理工作和人打交道比较多,所以对人员的特质有很强的依赖性。如果一个团队非常像机器人,那么在不同公司间管理技能是完全通用的---只有PMP,CMMI这类东西就够了。
但关键问题是人员的特性是多样的,这导致管理人员和被管理人员需要较多的磨合和适应。同时长时间在管理岗位的话,即使是做技术出身,技术能力也会退化,沟通技能,与上级的信任程度反倒会提高。而这些东西,一旦被归零,到一家新的公司,其价值并不明显。反倒不如擅长算法,擅长某类业务的技术人员可流动性好。
这也就意味着,管理人员往往与公司的利益绑定的更紧。
既然管理和技术各有利弊,反过来讲恐怕还是适应自己性格更关键一点。
------------------------------------------------------------------------------------------------------------------------------------
理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。