笔者是一个老程序员,自2002年进入.NET开发领域,一直未曾放弃。期间经历过管理软件公司,互联网公司,有国内企业和外资企业,深感其中的差异,撰文分析两者的联系和区别,供读者朋友参考。
技术
1 管理软件公司用的技术一般是老的,稳定的,成熟的技术。比如.NET Remoting,Windows Forms,Web Forms,而互联网公司一般会追求新的技术,比如Redis,微服务,Hadoop等。管理软件公司会使用SQL Server Analysis Services作OLAP分析工具,而新的互联网公司会采用Spark,Hadoop等大数据技术来实现。在喜欢搞技术创新的管理软件公司做事,常常会活的比较痛苦。如Linq to SQL出了没多久,Entity Framework出现,Silverlight,WPF后来也是逐渐从公众视野中消失。ASP.NET MVC的出现,大批Web Forms程序员找工作变难了。现在ASP.NET Core 的出现,不晓得会不会导致ASP.NET MVC程序员的失落。
2 管理软件公司侧重于业务实现,互联网公司侧重于高并发,高可用,用户体验等。管理软件的用户一般是工厂各部门文职人员,一个大公司也不过100来号人员同时在线,对业务的实现相对要求高,这样可以节省人力,节约成本,而不是增加成本。有的管理软件提供了大量的批核功能,每走一个流程,每确认一个步骤(下订单,发货,产生发票,收款)都要批核,我个人认为这样的管理软件是增加用户成本,降低效率。把工厂当成一个合作的整体存在,销售部负责下订单,生产部负责在规定的时间完成订单生产,采购负责及时的购买所需要的生产物料,这是一个密不可分的整体化运作,任何一个环节卡住会造成信息不流畅,甚至会导致生产停滞。多年以前,我们在网上注册一个帐号,输入用户名,密码等信息,提交时提示电子邮件必须输入,这时我们输入的密码也会被清空,重于用户体验的互联网公司,会考虑到这种情况,帮忙我们记住之前输入的密码,这时只需要输入电子邮件即可再次提交。再比如我们出门打车,遇到路远了或是路偏了,打车师傅可以拒载。这是非常不友好的用户体验。我们是客户,的士师傅是应用提供商,得罪客户的事,就是跟钱过不去。新兴的互联网公司(滴滴和优步)改善用户体验,不仅比原来的的士价格便宜,还提供随叫随到的服务。想像一下,在大城市,一个女孩子拎着重重的行李箱,到处找车,是多么糟糕的用户体验。而互联网公司将改善此体验,只需要站在原地,司机师傅主动来找你,完全体验到打车是一种服务。我个人认为,即使滴滴和优步减少补贴,甚至停止补贴,在同等的价格下,滴滴和优步仍旧有生存的空间,因为他们改善了打车服务体验,也就是用户体验。
3 管理软件公司的技术升级常常来源于程序员,互联网公司的技术变更多的来源于业务需求。所谓成也萧何,败也萧何。处于软件行业顶端的软件公司创造技术解决问题,提供开发工具维持企业利润,中小公司则应用技术解决业务问题。软件业相当频繁的技术更新,造成了大批老技术程序员失业,从而进一步增加了软件公司的生存成本。现在市场上几乎找不到或是很少能找到Delphi程序员,还有一些我们没有听说过的技术(他们的确存在于现实的公司中),Delphi程序员要么失业,要么转型。那软件公司呢,大量的用Delphi开发的,非常优秀的Delphi程序还是需要人员维护,软件公司面临两个选择:要么用新技术重写,要么养几个老技术程序员一直做维护。软件公司的老板都是人精,不可能将公司的未来受一两个程序员控制,所以就用

