十年开发老油条致Android程序员:我不建议你工作太拼命!

缘起

今天,和一个朋友下馆子喝酒。酒过三巡,菜过五味,我们开始倾吐最近的一些不如意之事。

自这位兄弟去年10月份从北京某大厂月薪3万的岗位上被裁,到现在已经失业一年多了。

这一年多的日子,他过得很不容易。

被迫结束北漂

这位朋友,我对他印象最深的是他被辞后,在朋友圈说的一句话:“唯一我终生搞不定的,我也放弃去搞定了。”

十年开发老油条致Android程序员:我不建议你工作太拼命!_第1张图片

原公司的18万离职补偿很快也就花完了,但是新的工作还是没有着落,落户也无望,他不得不结束北漂生活。

当时发这个动态的时候,他还没有现在这样的无奈和束手无策,心中更多的是解脱,然而短短一年,已经被失业折磨得体无完肤。·

过去的惬意和现在的窘境

他当初是在北京某大厂搞Android开发,不仅工资高,还不用加班(当然,工作没搞完,还是要自请加一下班的),一般10点到公司,7点可以走人,周末双休,而且福利好。

这一切都是理想中的样子,除了一开始入职上手时候的忙碌,熟悉业务后一切都很轻松,一开始还担心跟不上大家,后面看见自己在工作上也没有拖过进度,慢慢地,他就不怎么忧心工作和提升自己的事情了,基本上也没什么职业危机

他想着,自己怎么说也有10年开发经验,又在大厂待过,朋友圈也有不少人,不愁找不到工作。他觉得,即便大厂有年龄限制,自己去创业公司工作,也至少能带几个人,混个技术总监当当。

可万万没想到,被辞后他200多份简历砸下去,没拿到一个offer!

他想起那些“前人”的话:“被淘汰,基本上都是不思进取,没有提高自己。”他以前觉得自己不会的,如今明白过来,这句话不是危言耸听,现在已经后悔莫及。

2020年10月20日凌晨,他辗转反侧睡不着觉,刷知乎看到了一个相关问题:**找工作找到崩溃,该怎么办?**他回答:谢邀,十年Android开发,当时月薪30K+,现在已经失业一年多,还有房贷车贷要还,准备去美团或者饿了么当骑士了。

无法确定的未来

陈述完朋友的经历,我自己也忍不住在心底唏嘘——一边忍不住庆幸,一边又忍不住担忧:我以后会不会变成这样?

明明有长达十年的工作经验,为什么会沦落到这样的地步呢?这里其实有一个误区:**其实很多人都是一年的工作经验重复了10年。**尤其是搞咱们这一行的,永远不要相信有什么铁饭碗(除了体制内,其他的也都不是什么铁饭碗),只有熟练掌握的技术才是硬道理。

温水煮青蛙,等到危及生命,根本来不及自保。如果你也是和我朋友一样做Android开发,已经很久没有升过职,也很久没有加过薪,想有更好的发展却没有努力的方向,担心自己被辞退又不想安于现状的话, 相信今天的这篇文章会对你有所启发和帮助。

建议看完。不要在错误的道路上撞得头破血流,拖垮自己,最后错失改变的良机。

1、什么在决定Android程序员的职业发展上限?

误区一:勤奋决定上限!

有过几次跳槽经历的人都明白,很多时候,你在上家的工作经验,掌握的技术,到了下家的时候根本就用不上。这是一个事实,很多公司用的技术都是不一样的,产品的侧重点也不同,你被分配到的工作内容也不同,自然没办法直接沿用上家公司的经验。

在这样的情况下,如果你在以前的工作中只是一味的应付手头上的工作而不是去深究底层原理,那么你所谓的经验就是无用的。你再勤奋,做的工作再多也没有更多的意义,这就是真正的拿时间换钱

你没有自己的打算,没有长远目标的盲目勤奋,只是无良吸血资本家最喜闻乐见的现象。

最后老板赚到了钱,你却早早的榨干了自己的价值,等到身体熬不住了,就会被其他年轻人替代。

所以,以为只要勤奋就能决定上限的人,希望你们意识到这是错误的职场观念

正确的做法

