失业第21天,Android开发十年,我得到了什么?到底该怎么做?

以前还会感慨“时间过得真快”,但是失业第21天,我对时间的流逝已经习以为常。

从小就熟知一个道理:浪费别人的时间等于谋财害命,浪费自己的时间等于慢性自杀。为了使自己的时间流失的有意义,我这里就进行一下简单的总结:Android开发十年,我得到了什么?到底该做什么?

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第1张图片

忆往昔峥嵘岁月

我在计算机本科毕业后就进入了腾讯的QQ部门。

很荣幸接触到了当时可以说是顶尖的技术:在有限的宽带资源下达成接近一亿人的在线状态的互相同步。让用户登上PC端QQ后,他的好友能在一秒的延时内,接收到他上线的状态通知。

当时是2009年, 1亿人同时在线带来的同步流量是非常恐怖的。QQ接入层最牛B的地方,就是利用流量分层的思想,不仅在有限的带宽资源下达成了,而且还把时延控制在了1秒内。

这些都是在别的地方学不到的东西。在这里,我还是要感谢腾讯这个平台。这里也提示大家,大厂是真的比小厂好,不管是资源、机会还是平台,小厂都是比不上的。

在那一年多的时间里,我懂得了什么是架构设计,什么是定性分析和定量分析,接触了海量分布式系统的设计理念,培养起了软件质量的意识,心理上也完成了一个学生到职场人士的改变。

2010年,我转岗到了QQ邮箱,做自研存储系统的研发。

2011年,微信项目立项,半年后被安排进微信项目组。任务是研发一套适合微信业务的存储系统。

当时我经历了半年艰苦的过程,我几次想过放弃,不过最后还是坚持了下来。

**那半年,是这十年,成长最快的时期。**技术能力,技术视野,心理承受能力,都上了一个新层次。此处印证:历经风雨才能看见彩虹!成长,真的是被逼出来的!

2014年,经过多年磨难,我也由一个普通工程师成长为了一名高级工程师,薪资也从一开始的7K涨到了28K。

但是,现在我失业了。今天是失业的第21天。

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第2张图片

好汉不提当年勇

俗话说,好汉不提当年勇,就自己的经历来说,从业多年,还是大厂,差不多也算是见证了我国互联网的成长,我也算是一个有些技术的“大佬”吧,但是我还是失业了。

听起来是不是有些扯淡,我有工作经验,大厂光环,有技术积累,但是,我失业了。

今年33岁的我,被公司辞退了。

我一开始并不觉得这件事对我有什么影响,此处不留爷自有留爷处。这些年也没少有猎头找我,换个环境也挺好吧。

但是我没想到自己居然找不到工作。

以前那些每天都发信息问我的猎头也消失了,这样的状况一天两天我还没放在心上,直到一个星期后我收到的面试邀约还是寥寥,我开始慌了。

借着和其他几个大厂朋友喝酒的机会,我倾吐了一下自己心中的郁闷。

不过,我没想到,这帮经常跳槽的老油条还真的说出了一些以前一直被我忽视的点。

其中的最戳中我的一句话就是:你远没有你自己想象中的值钱。

不要被表象迷惑

我知道,那些兄弟们说这话其实就是想损我,但是我自己反思后感觉他们说的很有道理。

现在想要实现在线状态的同步难吗?还不是简简单单,会搬砖的基本都会,这在当时我引以为豪的前沿技术,现在已经是程序员的基础要求了。

说到底,时代变了。

我认识到一件事情:如果是以我现在的技术再面一次腾讯,我有90%的可能会被pass掉。我会的东西跟不上时代的变化了。

这么多年我都不过是在写些业务代码,工作上的激情也被平时的工作一点点的埋没了,也很少学习什么新的东西。

我一直以为自己是一个人物了,其实很多时候这都是一种幻觉,那些荣誉,外界的褒奖都是平台的,不是我的。离开了平台,我什么都不是。

我自以为是的“经验”比现在社会上遍地走的初级技术水平高不了多少。

虽然不至于是把一年的经验重复了十年,但是仔细清算下来我自己并没有收获很多牛掰的东西——我并没有掌握什么核心技术,我不是无可取代的,当我的体力跟不上新来的员工,我的价值就不复存在,不过是一个价格昂贵的熟练工,当公司觉得不划算的时候,就是我该离开的时候了

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第3张图片

发自肺腑的建议

这些天的失业也算是给了我自己一个好好反省的机会。

回首自己这些年的开发生涯,我有一些话想说给大家,可能有些不太好听,但是我是真心希望大家不要走我的老路。

1. 技术增长的黄金时期,好好把握机会,争取进入大厂

不要相信“小厂锻炼人”的鬼话,这个“黄金时期”通常就是毕业后的那一两年,刚刚进入社会,整个人还比较稚嫩,还有强烈的求学之心,这时间段可以获得快速的成长。

后续的成长就很依赖于是否碰上好项目了。没有好的项目,没有实战的经历,技术能力很难有根本性的提升。这也是我为什么建议大家争取进大厂的原因,大厂的资源和接触大项目的机会更多。

2.我们需要提高的不仅仅只有技术,还要接触一下相关的其他工作,为以后做准备。

作为一名程序员,技术能力是很重要的。我建议职业生涯的早期,都要专注于技术,保证自己能有一项核心竞争力,但不应该止于技术,如果有机会接触业务,产品,管理,我建议都应该去试试。

当你进入了一个大平台,你可以获得的不只有技术上的提升,还有很多东西可以学,比如管理、比如人脉、比如渠道……这些你都是可以去学去获取的。

也可以为以后自己的发展转型或者是创业做准备。

3.不要太早进入管理岗,提高自己的技术更重要(技术才是硬饭碗)

