按照企业业务模式的区别,软件公司大致可以分为外包型、项目型、产品型三类。
外包型公司,通过承接别的企业的部分或全部软件业务来发展。这导致了业务不稳定,编程语言、技术框架等技术方面也不稳定。
外包型公司做软件的心态,是“干活、交活、拿钱、完事儿”。在这样一种心态支配下,程序员较难有机会仔细打磨产品,对技术能力的积累会有一些影响。另一方面,因为业务随时会变,对行业知识积累也会有较大影响。
还有,从企业角度讲,考虑成本的话,更愿意用成本低的年轻人,所以,大龄程序员的将来,在这种公司不够乐观。一个35岁的程序员和25岁的程序员,做同样的App,老板不会觉得你35岁就比25岁做出来的东西好多少,他会认为年轻人多加个班多改改就差不多了,这时候会产生劣币驱逐良币的效应。
项目型公司通过承接电信、银行、电力、政府或其他单位的软件项目为生,比外包型稍强一些,技术上可以自己选择,也能够在某个行业长期积累经验。如果这类公司的项目规模小而多、行业不集中,那就与外包型公司类似。另外,做项目的心态和外包有些类似,对成本的考量较多,对程序员的持续技术发展不利,比如有新技术出现,公司不一定会用,可能为了快和规避风险而选择较老较趁手的技术来完成项目,这一方面会减缓开发人员的技术更新周期,另一方面也减少了锻炼机会降低了技术成长速度。
产品型公司做了一个好产品,运营这个产品,产品会不断迭代、更新,程序员会跟着这个产品一直往前走,公司需要了解产品、了解业务、技术积累厚的人才,而要懂业务、懂产品、有积累,都需要时间,等你什么都了解差不多了,也就是个老程序员了。而且随着对产品了解的越深,不可替代性就越高,价值就越能凸显出来。当员工的不可替代性高时,老板就要考虑替代的成本。什么都不懂的年轻后生,根本撼不动其地位。
综上,产品型公司是最好的,一个产品,要产生竞争力,要么靠对业务的深刻理解,要么靠技术上的领先优势。这类公司更利于程序员的技术阅历、业务知识积累,是程序员的优先考虑的选择。
网友评论