随着年纪增长, 和小伙伴们聊天时候发现焦虑小伙伴越来越多, 各大互联网公司清理35+岁的一线员工,大家都调侃自己35岁只能开滴滴, 送外卖等等.

伴随各种灵魂拷问我有点疑惑, 为什么互联网产业现在焦虑35岁? 我刚入行大家说30岁程序员就是狗, 早点转行等等, 印象里怎么听说国外有这样的焦虑, 而且似乎很多高龄一线员工, 但是这只是印象里面, 需要数据佐证, 于是开始找资料. 2017年的调查数据, top10互联网公司, Amazon和苹果员工年龄中位数是31岁, google是30岁, 微软和adobe是33岁, facebook确实偏向年轻化28岁.

这个数据粗略分析, 国外的焦虑可能没有我们这么严重, 相对比较滞后, 为什么呢?

看过我上一篇文章的朋友知道, 不找到问题的核心, 我很难确定应该从哪里下手分析解决, 翻阅了大量资料之后我觉得下面2个解释比较合理

  1. 会频繁出现35岁现象的行业,一般都是变化非常快,技术迭代速度也非常快的行业。
  2. 35岁失业的本质,是中国产业升级失败的结果。一个劳动者最能输出的年龄在55岁左右。如果产业总是徘徊在低端重复的水平,是不需要55岁熟练的经理,工程师的。

仔细分析下来国内互联网行业确实是这样, 我们在底层意识相对薄弱, 不愿意花精力去维护和深耕, 我们更偏向于快速MVP验证模型, 行业快速积累大量资本, 然后快速泡沫, 针对现状我们如何做到 君子不立于危墙之下. 避免这样的悲剧?

和大家沟通后有这么几个解决方案方向: 要么换行业, 要么紧跟技术趋势迁移, 要么多赚钱?

对我们已经上车 高龄 程序员来说, 直接换行业不现实, 剩下就只能下抓趋势或和多赚钱2项了.

抓趋势的话, 有一个俗称 坐在风口的猪 , 形容的更多是商业上的行为. 程序员嘛, 我们保守点, 关注与技术行业的趋势. 比如 统一的大前端(React Native, Flutter, Vue等等), Faas 等等.

那么赚钱呢?

这是一个非常难解释容易, 实际难操作的话题. 话题太大很容易陷入玄学讨论.

不过我个人相信 但凡话题的核心一定可以用 >=1个简单抽象的概念进行解释. 我们这篇文章的目的是先找这么一个核心概念来进行讨论. 很容易让我想到的1个概念就是: 信息差.

核心概念

1. 信息差

简单解释信息差是交易当中的信息不对等, 一方掌握另一方不掌握的信息. 这里交易泛指一切活动. 比如真实的商品买卖, 程序员出卖技能, 导游带领团队, 公知贩卖焦虑等.

举个程序员经常遇到的场景: 这么简单的操作, 用户怎么还不会用? 这其实也是一种信息差. 我们认为自己所掌握的信息应该是常识, 所有人都应该知道. 其实并不然.

有了这个核心概念, 接下来关于程序员如何赚钱的话题 就可以转变改成了2个问题.

  1. 如何制造信息差: 提升内功
  2. 如何利用信息差: 保持外部变化敏感性

提升内功

内功方面大家都很容易理解, 深耕1行嘛, 做到行业内的专家, 网红, kol等等. 无论哪个行业, 首要提升的就是自己对行业专属知识的掌握程度. 针对程序员的内功呢? 就如上面所说的, 如果我们卡主35岁的年龄限, 专家还有意义吗? 是走什么都涉猎的广度方向, 还是继续深耕1个主题专精? 个人看法这个问题根本不算问题. 对于非科研方向的工程师2个方向同样重要. 理由如下

1. 技术广度

IT行业的发展速度太快, 对人才有着巨量的缺口, 为了提高效率, 降低门槛, 大量的技术栈, 类库都已经简化到一学就会, 随便招聘1个人很快就能上手写业务代码的地步. 随之而来的是大家遇到了通天塔难题, 程序员只能掌握自己工作需要的入门级知识和代码, 无法理解其他人的工作. 另外还有一个问题是一旦业务确定, 开发, 测试, 联调, 部署, 异常分析等环节都重要, 快速上手的程序员通常只会写简单的局部业务逻辑代码, 只能解决自己制造的逻辑bug, 除此之外的bug, 一头雾水, 甚至连基础的电脑功能, 快捷命令都不知道, 为此我们不得不通过规范流程, DevOps, 严格测试, 各类文档等等来降低沟通成本, 提高沟通效率.

大家习惯了之后觉得这没什么, 行业就应该这样! 实际上这种思想是直接放弃了自己提升的空间. 把工作当成搬砖, 每天计件完成.

在我的观念中, 一个合格程序员应该是1个问题解决专家. 我们所遇到的问题能否独立解决这只是最基本的, 提升下要求是否有更好的解决方案(参考上一篇文章)?, 当我们对所在领域的类库和解决方案掌握的足够多, 对操作系统, 数据库, 开发部署方案, 流程, 行业最新技术了解越多, 通常我们会发现问题会有更简单高效方案去解决, 遇到问题时候, 也可以快速定位究竟是哪里出现问题. 从而让我们掌握更多信息.

2. 技术深度

技术要有深度是毋庸置疑的, 工作中大家都佩服专研, 懂的比自己深的技术专家. 我们羡慕他们掌握知识量级和解决问题能力, 希望自己也拥有这样的能力. 据我的观察, 成为1个专家需要下面2种能力

  1. 自学的能力

    日常大家业务需要的专业技能其实相当有限, 过了新手培训期, 熟悉期之后, 基本上你掌握的知识就足够应付工作遇到的绝大部分场景. 这时候人会陷入迷茫期, 好像没什么难得, 每天干的是重复的事情. 给自己设立技术深度的目标, 意味着自己需要不断的自我学习, 自我监督, 自我检查. 约束自己的目标感和进度追踪.

  2. 严谨的逻辑分析能力

    对技术深度的追求, 以为着我们不能停留在用的层面, 意味着我们要不断的问为什么? 不断的抽象, 总结, 分析. 锻炼我们的逻辑分析能力.

以上2种能力一方面让我们不断的在一个领域内成为专家, 另一方面可以让我们在换行业, 或者换领域时候很好的跨界, 横向迁移自己的原有的底层能力, 这也就是很多斜杠青年, 跨界选手受欢迎的原因.

对外部变化敏感性

李嘉诚说过: 随时留意身边有无生意可做,才会抓住时机。着手越快越好。遇到不寻常的事发生时立即想到赚钱,这是生意人应该具备的素质。

对程序员来说, 我们因为长期沉浸在自己的技术小圈子里面, 觉得自己掌握的不算什么, 这也不赚钱, 那也不行. 这句话说的相当贴切, 我们虽然掌握了信息, 但是我们并没有利用手中所掌握的信息差去利益最大化.

这句话里面最核心的点事我们要留心外部的变化, 随时留意可能的机会.

总结

写完感觉整理的并不好, 不过先写下来, 后来继续更新. 会从更多角度, 和实践和大家分享.

素材

  1. 如何利用信息差赚钱
  2. How to Get Rich (without getting lucky):
  3. SWOT分析法
  4. The average age of employees at all the top tech companies, in one chart
  5. 既然很多工作 35 岁就会被裁员,那么深耕一个领域的意义是什么?