凡事还是要多思考一下,有时间就多琢磨一下底层原理吧。凡事主动多想几个“为什么”,以后的路上就少一些迷惑。

比如,有时间可以阅读一下源码。

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

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

一方面,这些作品都是得到大众一致认可的,是“已经成年的巨人”,我们去阅读这些作品,就相当于站在巨人的肩膀上看世界,吸收前人的经验和成果。

另一方面,阅读源码可以让我们学习到优秀的代码风格和设计思想,还能真正做到“知其然,并知其所以然”,还可以指导自己更加灵活的使用API,更加快速地找到系统bug的根源。

但是阅读代码也会花费很多的时间和精力,而且可能由于自身的水平限制,导致理解上面会有偏差,而这份资料可以解决很多问题。

由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,508页详细完整版的《Android 开发相关源码精编解析》。

这里有一份源码解析,需要的朋友可以点击下方蓝色字体进去取。

点击此处的蓝色字体,进去开放免费下载!我的GitHub:https://github.com/xieyuliang/Android-P7

资料详情

目录总览

  • 深入解析微信 MMKV 源码
  • 深入解析阿里巴巴路由框架ARouter 源码
  • 深入解析AsyncTask 源码(一款 Android 内置的异步任务执行库)
  • 深入解析Volley 源码(一款 Google 推出的网络请求框架)
  • 深入解析 Retrofit源码
  • 深入解析OkHttp 源码
  • 深入解析 ButterKnife 源码
  • 深入解析 Okio 源码(一套简洁高效的 I/O 库)
  • 深入解析 SharedPreferences 源码
  • 深入解析 EventBus 源码
  • Android 自定义注解初探
  • View 的工作机制源码分析
  • Android 触摸事件分发机制源码分析
  • Android 按键事件分发机制源码分析
  • 深入解析 Handler 源码
  • 深入解析 Binder 源码
  • 深入解析JNI源码
  • 深入解析Glide源码
  • ……

知识点精编细节

1.深入解析微信 MMKV 源码

  • 初始化
  • 获取
  • 修改
  • 删除
  • 读取
  • 文件回写
  • Protobuf 处理
  • ……

十年开发老油条致Android程序员:我不建议你工作太拼命!_第2张图片

2.深入解析阿里巴巴路由框架ARouter 源码

  • 路由跳转
  • Service 的获取
  • 拦截器机制
  • 注解处理
  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第3张图片

3.深入解析AsyncTask 源码(一款 Android 内置的异步任务执行库)

  • 功能概述
  • 创建
  • 执行
  • 取消
  • 注解处理
  • 线程池
  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第4张图片

4.深入解析Volley 源码(一款 Google 推出的网络请求框架)

  • Volley(创建 RequestQueue……)
  • RequestQueue(创建、启动、入队、停止、结束……)
  • ExecutorDelivery(ResponseDeliveryRunnable……)
  • NetworkDispatcher
  • CacheDispatcher
  • Request(构建、取消、Response 转换、Response 的交付、Error 的交付、结束、缓存、Event 机制……)
  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第5张图片

5.深入解析 Retrofit源码

  • 创建网络请求接口的实例
  • 使用步骤
  • 源码分析
  • 外观模式
  • 代理模式
  • 源码分析
  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第6张图片

6.深入解析OkHttp 源码

  • 整体架构
  • 拦截器&一个实际网络请求的实现
  • 任务队列
  • 缓存策略
  • 连接池
  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第7张图片

7.深入解析 ButterKnife 源码

  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第8张图片
    点击此处的蓝色字体,进去开放免费下载!我的GitHub:https://github.com/xieyuliang/Android-P7

8.深入解析 Okio 源码(一套简洁高效的 I/O 库)

  • Sink
  • Source
  • Buffer(Segment、数据转移……)
  • BufferedSource
  • BufferedSink(write、flush、emit……)
  • Timeout 超时机制(Timeout、AsyncTimeout……)
  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第9张图片

9.深入解析 SharedPreferences 源码

  • 获取SharedPreferences
  • 编辑 SharedPreferences
  • 提交 SharedPreferences
  • ……
    十年开发老油条致Android程序员:我不建议你工作太拼命!_第10张图片

