了解到这种差异后,要想做出自己的那份选择,还需要考虑三件事情:一是既定环境下技术路径究竟有多长,也就是说做技术有前途么;一是个人的性格适不适合做管理工作;一是做管理工作可能会有什么负面影响。这三点将在接下来的三个小节中分别进行探讨。
技术路径长短对前途的影响
程序员往往自嘲自己是“码农”,不知道这词是那里出来的,但听起来“码农”和“农民工”已经有点近似了。而“农民工”往往是收入低,工作时间长的代名词。这就折射出了一个很尴尬的事实,在很多公司中,单纯从收入的角度来看管理职位是要高于纯粹的技术岗位的。
这并非是一个绝对规则,前文就曾经提到早在20年前,微软的超级程序员就可以拥有比管理人员更高的工资,可以拥有多辆保时捷。但在技术路径短的公司里,管理人员收入偏高这事情却具有必然性。
当一个公司的核心技术并没有创生多大价值,而是需要靠人力规模、商业模式等来支撑业务的时候,那么我们可以称之为技术路径短的公司。想象一下,如果一家公司专门承接本地化工作,那么也许也会需要程序员编制某些工具,但对程序员而言技术路径无疑是短的。
如果暂时把眼光从程序的世界移开,那么事情就可以看得更清楚。
在盖楼的时候,只要达到基本的质量,一个人每天砌200块砖,固然比砌100块要好的多,但相对于大楼而言,多砌100块砖,所多带来的价值有限。再进一步由于砌每块砖的价值是固定的,同时一个人每天所能砌的砖也是有限度的,这就会导致砌砖工人,不管多么努力,其收入水平必然会被限制到某一个较低的水平,只要他的工作还只是砌砖。这种限度是由这一工作的内涵所决定的,倒不是谁遭到了歧视。
再类比到软件行业里,单纯的在既定接口下实现已定义的业务逻辑就是技术路径比较短的工作,是体力密集型的;而分析业务逻辑,控制整体架构或者去研究TTS的算法则是智力密集型的,技术路径较长。
在选择方向时关键要避免的是选择了技术方向,但身处的现实中技术方向却路径较短,或者喜欢管理但跑到了纯粹技术流的公司里,这种选择其内部所蕴含的矛盾会给当事人的人生造成极大的困扰。比如说开发小型信息管理系统时,其所需要的技术含量并不高,公司的主营如果是这个,单纯的做技术可能会直接影响收入。这是一个需要考虑的很现实的事情。