10年Android “大牛“ 居然进不了大厂

文章讲述了程序员在长时间工作中忽视个人技术成长,可能导致的‘中年危机’。Android开发人员需要保持对新技术的兴趣和主动性,不断提升自身技能,如深入研究系统库、开源库和AndroidFramework。同时,文章提到了学习路线的规划,包括理解系统启动流程、IPC机制和Handler等关键知识点。此外,文章还指出在行业竞争中,年轻且薪资更低的程序员可能会取代经验较丰富但技术更新缓慢的程序员。

忆往昔,这是不是你

一个程序员在10多年的从业经历中,一直没好好考虑过如何构建自己的核心竞争力。

长年如此,导致他就跟着公司慢吞吞的走着,就像温水煮青蛙,直到30多岁的时候,突然发现自己几乎一无所长。

举个例子,比如从技术角度而言,可能发现自己不是什么技术专家,也不是架构师,没有任何一个技术领域有足够的深度。

甚至可能都没好好读过什么技术的源码,很多最新的技术,比如大数据、人工智能、微服务、互联网,等等,都没跟上。

而10多年来,一直做的事情可能就是重复以下:带着几个小弟,做传统的软件系统,然后整天就是研究各种软件的需求,设计一些简单的架构。

然后使用的技术都是比较过时的,一直是一些增删改查的事情,可能涉及到一些其他的技术,但是那些技术很多都是非主流的,或者是不流行的。

最后,发现自己10多年工作下来,跟小年轻相比,唯一的优势好像就是做的那种CRUD的项目比较多,经验丰富一些罢了。

在这里插入图片描述

公司遇到危机时,他就第一时间被下通知了。

站在老板的角度,假如手里本来有10个大龄程序员作为骨干,此时完全可以拿掉其中的8个。

老板这时就留下2个大龄程序员,让他们为了保住饭碗,加班加点给公司撑住剩下的业务。

而大龄程序员的工资可是公司里最高的那一批人,把他们拿掉8个,是不是一下子节省了很大的成本?

如果公司还有业务需要支撑,完全可以找几个工资才10k的小年轻程序员进来把活儿顶着,跟着2个大龄程序员继续做就行了。大家想想,是不是这么回事?

在遇到困难的时候,工资高、年龄大、加不动班的大龄程序员,很有可能就会率先“被”牺牲掉,用来节约公司成本。

然后呢,换上几个薪资低、年龄小、可以天天加班到凌晨、还有充足的精力学习各种新技术的程序员,给公司顶上。

所以从今年四月份被辞至今依旧没找到下一份工作,也变得越来越抑郁,觉得即将步入30岁的行列,却一事无成,不甘心从事一眼就能看到头的工作,大一点的公司自己又进不去。

所谓的程序员“中年危机”就这么形成了。到底是谁造成的!

在这里插入图片描述

Android开发怎么提升核心竞争力?方向在哪?

我们就需要知道为什么很多人会一直停留在三,四年的水平上,而后一直在重复以往的经验?

我认为最主要的一点就是主观能动性,或者说兴趣,如果你对Android开发没有太大的兴趣,或者说对于新的技术没有那么感兴趣,就觉得自己现在会的已经够了,从而不想学习。

当然还有两种原因:

1、本身的技能增强,能够应付日常工作,没有刚入行时那么大的压力了。

2、学习的边际效益递减,所以开始考虑投资/收益比了。

刚入行的时候,技术一丁点的进步,都能带来非常大的成就感,至少能少挨点骂,是不是?积累到一定时候,就可以跳个槽涨点工资啥的。

怎么规划学习路线

第一阶段,我觉得一个比较好的路线是,把日常开发常用的各种系统库,开源库,代码好好研究一遍,比如我用了butternife就要了解背后的apt,以及apt衍生出来的一系列库比如Hugo。当然这大部分情况是初级进阶的第一步。这个阶段应该是尽量很好的用技术完成业务需求。

第二个阶段,我觉得可以尝试去了解Android Framework比较细节的一些东西,比如activity启动流程,顺便分析清除Activity stack的管理,比如了解Android的资源加载机制,顺便了解aapt是如何打包Android资源的;又比如Java的类加载机制,这里配合资源的加载机制,很自然的就可以去了解Android的hotpatch机制,插件化的实现,开一些这方便的开源库或者自己撸一个也就自然而然。

关于Framework 可能很多人了解的不多,而且网上关于这方面的资料也少,这里我就分享

一份Android Framework源码希望对大家有帮助。

由于文档内容过多,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的看文末有免费的获取方式!(文末还有使用ChatGPT机器人小福利哦!!大家不要错过)

《Android Framework源码开发揭秘》

本学习手册深入剖析了Android系统源代码,详细讲解了Android框架初始化过程及主要组件的工作原理,旨在通过实例和案例介绍 Android Framework 的核心概念和技术,从而帮助开发者更好地理解 Android 应用程序的设计和开发。 该手册适合具有一定 Android 应用开发经验的程序员,希望能通过深入学习 Android Framework 来帮助开发者更好地理解和掌握这一技术。

img

第一章 系统启动流程分析

Android系统完整的启动过程,从系统层次角度可分为 Linux 系统层、Android 系统服务层、Zygote进程模型三个阶段; 知识要点:

第一节 Android启动概括、

第二节 init.rc解析、

第三节 Zygote、

第四节 面试题

img

第二章 跨进程通信IPC解析

Binder作为Android进程间通信的机制,可以看做是一个驱动。在Android中,常见的进程间通信例如系统类的:打电话、闹钟等;自己创建的:像WebView、视频播放、音频播放、大图浏览等。

img

第三章 Handler源码解析

第一节 源码分析

第二节 难点问题

第三节Handler常问面试题

在这里插入图片描述

搭建了一个基于chatGPT的微信群聊机器人,24小时为大家解答疑难技术问题, 需要的可以扫描二维码进群。

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值