程序员辛辛苦苦几年,最后换来被辞退的结果,得知理由让人无语!

01 我,36岁,程序员,为公司工作8年,昨天HR说公司不准备续约

前天晚上,有个读者给我留言,讲述了他自己比较气愤的一件事,感觉自己委屈又不值。

这位朋友不愿意透露姓名,就叫他H先生吧。

H先生是典型的学霸,大学也是211的牌子,又是计算机专业。

研究生毕业以后就进入了现在的公司当了一名程序员。

当时是有3家企业接收他的,他选择了当时效益不错,而且有发展前景的现在的公司。

进入公司以后,他就像所有的程序员一样开始了加班加点赶程序的日子。

02 辛苦付出8年,为公司处理无数个技术难题

也许是天资聪明,也许是自己特别适合做程序员的工作,工作2年H先生就已经可以独立的带团队了。

H先生自己说,从他开始带团队开始,他自己几乎就没有休息过一个周末,常常是工作起来就忘了时间,带着自己的小团队一工作就是十几个小时,年纪轻轻的他,头上已经没有多少头发了。

他做出的效果也非常的不错,为公司处理了无数个技术难题。

唯一的不足就是他的身体越来越差,最近几个月不是太能熬夜了,有时候需要提前下班回家。

03 昨天,HR说公司研究决定不再续约了

前段时间,又到了公司该签续约合同的日子,没想到为公司付出这么久的H先生却被公司的HR约谈,说公司不准备给他签续约合同了。

H先生当场就愣住了,这时候,HR的话并没有停,拿出了几次H先生由于生病请假的例子,而后说明H先生可能最近不适合在这里做了。

H先生非常委屈,这几年的工作,可以说把自己的青春都付出给了公司,没想到最后落得个这个下场。

哎……

04 年轻的程序员肯定要做到这两点

一是工作再忙也不能不记得自己的健康。肯定要舍得给自己的健康投资,不仅仅是投资金钱,更要投资时间,每天抽肯定的时间来让自己休息调整,锻炼身体,不由于工作而压垮自己的精神。

二是要找好退路。公司在准备不要你之前,肯定会有各种预兆,不论是从对你的态度,还是你的薪资水平,可能都有所表现,而且看一看公司对其余老员工的态度,就基本可以看出以后对你的态度,假如跟自己不利,就要狡兔三窟,提前找好自己的下家。

作为一个7年老安卓,我认为关键还是得不断学习和稳固,下面分享的是一份我Android工作多年的经验和收集的学习资料,也是对Android所有知识点的一个总结。

1.架构师筑基必备技能:
Android应用是由Java语言进行开发的,SDK也是由Java语言编写,所以我们要学习java语言。另外,虽说kotlin语言得到了Android官方的热推,但是kotlin也是编译成了java语言再运行的。对于Android来说,只要SDK没有用kotlin重写,那么Java语言是都需要学习的。而且Androidapk的后台服务器程序大概率是java语言构建,所以学习java也是一种必然。

那么Java中哪些东西是我们Android程序员需要学习的呢?由于Android程序员习惯了CV代码块,所以与Android中比较相关的稍微比较难的Java基础几乎都是一个门槛,像泛型,多线程,反射,JVM,高效 IO,注解,序列化等,都是被CV的对象,而程序员是不懂原理的,具体内容如图所示。

2.Android框架体系架构——Andlroid高级UI与FrameWork源码
说到FrameWork别的不说,你只要去 Github上看一下腾讯Matrix的源码,就知道Framework 的知识有多重要了。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……

3. 360°全方面性能调优
Android性能调优方面包括了很多知识点,其中关键的就有设计思想与代码质量优化, 程序性能优化,开发效率优化, 我们开发者将这些统称为Android360°全方面性能调优。 其实在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:

测评:对系统进行大量有针对性的测试,以得到合适的测试数据。
分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。
性能优化:对hotspot相关的代码进行优化。

4.解读开源框架设计思想
在Android开发中开源框架设计思想中的知识点也是较为重要的,相信大家都可以看到在每个公司招聘当中,对Android开源框架要求都是比较严谨的。而想要完全搞懂还得学会整理和规划:我们常见的Android热修复框架、 插件化框架、 组件化框架、 图片加载框架、 网络访问框架、 RxJava响应式编程框架IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,这些都是属于Android开源框架设计思想的。如下图所示:

5.NDK模块开发
Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,“Java+C”的编程方式是一直都可以实现的。在最近比较吃香的音视频开发技术也是属于NDK模块开发。关于音视频进阶方面可看这篇文章:关于音视频进阶方面可点击这篇文章:作为一个Android程序员,精通音视频开发,寒冬再冷也冻不到你


6.架构师练成实战
在学好以上知识后就应该运用到实战当中了,在常见的实战当中:架构设计,网上商城项目实战,新闻客户端项目实战,多格式播放器项目实战,Gradle自动化项目 都是属于重中之重的。

当然还有小程序项目实战也是Android开发者必须搞懂的:

7.微信小程序
阿里架构师对小程序的看法:

第一点,不管小程序能不能在未来的时间里在移动端大放异彩,学习它,掌握它,都是没有任何坏处的。
第二点,就目前的版本而言,还是太过封闭。开发小程序就感觉像是在微信给我们划定的一个小圈子里兜兜转转,在圈里也许我们能得到很良好的开发体验,但是一步都出去不得。
第三点,在性能与便捷之间,最终往往会是便捷取胜。
第三点,能用 js 开发的,最终都会用 js 开发。

8.Hybrid开发与Flutter
想要成为一名优秀的架构师,需要掌握的知识是有点篇多,出来新的技术也不能落下学习,正像Flutter
在flutter中,一切皆控件!一切皆控件!一切皆控件!牢牢记住这个概念。Text是控件,Image是控件,Icon是控件,布局脚手架也Scaffold也是控件,甚至整个APP也是控件。

此外小编利用空闲时间针对学习路线大纲配套整理了相关方面的资料,都已整理成PDF文档,也是借此机会免费分享给大家的:

1.架构师筑基必备技能:
2.Andlroid高级UI与FrameWork源码:
3.360°全方面性能调优:
4.解读开源框架设计思想:

5.NDK模块开发:
6.架构师练成实战

7.微信小程序:
8.Hybrid开发与Flutter:
后述: 如果你正在走往架构师的道路上迷茫了,感觉自己的所知知识已经膨胀了,那么可能你学的多而不精,缺少一份完整的学习思路大纲,我想此篇文章正好能够帮助到你。小公司的可能没有架构师这个概念,大公司的架构师职位又不是那么容易拿下。但不管怎样,不断去学习新的技术,提升自己的层次是很有必要的,无论你在哪一家公司,过硬的技术水平才能吃得开。
文中所述资料和完整架构师学习大纲可以直接点此处免费获取。

更多Android架构相关资料可以点此处免费获取

猜你喜欢

转载自blog.csdn.net/weixin_55596273/article/details/115344529