1.外包型企业。公司没有成熟的软件产品积累,项目使用简单粗暴的方式,按客户提的要求(这里不一定是需求),套用各种模板和代码框架,以最低成本实现项目目标。盈利来自项目利润和开发人员的成本差。
外包公司是软件企业里项目风险最高的,而盈利能力又相对较弱的,接单很多是靠关系,软件价值完全体现在程序员对客户的沟通理解上。
2.行业软件企业。国内做行业软件有国际影响力的企业还是很少的,我这里更多的是指能在某一领域做出软件产品的公司。此类公司在特定行业内做过一定的行业学习,基本了解行业流程和一般性的企业痛点,针对行业普遍需要的东西做总结性的软件开发,并在实践中持续完善自己的软件产品。软件可复制性有一定的提升,可以结合定制化功能快速交付。

行业软件在一定程度上降低了软件与业务契合的风险,基于普遍性的功能可获得更大范围的客户群体。盈利稳定性比外包公司要好。对行业需求的深挖可以做出成熟的软件,具有较好的可持续性。
3.平台数据企业。来自行业软件的升华,通过大规模整合行业数据,并分析数据规律和拓展数据价值,实现数据增值。业务数据是比业务功能更具普遍性的资源,而且数据领域有先发优势,一旦获得领先,将不易被追赶超越。
做平台的软件企业很多都声称自己的业务模式怎么怎么好,但很少有真正能从数据层面给出独创价值的东西,这就是这些年互联网+出现没落的原因。真正有数据有实力的平台,都冲着软件生态去发展了,只有那些靠忽悠的学习者在推业务模式。
4.独角兽企业。能成为此类企业需要在基础理论上获得重大突破,比如数学或工程学方面拥有独创且能影响大多数人工作生活的东西。
这类企业很容易获得融资,并将理论提升为工程化体系,快速转化成市场化的服务。
所以,程序员在什么企业写代码,对知识的理解是有很大区别的。