美文网首页
2年前我从华为外包辞职,如今干到创业公司倒闭,36岁的我该何去何

2年前我从华为外包辞职,如今干到创业公司倒闭,36岁的我该何去何

作者: Kepler_II | 来源:发表于2021-03-10 14:25 被阅读0次

    大厂梦

    36岁生日这天,我失业了。
    前年,我从华为外包辞职,去了一家深圳一家创业公司。公司主营项目是借贷app开发。本想着能撑两年,结果一年不到,国家管控金融,资金链断裂,公司倒闭。
    记得去创业公司时,我的朋友觉得这个选择有风险,外包更加稳定,“基本跟事业单位一样。”
    但也是源于稳定,让我感到了不安。
    来华为外包前,我同样在一家小型科技公司做了6年。和大部分频繁跳槽的程序员相比,我其实还算是“定力很强”。
    小公司团队氛围好,工资待遇也不差,但技术焦虑一直裹挟着我。六年里,他写代码全靠网上自学,缺少技术交流氛围,“没人告诉你写的怎么样。”
    我觉得可以用这一种具象的表达来描述自己的代码水平,“别人去南山,可以直达,我可能要绕到龙岗和福田,再到南山。”
    来华为外包,原本是希望解决技术焦虑的一根稻草,“做大项目,学新技术。”
    可现实是,我在公司过着朝九晚九的生活,偶尔新版本需要测试,还需要通宵赶工。
    “技术一点没学到,就学了一堆办公室政治。”


    转型之路

    上文就源于我的一位网友和我沟通的真实案例。我开通自媒体账号这几年来,接触到的一线开发可谓数不胜数。这些人向我提过很多问题,技术问题有之,职业规划有之,撩妹脱单有之(虽然我都解答不了…),但出现频率最高的,却还是这些问题:“我可以写代码一辈子吗?”、“我已经三十多了,依旧只能写代码,还要继续下去吗?”、“某司程序员 34 岁就被下岗了,我马上就三十了,怎么办?”

    作为一个同样即将迈入中年,我来分享我的经验,以飨读者朋友。仅代表个人观点,如果你有不同看法,欢迎评论留言,特此声明。

    在我还是 25 岁的时候,我和很多程序员一样,其实有同样的担心,老了以后怎么办?写代码难道还能写到 30 岁?

    当我 30 岁的时候,我发现自己创业去了,虽然非常苦逼,但是苦中作乐,还挺有挑战的。当然创业是没有退路的,创业要是失败了,估计更加没人要了。所以还是先想创业的事吧,35 岁的大龄程序员问题还是 5 年以后再说。

    一晃我就 35 岁了,创业公司卖给 CSDN 了,我在 CSDN 当 CTO 了。话说这个 CTO 其实也很苦逼,操心的事太多,每天各种杂事,压根没空想中年危机的话题。

    然后我马上就 40 岁了,不算有钱,但养活自己完全没问题,想着趁自己还能蹦跶几年,再做点什么吧,就到丁香园了。

    现在回想 25 岁的时候,当初的担忧真的是杞人忧天了。我现在写代码也完全没问题,偶尔也会写点代码练练手,自娱自乐一下。但是从 2010 年我 34 岁开始,工作上我已经不适合写代码了。不是我不愿意亲自写代码,我反而觉得写代码很有成就感,而是我不写代码对公司的价值更大,我需要把时间和精力放在规划产品方向、决策技术架构、培养团队,提升公司战斗力上。

    那些 70 后的程序员都消失了吗?

    如果你现在去一家互联网公司看看,你会发现程序员的主力都是 90 后了,80 后都很少,至于 70 后几乎绝迹。那么一个有趣的话题是:「70 后的程序员都消失了吗?」

    其实没有消失,而是 70 后的程序员已经成为各个互联网公司,各个 IT 公司的高层了。那么你会问:「一个公司就几个高层职位,哪有那么多职位给 70 后呢?」

    答案是:「20 年前根本就没有多少 IT 公司,70 后的程序员也没有现在动辄上百万的规模」。这 20 年来,整个 IT 和互联网行业扩大了 100 倍都不止,创造了海量的就业机会,无论是高层还是一线岗位。

    那么还有 70 后程序员奋战在 coding 第一线的吗?当然有!比我还大一岁的高春辉,中国互联网的活化石啊。老高身为一家公司的老板,仍然不肯放下 coding 的乐趣,至今坚持亲自写代码。

    所以看起来,到了 40 岁,无论自己写不写代码,似乎都不至于年老色衰,程序员这个职业的保鲜期似乎没有娱乐圈短。作为一个年轻程序员的你来说,应该怎样延长自己的保鲜期呢?

    20-27 岁:技术积累

    假设本科 22 岁毕业,那么工作的前 5 年对你来说是打基础的阶段。在这 5 年时间里面,你要积累足够的代码量,打磨自己的技术实力,成为某一个技术细分领域的牛人。

    而我自己当年在这个阶段的努力程度是如饥似渴的,春节都不回家,蹲在出租房里面啃技术文档。刚参加工作的时候,曾经连续一个月在公司打地铺睡觉。

    28-35 岁:形成思维方法论和知识体系

    当你积累足够的代码量,例如超过 10 万行代码以后,你应该形成了自己的思维方法论和自己独立的学习技巧,任何新的技术在你眼中都能迅速的看到技术的本质,快速吸收成为你的知识体系的一部分。

    到了这个阶段,你会发现你所完全不了解的新技术新知识是非常少的,新技术对你来说也不过是几天时间就把玩的很好的玩具,学习越来越轻松,掌握的知识储备越来越多。

    你开始逐渐的不再满足于纯技术领域的探索,而是思考更多的问题:如何将技术转化为生产力;什么技术在什么样的场合能够发挥最大的价值;技术团队应该怎样构建;在一家公司里面,我怎样才能将自己的技术能力最大化的发挥出来?

    在这个阶段,积累技术对你来说简直是小菜一碟,你更需要磨练的是思考能力,形成自己的思维方法和知识体系,这将是你帮助你一生的武器。就拿我们Android开发举例:

    一线互联网移动架构师成长知识体系大纲包括:

    Java部分:

    • 深入Java泛型篇
      泛型的作用与定义
      通配符与嵌套
      泛型上下边界
      RxJava中泛型的使用分析
      Json解析泛型与Bean强转原理实践
    • 注解深入浅出篇
      Fragment
      自定义注解
      注解的使用
      Retrofit中的注解原理项目实战
      自定义注解实现 ButterKnife项目架构实战
    • 并发编程篇
      线程共享和协作
      线程深入理解
      操作CAS
      并发原理和大厂相关面试题
      Android AsyncTask原理解析
    • 数据传输与序列化篇
      Serializable原理
      Parcelable接口原理解析
      Json
    • Java虚拟机原理篇
      垃圾回收器机制
      内存分配策略
      Dalvik虚拟机
    • 反射与类加载篇
      反射基本概念与Class
      ClassLoader与类加载器
      热修复类加载项目实战
    • 动态代理篇
      基本原理
      动态代理之RxJava与Retrofit应用实战
    • 高效IO篇
      JavaIO体系
      File文件操作
      APK加固
      ......

    Android高级UI与FrameWork源码:

    • 高级UI篇
      WebView交互架构项目实战
      布局ViewGroup原理解析
      Material Design设计的App
      京东自定义view流式布局项目实战
      今日头条文字渐变特效项目实战
    • Framework内核解析篇
      Binder
      Handler消息机制
      Dalvik VM进程信息系统
      深入理解WMS
      插件化项目实战
      增量更新项目实战
      PackageManager Service
    • Android组件内核篇
      Activity与调用栈
      Fragment的管理与内核
      Service 内核原理
      组件间通信方案
      ......
    • 数据持久化篇
      Android文件系统
      轻量级Kv持久化
      嵌入式Sqlite数据库

    性能优化:

    • 设计思想与代码优化篇
      数据结构
      算法
      设计模式
      六大原则
    • 程序性能优化篇
      OOM问题原理解析
      ANR问题解析
      Crash监控方案
      启动速度与执行效率优化项目实战
      布局检测与优化
      内存优化
      耗电优化
      网络传输与数据存储优化
      APK大小优化
      屏幕适配
    • 开发效率优化篇
      分布式版本控制系统Git
      自动化构建系统Gradle
    • Android职业方向篇【这是笔者新加入的,对于Andorid开发者而言非常重要,要有自己的职业规划】
      资深UI工程师[自定义控件,源码方向]
      Android底层开发工程师[C++音视频/图像算法/智能家居]
      Android资深架构师[造得一手牛逼的好轮子,熟悉Framework,Java高级知识等等]
      全栈工程师(以Android为核心技术)

    • Android工作工具篇
      Git/SVN(代码版本控制)
      调试工作
      测试

    • Android工作必备技能篇
      玩转Gradle
      打包 & 多渠道打包
      加固 & 混淆

    • Android跨平台开发篇
      WebView & 第三方内核
      Flutter

    • Android项目学习篇
      实战项目学习


    Kotlin部分:

    基础部分

    • 基本数据类型
    • 数组
    • 集合
    • 函数
    • 类 & 接口
    • 扩展方法
    • 空类型安全
    • 智能类型转换
    • ......

    高级部分

    • 泛型
    • 反射
    • 注解
    • 协程

    计算机网络部分

    • 五层网络模型
    • http[请求头,响应体,三次握手,四次挥手等]
    • https
    • DNS
    • Socket & WebSocket
    • 浏览器访问一个url的过程
    • Android技术应用【Andorid中能运用的网络知识点】

    如果觉得看起来比较麻烦,需要PDF版本,或是需要更多学习资料(大厂面试真题解析),都可以点击快速入手通道领取。希望我们每一位有追求的Android开发同胞都能进构建属于自己的知识体系!也欢迎和我们一起学习交流

    35 岁以后:了解自己,把自己变现

    毋须讳言的是,35 岁以后你的一线 coding 能力一定是下降的,你写代码绝对不如 25 岁的程序员快,效率高。但是这不重要,因为编程只是你整个武器库当中相对最不重要的了,你的经验,你的视野,你的架构能力,你的管理能力,你分析和解决问题的能力已经远远不局限于技术这个领域。

    30-35 岁这个阶段,最关键的是了解自己。知道自己擅长什么,自己的优势在哪里,怎样才能够最大化自己的价值,同时也知道自己有什么缺陷,怎样避开做自己不擅长的事情,不勉强自己,不让自己处于对自己不利的环境,这是人生的智慧。

    一个人能够客观的认识自己是非常困难的,很多人终其一生都没有活明白,既不知道怎样发挥自己的天赋,也拒绝承认自己的缺陷。在 35 岁以后,要接受一个不完美的自己,知道怎样扬长避短,最大化个人价值。能够做到这一步的程序员,人到中年完全不是程序员生涯的终结,反而会走向个人事业的巅峰。

    • 成长为核心业务的核心骨干?

    • 成长为技术管理层?

    • 转型业务专家,转型做业务咨询顾问?

    • 转型产品经理,产品总监,走产品线?

    这些都可以,都是一些具体的职业发展道路的选择问题。然而无论选择,只要你始终保持开放的学习心态,不断积累知识和经验,构建个人的知识体系,磨练自己的思考能力,并且时常自省,中年对你来说完全不是危机,而是巅峰。

    写在最后

    「程序员能纯靠技术渡过中年危机吗?」这个问题,我和很多程序员交流过大家的看法,绝大多数程序员都认为纯靠技术渡过中年危机不现实,有这样技术实力的人永远都是少数。至于怎么用常人能落地的手段去做一些尝试,我在上面的经历可以作为参考。当然你有好的建议和想法,欢迎在评论区分享交流!

    有一位程序员从前辈那得到的点拨我觉得非常有见地,最后再 share 给大家:

    “你思路要开阔点,一个项目成功可不仅仅是写代码这么简单。你也做过很多项目效益分析,你自己想想,有几个项目是真的死于技术不行的。如果老板期望过高呢?如果给的资源不够呢?如果其他部门不配合你呢?你做精准营销,人家一线销售根本不鸟你,你怎么精准?如果你能从结果出发,倒推做成项目需要什么。用这些分析去影响业务部门,岂不是比别人挖好了坑,自己边骂边填更好?”

    本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

    相关文章

      网友评论

          本文标题:2年前我从华为外包辞职,如今干到创业公司倒闭,36岁的我该何去何

          本文链接:https://www.haomeiwen.com/subject/nycwqltx.html