企业的分类

软件企业一般分类如下。

●外包型

●项目型

●产品型

这里结合前面提到的“技术人生的三个方面”再啰嗦一下。

外包型公司,通过承接别的企业的部分或全部软件业务来发展。这导致了业务不稳定,编程语言、技术框架等技术方面也不稳定。

外包型公司做软件的心态,是“干活、交活、拿钱、完事”。在这样一种心态支配下,程序员较难有机会仔细打磨产品,对技术能力的积累会有一些影响。另一方面,因为业务随时会变,对行业知识积累也会有较大影响。

还有,从企业角度讲,如果考虑成本的话,更愿意用成本低的年轻人,所以,大龄程序员的将来,在这种公司不够乐观。一个35岁的程序员和22岁的程序员,做同样的APP,老板不会觉得你35岁就比22岁做出来的东西好多少,他会认为年轻人多加个班多改改就差不多了,这时候会产生劣币驱逐良币的效应。

项目型公司通过承接电信、银行、电力、政府或其他单位的软件项目为生,比外包型稍强一些,技术上可以自己选择,也能够在某个行业长期积累经验。如果这类公司的项目规模小而多、行业不集中,那就与外包型公司类似。另外,做项目的心态和外包有些类似,对成本的考量较多,对程序员的持续技术发展不利,比如有新技术出现,公司不一定会用,可能为了快和规避风险而选择较老较成熟的技术来完成项目,这一方面会减缓开发人员的技术更新周期,另一方面也减少了锻炼机会,降低了技术成长速度。

产品型公司是最好的,一个产品,要产生竞争力,要么靠对业务的深刻理解,要么靠技术上的领先优势。在这类公司工作对程序员的技术阅历、业务知识的提升都很有好处,我认为是程序员的较好选择。

大龄程序员的将来

通过前面的分析,我们知道程序员这种技术性职业,价值体现在三点:

●语言、技术

●技术能力与阅历

●业务积累

用一句话来概括,程序员最大的价值就是运用技术解决问题的能力。而这种能力的构成里,技术能力与阅历、业务这两方面是具有经久价值的,是相比语言、技术更耐得住时间考验的。

程序员的将来,与价值维系有关,可以参看发布在我的微信订阅号“程序视界”的文章“程序员保值的四个秘密”。在我们进一步展开阐述之前,需要先看看四大职能取向。

1.常见的四种职能取向

一般来讲,有常见的四种职能取向:

●管理者

●专业技术者

●自由职业者

●创业者

管理者又分为职能管理者和全面管理者。CEO、总经理之类的角色属于全面管理者,开发经理、研发部门经理、项目经理、项目总监、HR经理等属于职能管理者。

专业技术者指靠技术吃饭的人群,比如程序员,测试工程师,UI设计师,会计,律师,编辑,摄影师……这些人的一个共同点就是拥有独特手艺和技术,能用自身所掌握的技术为别人解决问题创造价值,他们通常会依附一个组织来工作。

自由职业者首先是一个专业技术者,然后他脱离了特定组织,自己跑单帮了,自己安排自己,今天想干就今天干,今天不爽就明天再干。

创业者是特殊的一类职能取向,他们特别想拥有自己的产品和服务,于是就拉一帮人成立一个组织,协调各种资源来实现自己的梦想。

程序员的职能取向,多数会落在专业技术者上。我个人做了6、7年管理,现在还是回到了专业技术上来,因为做具体技术工作会让我更自然、更自在也更快乐。每一个程序员都应该理清自己的职能取向,只有职能取向清晰了,谈将来才比较靠谱。

2.所谓“成功”

有人说,三十出头的程序员,如果混得不够成功,面临的压力就会很大。话听起来没错,不过也不尽然,这里面有个关键的问题需要澄清,那就是“成功”的定义。

世俗的成功,古时候是“十年寒窗无人问,一朝成名天下知”,是“春风得意马蹄疾,一日看遍长安花”。现在也差不多,财富更多、社会地位更高……你看流布甚广的“当上CEO,迎娶白富美,走上人生巅峰”之类的说法就是这种观念的反映。

但我这里说的成功,是指找到适合自己的职业,完成自我实现。简单点说,就是你在干你想干的事,既有成就感又快乐,就这么简单。

我们不必活在社会统一的价值取向里,也不必活在别人的期望里,你的人生是你自己的,哪怕父母非要你成为一个什么样的人,也不必去听。

有了这样的基本认识,就可以继续了。

3.程序员在企业中的发展

程序员的直接发展通路如下:初级工程师→中级→高级→架构师(专家)→技术总监→CTO。

技术总监和CTO带一些管理职能,也可以从另外一条路上来。这条路就是程序员的管理之路:工程师→项目组长→项目经理→项目总监→技术总监→CTO。

一条技术通道,一条管理通道。这是程序员常见的职业晋升通道。

除此之外,还有一些交叉发展的机会。比如开发转测试,开发转产品经理,开发转售前,开发转售后,开发转销售……

最后,还有一个选择,就是离开软件行业,到别的行业里自由自在地飞翔。

走管理路线的人十不其一,暂且不谈;那么下面就说说技术这条路的将来吧。

4.走技术路线的程序员怎么办

其实这原本不是一个问题。你说,哪行哪业没有老将?

而这之所以又成为一个问题,是因为程序员是“有知识、有技术、有理想、有焦虑”的四有新人,觉得自己已然学了那么多,付出了那么多,将来总不能停滞不前,走下坡路吧,总得蒸蒸日上吧,所以就焦虑这件事,担心、困惑,觉得这行当是青春饭,吃不了几年。