10.深入解析 EventBus 源码
11.Android 自定义注解初探
12.View 的工作机制源码分析
13.Android 触摸事件分发机制源码分析
14.Android 按键事件分发机制源码分析
15.深入解析 Handler 源码
16.深入解析 Binder 源码
17.深入解析JNI源码
18.深入解析Glide源码
……

误区二:最新的就是最好的,旧的都是无用的

很多程序员,一辈子都在追求最牛逼的语言,最新的技术,对过去掌握的东西弃如敝履。他们一辈子都在学习的路上,明明那么拼命的学,最终却一无所成。

新的语言出来了,完了完了,这个凉了,赶紧学起来,赶紧学起来。

  • Python出来了,C语言凉凉,赶紧转Python吧!
  • 啊,Java语言呀,这个好啊,Python和C语言都凉了,赶紧学这个!
  • 哟,现在流行移动开发啊,这个好!赚钱呀!弄起来弄起来!
  • ……
  • 什么?华为开发了鸿蒙?完了完了,Android不行了,凉了呀!
    ……

再比如:

  • MVC架构模式好用,学会了,其他都是渣渣
  • MVP架构模式出来了呀,这个好!MVC都是渣
  • 什么?又有新的?我来了!过去的都是渣
  • ……

有什么用呢?不过一直都在追逐皮毛,从来不曾深入。

一门语言/技术要能够达到投入实际生产的程度是需要静下心来深入学习的,仅仅只是了解了冰山一角的人是没有资格对这门技术评头论足的。

没错我就是在说那些一天到晚都在唱衰Android的人。

现在Android已经凉了,还学什么?

在这里,我也不会睁着眼睛说瞎话。其实,早在2011年我就在网上看见很多人说“Android系统要完蛋啦!”“劝退Android人……”“学Android这不是49年入国军吗?”

但是,时过9年,Android系统这不是仍旧坚挺吗?

目前对它唯一有威胁的是谷歌的Fuchsia,但是,谷歌的真正用意是做个备选而不是替代,因为替代的难度太大了,毕竟Android已经广泛的应用在手机、平板、车联网、物联网、智能电视等领域,已经是名副其实的终端霸主。新弄一个系统,再让开发人员重新开发这些定制系统和应用?很难有开发者买账的,安卓开发又不是傻子,不会重蹈塞班系统的覆辙。

所以Android系统还会存活很长的时间,具体多久不好预测,但是至少它会比大多数程序员的职业生涯要长。这里就不提鸿蒙了,还远着呢,且就目前来说,安卓开发可以无缝切入鸿蒙进行鸿蒙开发,完全不慌。

所以,吃这碗饭的人可以先把心放回肚子里,不要想太多了,当下最重要的问题是:这碗饭还在,但是你还有端碗的资格吗?

Android人,心浮气躁了

前面说了,Android还是有不错的前景的,但是现在的就业情况不容乐观也是真的

从根本上来说,这是因为现在中国的受教育水平提高了。不只是体制内的学校,还有体制外的各种培训机构,他们给了更多人学习Android的机会,Android人太多了,特别是初级水平的人,特别多。都快2021年了,用轮子组个APP谁不会呢?网上的教学视频那么多,跟着做啊。

现在的情况,说到底,是抢着搬砖的人越来越多了,会写架构,造轮子懂原理的人还是极度稀缺的。

说到底,Android人,必须进阶学习了!

这里我简单总结了一下当下值得大家认真投入的点:

  • 巩固Java基础
  • 学会设计思想解读开源框架
  • 高级UI
  • 音视频开发
  • 微信小程序
  • Flutter跨平台学习
  • 360°全方位性能调优

这些点都是现在大厂所重视的方向。有一位大佬根据自己多年的开发经验总结出来了一份2983页PDF,58万字的系统性学习笔记,这份资料还曾经得到过郭霖的推荐,还曾经在鸿洋的公众号上面看见过,不过后面好像删了,这是前阵子在朋友圈看见的别人的转载,学习指路↓↓↓)

点击此处蓝色字体,直接免费获取:https://mp.weixin.qq.com/s/BUli67GQSfSm5ZeZoUJHog

你可能感兴趣的:(android,编程语言,移动开发,职场)