写给2023年andriod程序员的一封信

hi,粉丝朋友们:
大家好!近来很多粉丝朋友都在说android工作特别难找,一个岗位都是几千份简历…大家心里都是特别的焦虑。今天就来给大家写一封信,给大家分享一些经验和办法,帮助粉丝朋友们更好的度过这个寒冬。

裁员风暴

2023年我相信绝对是我们android程序员出现以来最艰难一年,也是互联网最艰难的一年。在这一年,我们突然发现全体大裁员原来离我们是那么的近,是不是以前只是听听的裁员故事,现在一个个的发生在我们自己或身边最近的人。
在这里插入图片描述

虽然环境如此艰难,但是我们每一个个体都要继续生存下去,我们大部分同学都没有多个技能,大部分都是只会当android程序员,上班拿工资的。所以我们大部分人没有其他选择,只能用自己能力找一个更好的工作,拿更多薪水方式。但是大部分人都更多是焦虑居多,包括很多粉丝刚开始也是,天天和我抱怨哈,说外面工作不好找,面试都很不理想,给我展现的根本找不到工作了。哈哈,其实真的是这样么?这样环境一样有很多同学可以顺利通过面试,顺利上岸大厂,找到一份很好的工作。

所以说与其天天抱怨大环境不好,不如我们静下心来好好沉淀,修炼好自己内功,当你修炼的差不多了,一旦有好的面试机会来啦你才可以牢牢把控住,如果只是一味的焦虑,不去努力寻找方法提高丰富自己,那么随着工作年龄增长,那么后面你的竞争力更差。那么又得想好除了当程序员你还能干啥呢?

未来规划

针对android程序员来说,马哥这边给出一些建议:
1、互联网应用开发方向
–除了正常的业务开发,可以考虑深入研究性能优化方向,重点积累这块的经验,这块的招聘和工作机会以前是最多的,也是这个方向支撑者移动互联网,但是现在整体互联网行情和app基本上全部被top的几个app抢走了了时间,所以后面这块就业只会越来越难,就业越来越卷。
2、android设备类系统应用开发方向
–这个其实和互联网应用开发区别如下:
互联网app重视不断的业务更新迭代节奏很快,喜欢用各种花哨技术和第三库等,大部分时间都是重复做业务,这里就体现出来做的东西会很多,知识面广追新程度会高,但是基本上都是基于sdk开发,哪怕不了解系统framework等也没啥问题。
系统应用毕竟属于安卓设备类厂商,更新周期较慢,一般一年可能有2个大需求版本哈每个耗时1-2个月,其他时间大部分在维护bug和优化性能,保证系统应用app的稳定,需求方面经常会波及到系统相关,所以需要比较熟悉系统framework及其他系统应用功能等,需要精细打磨,会对每个知识点比较精细,对android知识的原理,和性能优化等要求也较高。
主要的业务有launcher,systemui,setting,时钟,日历等,但是这个android设备公司方向其实一直发展都是很稳定,毕竟都是卖实体设备的公司,所以说这块其实就业率一直是比较稳定一些,但是说实话大部分做系统应用做久了也是容易产生成长瓶颈,后续大部分都会想做framework开发。

3、android framework开发方向
这个和系统应用开发公司一样,一般都是android设备公司,比如手机公司,汽车公司(说实话今年android就业就靠车机开发顶着),电视机,广告机等,基本上现在可以看到屏幕的设备都很大概率是android设备,framework开发这个属于系统层面东西,难度相对app开发要大。市场上其实会的人比较少,但是需求不少,而且薪水相对来说也是比较高的。最重要framework开发的技术栈比较深,分为很多个业务模块,比如binder,input,wms,ams,pms,surfaceflinegr,audioflinger,分屏多窗口等等,基本上每一个模块都够一个人研究很长时间。所以说市场上很难找到一个人说他可以精通系统所有framework的模块。主要工作内容也是做系统需求和系统bug修复等,这个framework需求对于大厂来说修改的应该是最多的。就业年龄的这个framework部分一般35岁以上工程师都比较多,这里不太存在说年龄大了不要情况,主要还是因为他本身难度比较大,没有长期时间的积累很难达到一个非常深入的水平。

framework学习经验分享

android framework的初级学习者们,这里大部分是app的开发者想转framework开发,普遍有以下以下几个困惑痛点:
1、不知道framework学了可以干啥,以为学习framework就是看看源码梳理流程而已没有实际用处
2、不知道怎么学framework,不知道学啥,自己自学一堆,但是又感觉啥也没学会
3、分析系统源码时候动不动就被卡住,很难靠自己从头到位分析源码
4、源码学了那么多,根本记不住,也没办法用于实战工作
5、工作中framework的问题压根不知道怎么入手,不知道怎么排查

如果你刚开始学习framework有以上几个问题属于很正常现象,这里就分享一些我的学习经验:
1、framework源码分析
虽然是源码分析,但是一定要实战大于只看代码看书,这里实战希望学framework一定要编译运行起来自己的aosp系统,这个环境都没有搭建好,那么去网页看看源码那基本上都是靠猜,或者你只停留在看别人内容。因为只看代码没办法深入理解framework,为啥?因为framework的系统源码太多了,一个方法可能上千行,你难道不实际加log和debug调试,你能知道进入方法后走哪个分支?因为代码太多,条件判断太多,你不调试打印等你根本不知道他具体走哪里。你只有跟着去分析了,走到那个地方和你猜想的执行顺序不一样,理解相关原因,你才可以深刻的记住这个坑。不然说句实话,今天看了明天忘记。
2、自学时候,学会针对framework相关需求进行思考,比如你是学习framework的分屏模块时候,可以拿你手机的分屏功能进行调研,调研一些功能时候,你还没实现过的话,你可以考虑,自己尝试修改应该在framework哪里进行修改,有可能不知道怎么实现,但是你可以通过已有的framework知识用各种方式调研看看人家怎么实现,慢慢的你积累知识越来越多,你的framework技能就成长快
3、学会使用相关的dumpsys等相关调试命令,其实这些调试等命令输出内容既可以很好展现出当前framework某个模块的运行情况,要学会这些命令的使用和查看模块的信息情况,完全可以通过这些输出来进一步巩固对模块的掌握程度。也可以通过这些输出分析相关bug及竞品调研的情况
4、针对工作中的一些bug问题,要有追查根本原因的精神,在framework工作中经常有同学查相关bug时候,为了简单或者说自己根本没有调查到根本原因,经常采用一些只改表面原因的方法。这样行为非常不好,首先没查到根本原因,你根本没办法评估该问题的修改方案波及情况,很可能这里改了另一个问题也出来了。还有不要丢失一个可以让你有机会深入系统的机会,马哥以前在公司时候经常也分析一些框架偶先闪黑,冻屏,性能等问题,很多时候一个偶先问题追查一星期都很正常的。

好了今天就暂时和大家说这么多,主要就是希望大家在这种普遍失业大环境下可以沉下心来,不是每天都处于一种焦虑的状态,人会焦虑说明你对未来其实是担心恐惧的,只是你心里不知道该怎么办。所以解决焦虑最好方法就是,重新定位好自己,明确目标,一心一意干。
最后推荐一下马哥的实战android framework开发合集课程,先说明这个完整版本是付费的,这个framework课程特点就是要求你一定要实战,学习时间全职学最少1.5个月,上班兼职学3个月,需要的可以私聊公众号我。
免费的关注看我的b站视频:
https://www.bilibili.com/video/BV1ah411d7Y3/
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/learnframework/article/details/133125138