其实根据我前面的分析,结论已经呼之欲出了:保持学习能力,丰富技术能力与阅历,积累行业知识与经验,就可以持续走下去。即使有衰退阶段,那也是正常的,人生就如花一样,有含苞待放、有盛放、也有枯萎的过程,我们需要自然接纳。

5.程序员的二八定律

有结论只是第一步,我们还要讲清楚一个事实:程序员群体中的二八定律。

先说技术路线和管理路线的选择,基本上也是二八开(或者一九)。

小部分人走了管理路线,剩下的大部分程序员,走技术通道。那么有多少人能成为高级软件工程师、架构师、技术专家、CTO呢?

20%。

那剩下的80%,在技术路上不能走得更远,但还得维持自己的竞争力,保持价值不衰退,这样才可能继续做下去。怎么维持竞争力,前面已经说过了。

大量的大龄程序员将面临无法晋升和难以维持竞争力的问题,这是每个人都必须看到的事实。

从晋升角度看,任何一个行业的从业人员的分布,都是金字塔形的。大锅饭不存在,共产主义按需分配也还没到来,我们必须接受、接纳这个事实,然后才能在此之上谋求发展。

6.怎样面对将来

前面已经确认,技术路线可以走下去。现在我们来看,如果一个程序员的四大职能取向定位到专业技术者,到30多岁时,该如何走,如何适应?

选择企业

就做技术来讲,如果想维持竞争力,在选择企业时就应当作一些考量,选择将来向好的行业,选择产品型、重视技术的公司,这种选择非常重要。它会严重影响你将来能在技术路线上走多远。

我前阵子找工作,就根据行业、企业、产品,只选了三家来面试。我也35岁了,需要稳定下来。

有人说可否选择创业公司,我的观点是,如果你能承受一定的风险(金钱和时间成本),创业公司的创始团队和产品又都比较靠谱,可以尝试。小米当初创立时,从摩托罗拉等公司找了好大一批开发工程师。

稳定于一项工作

根据舒伯的职业生涯阶段理论,31~44岁是安定期,程序员应该稳定于一项工作,发现适当的晋升通道,确立自己将来的保障。

在这个时期,频繁地跳槽对将来的发展不利,这是毋庸置疑的,所以选择要慎重。尤其你到了40岁还没在哪个行业长时间待过,技术岗位也换来换去,再出去找工作,就会遇到比较大的困扰。

到招聘网站溜一圈,看看招聘信息中对年龄的要求,你就知道我所言非虚,除了技术总监、架构师、技术专家、高级软件开发工程师等岗位的年龄区间落在30~45岁,其他岗位,绝大部分都要求你30多以下。所以,如果你在不同行业、不同公司晃来晃去,到了三十四五岁还没稳定,也没能达到高级软件开发工程师应有的水平,再找工作肯定会遭遇比较尴尬的状况。

不能晋升怎么办

技术路线,可以初级、中级、高级、架构师(技术专家)……这么走下去,假如一个程序员发现自己到一定程度无法再走下去,就会产生挫折感或倦怠感。通常这种情况会在你稳定一项工作7年左右出现,所谓“七年之痒”。对本科毕业来讲,这个年龄一般在33~35岁。

此时怎么办?这是很现实的问题。

要具体问题具体分析:是你很牛,限于企业环境无法晋升?还是你自身能力到了天花板无法晋升?

不同的原因对应的行动是不一样的,若是前者可能应该考虑换一家公司。后者的话,要调试心态,建立第二生活中心,在职业之外发展其他的兴趣爱好来平衡。

在这个年龄阶段,有一大批程序员会因为晋升受挫或倦怠而成为创业者或参与到创业中来。这是需要留意的现象。

竞争力有区域性和相对性

程序员的价值和竞争力,其实是相对的。比如你所在的公司,牛人太多,无法晋升了,其实别处可能有鸡头的位置等着,比如其他行业内的小公司的技术总监、部门经理,如果你看重职位和头衔,就可以去尝试。这也是一种典型的路线,有部分程序员在大公司镀镀金,回头到其他行业的相对规模较小的公司去做管理或技术专家。

如果你很在意职位等级,很在意比别人更受尊重,那就找一个能凸显你价值的环境。比如有一些国外的业余足球运动员或退役的足球选手到中国来,迅速成为热门选手受到重视,这都是一个道理。

所以,对于大龄程序员来讲,为了发挥价值和竞争力,还有下面的路径可选择:

●到其他公司,不换行业,利用自己的技术优势,谋求管理职能,走管理通道。

●到能凸显自己技术价值的公司,继续做开发。

●到平均技术水平较差的地域,继续做开发,彰显自己的优势。

学习其他技能

当然,如果你有时间,也可以学习其他可以赚钱的技能,因为,虽然我们说大龄程序员可以一直做技术,但能一直做到退休的,估计只有20%。大多数人都是那80%,当你不得不离开心爱的开发岗位时,就必须做好准备而不至于忽然失重。

职业之外的兴趣

这一点是我们必须要谈的,程序员的人生里不只有软件和工作,生活是多元中心的,要有一些其他的兴趣爱好,能够滋养心灵,修复纯技术工作给心灵带来的磨损。

提笼架鸟、雕刻、书法、围棋、游戏、写作、读书……很多人(包括我)缺乏信仰,不能连兴趣爱好都缺失,这样生活才不至于枯燥乏味。