一提及程序员,很多人想到的都是“工资高”“技术好”诸如此类的,可见程序员是个非常赚钱的职业,所以每年都会有很多毕业生来选择这个行业。
但是社会是公平的,不要只看程序员表面上的光鲜亮丽,其背后也有很多的约束条件,天天加班不说,职业的中年危机让很多程序员都苦不堪言。
对于程序员来说,新技术层出不穷,而内核的精髓的东西却变化不大,如果没能让自己跟随行业内的节奏,或者努力提升自己,随便找个程序员就能把你替换掉,你的价值就很低廉了,很容易就会被淘汰掉。
如果在你负责的某个方面,只有极少一部分的人可以超越你的话,那你的价值、你的重要性就凸显出来了,你与雇主的关系就从被动转向了主动,你就有了谈判的筹码。
高薪也有高薪的烦恼,意味着跳槽的机会也变少了。就像金字塔的顶端一样,越往上走,机会也就越少了,这在程序员圈子比较普遍。月薪三万以下随便跳槽,能开得起这样薪资的公司很多,但如果薪资超过三万,机会就变得很少,就像下面这名八零后高薪程序员所感慨的一样:月薪五万多,想要跳槽看看机会,却发现没有地方可去了,突然发现中年危机已到。
无独有偶,在该职场论坛,一些大厂的老员工也表示想要跳槽,却发现很少能有公司开出匹配的薪资。特别是那些在大公司工作了好几年的老员工,虽然工资不一定是最高的,但年终奖,股票期权分红加起来,远远超过市场水平,这也导致一些创业互联网公司不得不花大价钱挖人,如果不这样做,就很难招到想要的人才。
当然,薪资如此高还在论坛吐槽,让那些拿着不过万工资的网友眼红了,纷纷开启嘲讽模式:30岁, 20k, 早都是loser了, 比起你差远了,能咋办, 厚着脸皮过呗;33岁,算加班费税前大概68k,也是没地方去,一般接不住;33岁,月薪88k,深深的中年危机感。还有网友如此理性评论:说实话,出来是有难度的,任何一个人都会遇到年龄这个问题,打工的天花板还是很多的。我觉得你完全争取在公司升职嘛,出来如果职位不升难度你真想拿点工资一直做最基层?
老弟,我33岁,我觉得你这待遇在一线也很不错了,56k,加班还给加班费,你还想啥呢,很多人一说年包多少多少,实际上有些年包中的根本拿不到,还有高额年终奖,以及股票都是加班换来的,而且交税占多大比例,老弟你也应该清楚的,你这我真羡慕,心里话。
程序员应该做好准备,让自己的价值具有不可替代性或是难以替代性,有了这些基础,以后就算是靠技术创业也是有可能的。
我一直担惊受怕,过去,可能是因为我年轻,但现在,我已经不是那么年轻了,我仍然发现有很多事情让我害怕。
当年纪越来越大后,我开始变得不能加班。我开始用更多的时间和家人在一起,而不是坐在计算机前(尽管这样,她们仍是抱怨)。我在本地教育委员会社区里提供一些帮助,还组织开源兴趣小组参加活动。
我在思考,为什么以前会把如此多的时间全部用在编程上。大量的编程。那是我渴望深入研究一个类库,一个框架或一门技术。
现在的技术的学习曲线的增加,让我的忍耐性越来越低。各种新技术,因为新奇让人兴奋,但最终变成一场场争论。我越来越无法忍受这些充满市场宣传气息的喧嚣。我对技术看重的是稳定,清晰。
据IDC相关数据显示,截至目前(2017.07)为止,中国程序员的数量已经超过了100万。而且,随着IT的持续发展和大量的应届毕业生进入社会,而其中Android市场接近饱和,Android程序员面临的竞争压力越来越大。那么,作为一名Android程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。针对这些问题我总结出一个Android程序员的工作2-5年成长路线图。
1.Android App全方位性能调优
APP开发这块知识是现今使用者最多的,并且大多都是CV工程师,程序员界的2-8定律:80%的问题只需要使用20%的知识就可以解决,Android开发也不例外。因而,我们大部分人已经逐步变成了代码搬运工而自己却不知道。代码容易搬运,架构体系却难以复制,要成为架构师,你必须自己亲自去项目实战,读源码,研究原理。
我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。只有具备深厚的代码功底,深入学习源码原理以及使用工具进行测试和检查调优,才能达到知其然,知其所以然的效果。
2.Android前沿技术
3.Java语言进阶与Android相关技术内核
Android应用是由Java语言进行开发的,SDK也是由Java语言编写,对于Android来说,只要SDK没有用Kotlin重写,那么Java语言是都需要学习的。而且Android APK的后台服务器程序大概率是Java语言构建,所以掌握Java也是一种必然,这就是为什么BAT面试为什么死抠你的Java水平。
4.高级进阶必备篇
架构师不是天生的,是在项目中磨练起来的,所以,我们学了技术就需要结合项目进行实战训练,那么在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了,我们需要一个真正身经百战的架构师才能讲解透彻其中蕴含的深理。
想要成长为一个移动互联网架构师,以上那些技能是必不可少的,这里是关于我自己的Android 学习,面试文档,视频收集大整理,有兴趣的伙伴们可以看看~ 这些是小编自己在一些平台收集到了许多学习资料和个人总结的一些经验,一线互联网公司得面试经历面试题。
好了,文章到这里就结束了如果你觉得文章还算有用的话,不妨把它们推荐给你的朋友。