3 管理软件公司适合纯技术人员生存,互联网公司则相对重运维+技术。比如上一节我提到的缓存技术,互联网公司将此发扬光大,提供一整套的分步式解决方案(Redis,MongoDB)。程序员不仅仅要会调用API,还需要部署服务器,理解它们的运作机制。在管理软件公司,为了增加产品的高可用性,我们提供集群,镜像,数据库复制,数据库日志等技术,保证系统7*24不间断运作。而互联网公司对此要求更高,他们还要求高并发。我们知道数据存在磁盘上,读取数据或保存数据是一个很合理的操作,管理软件增删查改都是这样模式,但互联网公司对此还不满意,因为多人并发的存在,数据需要保存在内存中才能满足高并发的需求。还有高可扩展性,为了升级管理软件,我们停止服务器程序,或者重启下机器是很常见的操作,但互联网公司对此零容忍,他们要求更新系统时,不能停止服务,或是非常短暂(秒级)的停止服务。后者要求系统可以做到热插拨,这跟USB接口做到热插拨并成为业界标准是同一个趋势,我们知道Oracle升级补丁包时,可以不用停止数据引擎服务,这个特性对互联网公司非常重要(SQL Server用镜像技术也可以达到此目的)。总体来说,管理软件公司只需要把技术做好,而互联网公司要求在技术之外,还需要了解运维层面的知识。
1 管理软件公司的大部分员工发展前途光明,互联网公司适合明星员工创业。在互联网公司做事的员工,技术常常非常专业,也就是一种商业模式下的技术实现,因为互联网公司需要用户,需要流量,需要变现,他们的创业压力非常大。传统的管理软件公司,搞好了客户关系,拉到几个订单,买几部电脑,招二个程序员就开始干活了,是个人走向创业的快速路径。做得一般的管理软件,实现客户要求的单据,流程和报表,相当于一个数据库的增删改查程序,做的好一点的管理软件,融合了一些管理理念,加入了部分行业需要的特性,是一个软件+理念(思想)的载体。做的更优秀的管理软件,成为行业的标杆,几乎成为行业的代名词(模仿了互联网公司,比如团购就是美团和大众点评,看电影就是猫眼)。比如我们说ERP,大家就会想到SAP,Oracle,Sage,Epicor,Dynamics等。这些管理软件成为其它软件厂商抄袭模仿的典范,促进了大量的中小企业的诞生。我们知道,互联网公司只会让竞争者失败出局,或是以收购结束,而管理软件公司不仅不会吞并小公司,还会为小公司的发展指明了技术方向。
2 (大公司模式) 互联网公司的技术相对完善,分工明确,程序员可以在一个领域或数个领域成为专家。管理软件公司由于已经走到行业顶端,技术人员常常需要转销售,转销前,转二次开发。处于食物链顶端的软件公司,比如云计算(Azure,AWS),数据库(SQL Server,Oracle,MySQL),ERP(SAP,Oracle,Epicor,Dynamics),他们的研发中心常常会控制保留在本国,很少或是根本不会让国外团队或分公司参与开发核心技术。这就导致了我们常常是做他们的二次开发工具。成为一个行业的专家,有时候会有高处不胜寒的感觉,也意味着对其它领域的选择更少。精通于一门技术,成为公司运作上的一个零件,只有在特定的环境(大公司)才有用处。就好比浓缩铀只能用于造核武器,而菲利浦的白炽灯却能走进千家万户。
1 互联网公司相对容易产出新概念,新名词以吸引大众眼球,以此创造概念经济。管理软件公司墨守成规。比如笔者在2006年所经历的Web 2.0,那时满大街的都是这种宣传材料,没过多久这种概念就过时了。正如现在全民创业,云计算,互联网+,大数据等,相信不久也会从我们的公众视野中消失,取而代之的是大批的互联网公司消亡。管理软件公司则很少会这样,MRP,ERP还是上世纪90年代的概念,现在仍然适合于企业管理软件的设计思路。尽管ERP之后还有产生ERP II概念,不过也不怎么流行。管理软件公司相对务实,能把物料需求计划(MRP)跑流畅,基本上公司的信息化水平就上了一个大台阶,也不会再去追求管理创新。金融也是一个不适合创新的领域,记得 一个经济学家说过,我们应该将所有的经济学家从社会上去除,因为金融改革就是扰乱社会秩序。国际金融炒家索罗斯的至理名言也曾表述,我们就是为了创造一种假象,然后在人们认识到真相前提前退出游戏。
2 管理软件公司人员缺少销售观念,互联网公司员工更多的会关注到到商机,常常会考虑把技术转化为价值。我们这里不讨论阿里员工抢月饼的是非,单从市场角度来看,我是挺佩服这几个程序员。他们学以致用,将技术转化为对自己的福利。管理软件公司的员工则比较缺乏市场情结。他们还在研究新版本的开发工具有哪些产品特性,期待以拖放的方式就能设计出工作流的软件厂商。如果能把几年工作的成果抽象提炼出来,形成一些公共的开发类库,方便以后的开发,这是一个小小的进步。进一步的,能把管理软件中相同的操作界面和模式总结出来,做出一些相对通用的界面和控件,比如数据输入Entry,数据查询Enquiry,数据列表List,报表Report,数据查找Lookup,自定义查询Query等,初步形成一个开发框架。再进一步,我们用自己提炼的开发框架,用自己参与和理解的技术理念,做出一套产品,这也算是一个小小的进步。技术进步的每一个阶段都可以为你的职业发展带来无穷的好处。熟练的程序员再也不担心找工作没人要。成为一个领域的资深开发人员,可以为自己赢取技术主管或经理的职位。做出一个领域或行业的产品,如果在合适的时机碰上会做市场的销售人员,创业也是非常有可能的。马云说过,梦想是要有的,万一实现了呢。
2016-12-30
于广州