程序员的35岁:生死有命,富贵在天?青春饭的程序员都在害怕 35 岁,那35岁之前你在干什么?

社会一般人对程序员有几个固有认知,而且大部分程序员看上去也是这般:

工作累加班多,身体差,熬夜容易死;
不修边幅甚至有点邋遢,榆木脑袋;
中年危机严重,35 岁将被公司淘汰;
单身,找女朋友是一件困难的事;

为什么这么说呢,但凡我们细心留意一下,就会发现网络上关于中年危机35岁被辞退单身程序员相关的关键字几乎都是连在一起的。我们来看几个具体的例子:

程序员到了 35 岁就要被裁员?
35 岁的码农年后第一天被辞退;
程序员的中年危机:拿什么拯救你,我的三十五岁;
程序员工作职能做到 35 岁吗?之后的路是怎么走的呢?
程序员单身真的是有理由的吗?
程序员年薪高到 40 万,为什么还有很多程序员单身?

似乎人人都在担心 35 岁,甚至是 30 岁这个而立年龄。30 岁本因该当打之年,为什么就要被优化掉呢。说到这里,你可能会说这是社会整体趋势,是大环境造就的,谁都不想。

不错,目前社会大环境确实如此,连正在写文章的 30 岁的我,也努力地做打工人。不过对于 35 岁的中年危机,我自己是不担心的,这么说并不是因为我心态好或者不寻求在大城市生根发芽,而是因为我提前做了一些预备

一般程序员的工作和生活

在开始聊预备话题之前,我们先来捋一捋一般程序员的工作和生活,就拿我自己和身边的人作为引子吧。

时间分配

我自己在北京互联网类的公司做研发工作,认识的大部分人都是程序员,有职级比较高的、也有比较普通的。从以往在技术群里面的交流来看,大部分人的生活都分为:工作休闲生活放松玩乐。休闲生活和放松玩乐指的是人类正常生活,例如做饭、陪伴家庭、逛街购物、看电影玩游戏之类,偶尔会有一些学习的时间。相信现在正在看文章的你也是这样。当然,部分人会有一些爱好,例如跑步、骑车、打篮球,这些就划到放松玩乐里面。

不过并不是所有人都按照这个时间比例进行分配,也有人熬夜玩乐,第二天照样能够划水上班的。

经济分配

挣钱当然是要用的,家庭开支生活吃穿学习投入玩乐开销,基本上能够涵盖大部分人的经济分配,这里也不排除一些炒股或者购买基金这类理财产品的情况,那么理财投资也算是一种。

收入渠道

今天的重点,其实是围绕着收入展开的,前面的铺垫也是为了好好聊聊这部分内容。相信大多数人的收入渠道都只有一个:工作收入。上面提到了理财投资,这个也是收入渠道里面的一种。作为程序员,偶尔会遇到一些公司愿意支付费用邀请你帮忙处理一些事,这是工作以外的收入,也是收入渠道里面的一种。

看到这儿,想必聪明的你已经知道关注点在哪里了。没错,支出项多,收入项少。如果你的收入抵不上支出,那么就会陷入泥潭,会觉得工作压力逐渐变大,进而影响到你的心理状况,很容易造成焦虑。

如果这时候正好是 30+ 岁,工作体能和加班能力比不上 二十六七的小伙子是很正常的。假设公司业绩不好,你被优化掉了,那么你的收入项里面比重最大的那部分就没有了,只剩下比较少的那部分,甚至什么都不剩下。入不敷出,这就是程序员们都害怕 35 岁的根源。

基本概念,资产与负债

一般人要摆脱 35 岁困顿,首先要明白一个基本概念:资产负债,这是我当初阅读《穷爸爸和富爸爸》中获得的唯一知识点。这里不咬文嚼字,我们朴实无华地聊。资产大体指的就是能够为你持续创造收益或者大幅度减少资金流失的东西,例如房子、你买的理财产品等。负债大体指的是一次性消耗或者持续不断消耗你的资源或资金的东西,例如你为了追求时尚买的 iPhone 最新款 Pro Max。

