作为互联网的基石,程序员的目标通常是进入互联网大厂、获得高薪,并为之付出不懈努力。程序员需要不断学习,以应对行业门槛低、工作重复性高、技术更新迅速以及薪资增长不确定等因素所带来的不安。
在人才金字塔中,大厂处于塔尖,拥有高薪和期权,吸引着顶尖的程序员。而中型公司紧随其后,占据腰部位置。随着初创公司数量的减少,人才金字塔底部的收紧导致初级程序员需求减少,应届生的机会变少。
在这样的压力下,许多大三学生开始提前做项目,研究技术。学历背景变得不再那么重要,实力成为关键。一位美团程序员透露,曾经的“非985、211直接pass的原则”只持续了一个月,因为简历库中已经没有足够的候选人可供筛选。这表明有实力的程序员,无论年龄多大,都具有竞争优势。
因此,很多业内人认为程序员的35岁危机是一个伪命题。淘汰的是“35岁还在底层写代码的程序员”,这与所有行业的“二八”逻辑相同。
如何进阶,提升能力
一位阿里云的P7程序员表示,编程只能入门,自学过程将程序员分为不同的等级。区分学习内容的轻重缓急是关键。遇到技术难题时,他会通读源码寻求解决方案,或查阅前沿论文。对于自己熟悉的领域,他可以在面试中侃侃而谈,打动面试官。
总之,程序员需要通过不断学习、深入研究源码和论文,提高自己的技能水平,才能在竞争激烈的行业中脱颖而出。
也正是如此,现在很多Android应用开发人员开始学习Framework源码,无论是现在市场对于Framework的需求,还是自己本身的进阶都离不开Framework。
应用层是被 Framework 层调用执行的,知道自己的代码是怎么被调用的,才能理解程序的本质,理解本质有助于解决遇到的新问题,同时才有更多方法去优化应用层逻辑。
目前大公司的App开发都要基于模块化、层次化、组件化、控件化的思路来设计架构,而这一切的基础都建立在 Android Framework 系统框架底层原理实现之上,所以与它相关的知识都尤为重要。