最近跟我的一些读者交流,有一位读者的经历让我记忆深刻:
“有一次和大学同学聚会,和几个在BAT的同学聊了聊技术,发现自己在创业公司这几年,完全是吃老本的状态,没有什么机会精进技术,同样是工作了三年,和同学的差距越来越大”
我继续问他,他说真正让他受打击的是这个月的一次面试。
“面的是一个大厂,面试官问了很多问题,一大半的问题我都是一知半解,回答上来问题也是特没底。
大概回顾了这场面试:上来先是问了Java基础知识,自定义view,算法等等,这部分我还算准备的充分。第二部分开始复杂了,主要是底层、NDK、设计模式、调优方面的问题,像是如何检测一段代码的执行时间?滑动不流畅怎么处理??
我之前工作上经历的少,加上自己技术储备浅薄,到这部分时我就感觉自己快凉了。面试到最后,问了mvvm架构相关的,当时已经懵了,我只记得一个问题:让你做一个项目,怎么选择mvvm架构和MVP架构?我。。。。“
面完后他说,觉得自己在技术上欠了很多债,最惨的是,在这之前他根本不知道。
听了这位读者的经历,于是有了今天这篇文章。很多工作了1-3年的Android人,想够一够 3w月薪的岗位,但在底层技术上却有很大的问题:
毕业几年,表面上用过很多技术,但都没能深入学习,一年的工作经验,干了好几年。结果就是遇到实际问题时无从下手,最终还是走着普通工程师的道路,和高手的距离越来越远。
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。
29岁规划未来
程序员A
程序员B
程序员C
35岁程序员?
程序员A
程序员B
程序员C
我的看法:
从3位程序员的态度其实我们可以看出来,每个人追求的东西都不一样,但是有一点,那就是程序员真的是有35岁被优化这一说法,在这之前必须转型,或者寻求副业,好在主业被刷掉的时候,副业及时补上。因为到了35岁这个年纪,一般都已经结婚了,上有小下有老的,身上 可能还有房贷车贷,以及家庭基本开销,要是老婆还是家庭主妇,那么,压力就更大了!
破冰
如果说现在已经这个年纪,但是和大多数人一样不知道该如何发展,可以参考一下其他人的意见:
1.没有适合自己的定位,没有长期聚焦的领域,就无法持续输出有价值的内容给粉丝。借着趋势风口可以被吹起来一些,但过不了多久就会掉下来,建议先看看自己擅长什么、能够帮助哪些人,然后再投入去试。
30 岁从开发转型做了架构,但架构也有瓶颈,前几年我又开始储备写作、演讲、销售等技能,向用户靠近,向客户靠近,业余做自媒体、知识付费、线上线下培训等,构建起第二条职业曲线。35 、39 是程序员很难迈过的坎,必须未雨绸缪,提前储备软硬技能。
2.如果一直是基层程序员 确实压力比较大.我建议是尽早寻觅技术管理人员的坑, 不管大小先占住一个, 再补自己不擅长的东西吧.如果有几年大公司的编码背景, 出去找个坑应该不难. 没有的话先往大公司挤。
3.看这个年龄段的人处在那个行业和岗位上了,有些行业岗位上这个年龄段正是大展拳脚的时候呢,比如云相关的研发工作还有一些企业平台的架构(没错是平台不是软件产品)。
身边也有不少这个年龄段的转行的转了,去小公司混个管理的去了,也有坚持待在老公司养老的还有一部分属于有梦想的人出去自己干了。总的说这个年龄的真的是值得好好想想,规划的。包括自己干起来企业应用的独立开发.
学习与发展
就业趋势
虽然现在Android的就业形势不大好,但是其他技术领域的就业趋势也不乐观,这是因为现在高校和培训机构大量的培养人员涌入。我05年上大学时,软件工程专业不是很火爆,学一些常规的技术,比如算法与数据结构、c++程序设计、面向对象方法及程序设计等等,毕业了也就是搞搞C++,做做Java Web和.NET等等。
而放眼现在,IT相关的专业简直就是火爆,大家都觉得这行有发展赚钱多,因此越来越多的学生报考了相关专业,很多大学都有移动互联应用技术专业,还有人工智能学院,每年都有大量的大学毕业生和培训机构出来的涌入市场,而中国的互联网企业显然不需要这么多的人才,最终的结果可想而知还是狼多肉少。
我们大概可以预测到未来Android开发的人数会增长缓慢,考虑到企业未来的职位,Android未来的就业趋势会缓中有升,但其他的技术领域就不好说了,毕竟什么领域也抗不住涌入的人巨多啊。
学什么
- 选择一个细分领域
Android现在细分的领域非常多,前面说到的有应用开发、逆向安全、音视频、车联网、物联网、手机开发、SDK开发和智能电视盒子开发等等,在这些领域中选择一个并不断深入。比如音视频,在8年前我刚入门Android时,音视频就是闷声发大财了(PC端),工资高的令人乍舌,现在在移动端,音视频更是青出于蓝,是一个非常好的选择,如果想要入门可以看看何俊林《Android音视频开发》。
Android开发除了flutter还有什么是必须掌握的吗?
相信大多数从事Android开发的朋友们越来越发现,找工作越来越难了,面试的要求越来越高了
除了基础扎实的java知识,数据结构算法,设计模式还要求会底层源码,NDK技术,性能调优,还有会些小程序和跨平台,比如说flutter