当然,资产和负债并不是固定或者绝对的,例如汽车。对于一个做生意或者跑业务的人来说,如果汽车能够直接/间接地创造收益,那么汽车就是他的资产。如果跟你我一般,只是为了不挤公交、不坐地铁而用来代步的汽车(实际上上班开车也不太现实,很多年轻人买车就是为了周末去玩或者放假回家),那它这时候就是一个负债,因为你需要为它支付保险、保养费用、油费等等费用。

要注意的是,除了跟钱有关的物品之外,跟时间有关的东西也可以这么划分。例如你非常喜欢玩一款游戏,每天下班必定玩几局,将几个小时都分配给了这个游戏,那么它就是你的负债。

斩断情丝,减少负债

在你弄明白资产和负债后,可以现场梳理一下手头的资产和背负的负债。将家中的物品罗列一个清单,在清单上给物品打上资产或者负债的分类标记,然后计算它们对应的金额。

考虑一下,要不要把那些负债跟你的情丝斩断。

围水造田,开源节流

上面的斩断情丝,其实就是在节流。除了负债之外,思考一下有哪些是不必要/可以优化的花销,把这些花销降低或者消除。例如你固定每周都会上一次饭店,是不是可以调整为两周去一次?

下面聊聊开源,即开辟更多的收入项。相信看完上面文章的时候你自己心里已经算过了,自己的收入渠道也就那两三项,如果真的有一天被优化掉,是不是意味着生活堪忧了呢?

程序员这个群体能够围水造田的事其实很多,我们来捋一捋:

  • 技术付费,比较直接的说法是接外包,也就是凭借技术能力获得别人支付费用;
  • 经验付费,例如独立咨询或顾问,凭借多年工作经验为企业或单位提供有价值的指导或服务;
  • 跨界合作,例如餐饮连锁软件、营销工具,与其他行业的公司合作,对他们的同行进行降维打击;
  • 知识付费,在线教育这么火热,无论是视频专栏、图文专栏还是训练营,都是很不错的选择;
  • 产品付费,根据自己对多年工作所在领域的理解,提供一整套解决方案或者可用的产品;
  • 作品付费,书籍的分红虽然不高,但是销量可观的话,收入不菲;
  • 自媒体,短视频爆发的年代,很多人都通过自媒体实现了自己的财富自由,你何不尝试呢?

上面这些都是比较容易接触到,且可落地实施的事。虽然你还没有开始,也不知道从哪里开始,不过通过这篇文章总算是有一个清晰的认知了,可以提前往这些方向上靠拢。例如提前聚集人气、熟悉市场等,为自己后续的动作打下基础。

从现在开始做,慢慢增加自己的收入项,这样就算那天真的被优化掉,也能够不慌不忙。如果围水造田做得好,说不定早早就能够退休了呢。我自己的计划已经确定了,35 岁之前能够自己做主退休,不知道你有何计划?

如何提升

我自己做Android开发已经是第6个年头了,毕业后两年,有幸加入到字节跳动这个大家庭。在字节的4年,见证了太多人的来来去去,印象很深一个同事,跳槽阿里薪资直接double,但也看到很多人镀着“大厂”的金四处碰壁,终究还是倒在了技术上!

我自己或许也算是个成功的例子,在4年的时间里从1-1做到了2-2,当然,这背后的“辛酸泪”就留到日后再说。总的来说,归功于自己不断地学习,复盘总结,提升技术!以下分享一下我4年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!

以下完整学习笔记PDF,可以点赞+评论支持下打工人老弟,可在我的GitHub免费下载获取!

  • 架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO

架构师筑基必备技能

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计

设计思想解读开源框架

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据储存优化
  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

360°全方位性能调优

  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析

Android框架体系架构

  • NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

NDK模块开发

  • Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

Flutter学习

  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

微信小程序开发

  • Android相关源码解读
    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

Android相关源码解读

Android相关源码解读部分内容

由于篇幅原因,如有需要以上完整学习笔记PDF,可以点赞+评论支持下打工人老弟,在我的GitHub即可免费下载获取!

posted @ 2021-01-28 15:15  Button123  阅读(75)  评论(0编辑  收藏  举报