你知道的越多,你不知道的越多
点赞再看,养成习惯
背景
大家最近都在谈论大厂裁员的事情,鳗鱼的一个朋友,今年35岁,在腾讯工作,2019年年底,腾讯裁员,很不幸,他就是其中一位,这简直就是晴天霹雳,对于一个刚在深圳买房又刚生二胎的男人来说,这无疑是雪上加霜了吧,一家人的开销不说,光是月供就得1W+,也就是说,躺着不吃不喝每个月至少要1W+的开销,本来买房加上喜得贵子,应该算的上是人生赢家了,还没来得及高兴,就被打到了地狱!
毕竟是大厂出来的人,对于后续找工作也不是那么简单,第一年龄摆在这里,第二人都有点好面子,搞不成低不就,也就造成了,被辞退几个月了还在家里带孩子的现状,久而久之,家里人不抱怨那也是不可能的,房贷要还还有嗷嗷待哺的孩子要养,男人的难,不得不说真的很难!
他说他们部门调整,35岁还没达到某个职级就必须要被裁员了,非常焦虑。人无远虑必有近忧,他这次被打击到了,想提高一下自己,以免下次再有类似的心惊肉跳。但怎么提高呢?
程序员第一考虑的当然是技术,但现在真不知道学什么了:干了七八年的开发,手头的工作马马虎虎都没什么问题了。就算有问题,也是业务逻辑上的问题,系统太复杂,吃不透;或者系统里一些过时的/生僻的技术,真心觉得没必要花时间花精力去研究,能对付就行了,是不是?反正下家单位99.99%的几率是不会用到这些东西的的。
那么就是一些新技术了。新技术杂得很,不知道学什么,框架类库啥的其实没什么技术含量,一两个星期就可以上手,上手了之后呢?往深里学?其实和老旧技术一样的问题,谁知道下一份工作用不用得上呢!而且没趣,大概是因为没有挑战性吧,反正就那个样,还能咋的?
学习瓶颈
一直聊到这里,我都非常理解。我这个十年以上的老码农,体会比他还深。其实稍微干上一些年头,就是这个样子,看起来像是“学习热情下降”“懒得学习”,但本质上呢,两个原因:
1、本身的技能增强,能够应付日常工作,没有刚入行时那么大的压力了。
2、学习的边际效益递减,所以开始考虑投资/收益比了。
刚入行的时候,技术一丁点的进步,都能带来非常大的成就感,至少能少挨点骂,是不是?积累到一定时候,就可以跳个槽涨点工资啥的。但三五年过后,
我已经会了:
- 熟悉Android OS系统体系结构、framework层;
- 良好的Java技术功底,精通多线程、socket通信、文件操作等java底层技术;
- 精通Android的基本组件使用,熟练使用Android各种布局与控件,熟练运用各种动画特效;
- 熟悉View的绘制原理,精通自定义动画以及自定View的开发
- 有丰富的Android性能优化经验,善于解决系统崩溃,内存溢出和兼容性问题;
- 熟悉JNI技术和代码混淆
- 有单元<u style="margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline; word-break: break-word;">测试</u>、自动化测验及相关框架经验;
- 有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,代码冗余率低,代码注释清晰;
学会优雅转身
接下来和大家分享一下我这么多年的转型之路。姑妄听之:
1、转型技术管理
2007 年下半年到 2009 年初,我慢慢转向技术管理角色,开始管理一个研发部门。我走的路线是“技而优则管”。
简单讲,就是你技术牛 X ,轻松搞定各种问题,开始带人,接下来带团队管项目,再接下来,顺理成章就会被公司推着向技术管理者转型。
这种路线,也是一大半技术管理者走过的路线。如果你想转型技术管理,可以考虑这种。
“技而优则管”的要点,就是:行有余力。
什么意思呢,就是聚焦当下,高效搞定你的任务。当你体现出绰绰有余的样子,领导就会给你更多更难的任务。当你还能高效搞定,还看起来有余力,领导就会再给你更重要的任务……
如此循环,你就越来越重要,就会带人、带项目的机会。
假如你总是手上的活儿都做不完、做不好,就基本走不了这条路线。不过也还有其他路线。
2、加入创业者行列
2014 年 9 月份,我因某种契机,离开工作 7 年的公司,重新考虑自己的方向。到阳历年底时,接受朋友邀请,和他一起创业。
我之所以愿意去尝试,是因为:
- 创业和上班的未来可能性大不一样,万一创业成功,你的影响力、经济回报,都会上一个台阶。
- 一起做事的人靠谱。
- 做的产品,盈利模式明确。
当然,不幸的事总会发生——我们失败了。
我个人并没因为这样的失败经历而后悔,因为当你站在主人翁的角度和高度去为公司负责时,你对工作的认知,会发生巨大变化!这种变化,会对后续的工作和人生产生重要的正向影响。
如果你技术过硬为人靠谱,一定会有不少创业者邀请你加入他们的队伍。不要头脑发热,要仔细考察一下:
- 评估要做的产品是否靠谱
- 看看即将一起共事的人是否靠谱
- 设想近 2 年没有收入,自己和家人的生活水平能否维持
- 设想全力投入创业对自己和家人的生活有什么影响,自己和家人能否接受
3、 重回开发岗位
我从 2009 年开始做技术管理,到 2015 年底创业失败,历时 7 年。可是我在多个更好的管理机会面前,毅然选择回到技术岗位继续做开发。
为什么?
这是因为我们工作的目的,除了赚钱,还有自我实现。
自我实现包括几方面:
- 成长
- 成就
- 意愿
成长是指你做一件事之前和之后,有你想要的、积极的变化。
假如你做了十年开发,技术水平、解决问题的能力,还是和刚入行时差不多,那就叫没成长!
成就是指你做出了成绩并获得了相关干系人的认可。
你负责一个模块,用了最新的技术最牛逼的设计,也能 run ,实现了用户需求。你个人觉得很有成就,可是你用的技术框架过于复杂,维护成本很高,运维团队、二次开发团队都不认可,那就不是真正的成就。
意愿很好理解,就是你愿意在什么事情上投入你的时间和精力、你做什么事情时会感到开心。
比如我,在创业失败重新找工作时,就是因为觉得亲力亲为用技术去开发一个个软件、解决一个个问题比较令我兴奋和投入,所以才选择回到开发岗位上。
很多开发者都会遇到要不要转管理、要不要一直做技术这种问题,怎么选择答案,关键就在于你的个人意愿和你做某件事的感受。
可能有人会问,如果你一直做开发,年龄大了,怎么和年轻人拼?
我之前画过一张图,再贴出来给大家看看:
由这张图可以看到,开发者做软件分两次创造,第一次创造在头脑中完成,属于思考层面;第二次创造,是编码实现,是脑力劳动体力化。
如果你想要超越年龄,就要多在第一次创造所需要的能力上下功夫:
- 构建起来自己围绕着特定业务领域的知识体系
- 淬炼想象力、抽象、归纳、分析、整合、设计等
这样你就能思考得多、做得少、做得关键、做得好,就可以超越年龄的限制。否则如果你整天和年轻人一样只关注噼里啪啦敲代码,肯定没价值,很快被清退。
所谓高级工程师就是在技术上逐步沉淀,逐步体系掌握核心技术得来的。
我们程序员提升的方向无非管理者与架构师两种。要成为管理者,就应具备一定的管理知识、较高的情商以及良好的组织协调能力。
而想要成为移动架构师,就要肩负技术和组织两个层面的重任,构建自己完整的技术体系就尤为重要了。
当然从结果来论,能力突出架构师的薪资也同样会水涨船高,一个Android架构师能够拿到40万的年薪都再正常不过了。
程序员职业路线图
尾声
7月份已经过去了一半,这意味着已经进入秋招的预热器,在我的博客上很多朋友都在给我留言,需要一些系统的面试高频题目。之前说过我的复习范围无非是个人技术博客还有整理的笔记,考虑到笔记是手写版不利于保存,所以打算重新整理并放到网上,时间原因这里先列出面试问题,题解详见:
展示第六份学习笔记
直达领取链接:【Android高级架构师】
-
或者查看我的【GItHub】
最后祝大家都能找到满意的工作!前程似锦,一帆风顺。
网友评论