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

2023年 7月 25日 94.1k 0

忆往昔,这是不是你

一个程序员在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源码希望对大家有帮助。

详细Vx关注公众号:Android老皮

《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常问面试题

在这里插入图片描述

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论