第二种可供程序员选择的企业是传统软件企业,所谓传统并非是软件技术与互联网企业有什么本质上的不同,更多的是企业的管理模式和思维方式不同。较成熟的传统软件企业受传统企业的思维影响,在工作上是从上至下的思维模式,即上级向下级逐级分配。对员工以管为主,各种规章制度条条框框。文化上基本上是忠诚、创新、谦卑之类的大众文化,但在文化建设上却很乏术或不够重视。也因此国内大多传统软件企业的氛围相对还是比较压抑的,员工每天过的可能会很忙碌但并不快乐。
本文一开始就对传统软件企业定的标签 ---- 以管为主、压抑、不快乐等。但对于程序员来说他们更关心是否有成长,技术能否有提高,薪资是否丰厚。所以这三项中但凡有其一,压抑不快乐那都是不重要的,对吧。
我们按照项目类型将传统企业分为项目外包型和行业产品型两种。虽然都是传统软件企业,但这两种类型的企业仍然有着非常大的不同。
一、项目外包型:
国内大多项目外包型企业在创业初期也是因为一个产品梦想而开始的,但由于市场的现实和逐渐见底的资金压力,为了能存活下去根据自身的优势选择拿项目做外包。面对行业越来越激烈的竞争,外包的利润也是在逐年下滑,企业主的压力可想而知。又因为压力大,使企业主不得不将精力投入到怎么赚钱上,哪儿有精力思考企业管理和文化建设,所以内部混乱是在所难免的。想了解员工的幸福感,你就去企业看,如果员工大多数是是安安静静地在自己工位上工作,这个企业肯定不咋样。现在的软件工程不是一两个人能干得了的,讲究的是团队协作,安安静静没有沟通交流,要么是过分忙碌,要么是精神不够自由。
因为是接外部客户的需求,这些客户都有一个共同的特点是对软件的认知比较弱,认为软件很简单,什么都能做,怎么做都可以,再有甲方优越感的加持,导致需求的稳定性很差。不仅小改动频繁,大改动隔三差五。了解软件开发的人都知道,软件系统工程,作何一个模块的改动可能会导致大面积的修改,对于需求方来说可能只是一句话,而对于程序员来说简直是噩梦。前面我们讲过外包利润越来越薄,企业想要赚钱就得尽可能多地接项目,精减人员和环节的投入。一个原本5个人做两个月的项目,可能变成两个人做两个月(做不完加班)。原本该有的设计环节能省就省,能去掉就去掉,以此来谋取更多的利益(这与我们上一讲中的对日软件包外虽然都是外包,但有着本质的不同。)。这里为企业主说句话,外包企业本身盈利的点就很单一(接项目),想要赚钱除了截流还真没别的办法。
再来说说技术方面。对于程序员来说外包企业最大的问题在于只做0到1不做1到100,因此技术上是无法深入的。程序员每天都在大量重复着CRUD等相似的逻辑,虽说相同的功能多次实现,每一次都会有不同的思考和技术提升,但在长时间高强度工作的压力下,程序员哪里还有时间和心思去思考,可能只会想着赶紧应付完工作吧。
如果一个企业是因为资金压力暂时选择外包,而一直有颗做产品的心的话,程序员还是可以为其工作的。但并非如此,那么这种企业真不推荐。
二、行业产品型
行业产品型企业虽然做的不是自己的产品,但长年在某一领域深耕,对这一行业有着深入的理解,成为甲方的长期合作伙伴。
此类企业跟着客户的成长而成长,客户的业绩越好自己的业绩就越好,因此无论何时,客户总是要放在第一位的。又因为长年和合作,企业已经深入到客户业务的细枝末节,对业务的理解可能比客户自己还透彻,因此客户也非常依赖于企业,双方就此形成捆绑成长局势。
这类企业是有雄心壮志的,但凡有雄心的企业对自身的成长和管理就会比较重视,虽然思维主方式决定了仍然是从上自下以管为主的管理方式,但在企业文化和人才培养方面还是比较舍得投入的。
另一方面,因为做行业软件,稳定和严谨是高于一切的,加上长年的软件开发导致采用的技术和开发模式都是比较陈旧的(这里仅指行业软件开发,不包括大数据、机器学习、区块链等新兴技术),所以在技术上显得不够开放。所谓前人挖坑后人填,新入职此种类型企业的你做的可能只是在前人的基础上修修改改。主导或参入新项目的机会相对来说少之又少。虽然技术上有这样那样的不足,但这并不表示去此类企业没有前途。技术人员的出路无外乎是技术专家、技术管理/项目经理、行业专家。此类企业更为重视技术管理/项目经理和行业专家这两类人才,尤其是行业专家(毕竟是企业的立身之本)。所以在此类企业工作,如果技术业务都精通,还是非常前景的。
最后说说这两种传统软件企业的薪资,可以肯定的是项目外包薪资最低,不仅仅是因为做的事情没有技术含量,主要是企业收入来源较为单,吃了上顿没下顿的状态下,企业主对薪资的管理会非常保守。行业产品型是薪资相对比较高,与你个人的成长有直接关系。做的好薪资的想象空间不亚于互联网行业。