看看那些秃头油肚的老板就知道管理并不轻松,这是是非常耗费精力的工作,特别是新晋的管理者,往往被搞到焦头烂额,这个时候大家根本就无暇顾及自身的技术提升。

所以我建议不要过早进入管理,工作三至五年后,再进入比较好。因为技术转管理易,管理转技术难!

4.未雨绸缪,尽早开始做职业规划

我自己就在这个上面吃了一个大亏。因为一直搞技术,每月收入还算比较可观就放松了警惕,忽视了自己的职业规划,没有早点做打算,于是沦落到失业的地步。

这里需要提醒的是,职业规划不是一个固定的计划而是随自身发展而变化的。短期规划,长期规划。

再次说一遍,职业规划要趁早!!!最好在进入工作后就开始思考这个事情,并且随着自己的现实处境做出合理的调整,永远不要安于现状。

另外,这里也提醒大家不要过度追求完美,合适的才是最好的。

5.要坚持

有时候,你的努力并没有马上显现出来,这个时候,你也不要轻易放弃,咬牙坚持一下,再坚持一下。当你觉得自己在某一件事情上坚持不下去的时候,想想自己坚持不下去的原因是什么,多从自己身上找问题。

在我的经历里面,每次的成长都不容易,正是因为我坚持了我才能拥有那些发展。

成也萧何败也萧何,我的失败也在于自己没有彻底坚持下去。没有坚持学习和成长。

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第4张图片

关于失业

我也并不是找不到工作,收到的邀约也有,但是没有合心意的。高不成低不就,我现在就是处于这样的一个尴尬境地。我想大家也有过这样的遭遇,下面分享一下我自己的规划。

首先,失业后,我们最应该做的事情,不是马上找到下一份工作,因为那是不可能的。这时候我们最应该做的事情就是,停止焦虑

第一步,停止焦虑

我们可以用两天,或者三天的时间什么都不做,抛开手机,抛开电脑,抛开网络,抛开各种人际关系,这些都是有工作在身时都抛不开的东西,哪怕休假,也抛不开这些负累,让自己的身心尽快脱离之前因工作而时常紧绷的状态。

过来人的经验,如果不想变废柴,切忌过长的休息时间,两三天就足够多了,千万不能多于这个天数,一旦延长,就可能延长很多天,到时候人变得懒惰松弛,很难扶起来,不利于后面继续进入职场。

第二步,重拾自律

我们以完全放松的状态过完了两三天的时间后,就要开始自律起来,做计划,并执行,这是失业后的第二阶段。

1.规律作息

**我们要每天保持早睡早起,按时吃饭的自律节奏,没有工作,不用出通勤,就一定要运动。**哪怕只是出门走走也是好的,然后我们就可以开始做计划了。

2.提升自己

给自己规划一笔资金,规划一个路线,加强自己的职业方面有需要强化的地方,也可以找些培训班去上……这些其实都是在为自己重回职场而充电的。

第二阶段的时间可以根据自己上一份工作的时间而定,比如第一份工作做了一年半,我辞职后,休息了三个月;第二份工作做了四年就辞职了,时间比较短,但是自己工作经验也积累了很多,所以不出十五天我就在新公司上班了。

**我在辞职后的时间,都用来提升技术了。**因为毕业工作后,对那些前沿技术很渴望,一直很渴望有机会自己也在电脑上跑一跑(最近在试Jetpack和flutter),但是平时工作一直都在写业务代码,而且一直很忙,领导就见不得你闲下来,没事也要给你安排事儿。回家后又觉得疲惫,一直没有机会提升自己,更新自己的技术库(这也是我被辞的原因之一吧)。

技术库更新。我资讯了很多行业大佬,把自己这段时间整理的Android最重要最热门的学习方向资料放在了我们一个两千人的技术交流圈的共享文件夹(点击此处可以直达,密码找管理)

人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。

  • 架构师筑基语言基础

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

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

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第5张图片

  • 设计思想解读开源框架

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

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

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

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第6张图片

  • 360°全方位性能调优

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

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

知识要点:
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化

3、开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle

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

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第7张图片

  • Android框架体系架构

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

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

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

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第8张图片

  • 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、机器学习

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第9张图片

  • Flutter学习进阶

2020 年无疑是 Flutter 技术如火如荼发展的一年。现在这门技术也依然非常有价值。

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

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

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第10张图片

  • 微信小程序开发

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

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

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第11张图片

  • Android相关源码解读
    这里大家可以去看这一篇文章:牛掰!阿里P7大佬爆肝半个月,把安卓源码解析编成了508页的PDF。

完整资料获取途径:点击此处可看大佬的公众号原文,里面有获取途径。

这个阶段还有一个非常重要的事情要做——写文,更确切的说,叫记文。不用长篇大论,就是每天记录自己新学的东西,做一些归纳总结,写写CSDN,更新一下自己的Git什么的(或者写写日记什么的也好)。

这么做,是为了让我们有动力保持自律,不然没有工作,一身轻松,很容易稀里糊涂一个月过去了(在工作的时候,不记日记没有关系,因为每个月的绩效考核都会让自己知道自己究竟做了多少事)。

第三步,准备简历

制作简历,投放简历,进入找工作的阶段。如果前面两步都走得很好,第三步也会顺理成章,有条不紊了。

俗话说,磨刀不误砍柴工,先打造一份优质的简历,争取更多的面试机会,面试机会越多,成功率越高!就算是找关系内推,简历也是少不了的。

这里建议大家做好心理准备,面试没过也别气馁,相信自己,最适合你的还在前面。

最后

人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。

欢迎大家加入,群资源共享。

失业第21天,Android开发十年,我得到了什么?到底该怎么做?_第12张图片

你可能感兴趣的:(面试,移动开发,android,flutter,程序人生)