程序员被公司劝退,如果能有这些优势,占得越多,越安全!

在这个房价物价飞涨的年代,有一份稳定的工作比什么都重要,成年人的压力往往就是来自于‘金钱’房贷、车贷、生活中各种支出都靠着每月的工资才能生存下去,年龄越大这部分大压力也越来越大,因为有了家庭有了孩子,孩子每月的生活费、培训费都会让肩上的担子越来越重…

我的学弟,最近向我吐槽,2020 年上半年入职一家公司,当时是高薪挖走的他,所谓钱到位,工作也是充满干劲,不到一年的时间,参与了不少项目。

可是疲于应对工作,填了不少的技术“坑”,根本没时间去提升。

导致后期在完成公司给的工作时比较吃力,耽误项目的进程,竟被劝退了!

离职的时候约我一起撸串,颇有感慨地跟我说,还是要从坑里边爬出来不断学习的,之前虽然一直忙着填坑没闲着,但领导觉得你能力不行只会填坑,现在被劝退,下一步该怎么走都不知道。

我们总是寄希望于跳槽实现涨薪,可是也要不断地更新自己的核心竞争力,不然,被公司压榨完最后的价值,面临的则是被“淘汰”的风险!

因为常年混迹于 IT 圈,遇到很多程序员朋友,其中一位是一家互联网公司的程序员,做客户端4 年了,每年加薪也就 500 块钱,一次偶然的机会看到了新入职的同事的工资单,发现同事的工作居然比他高了 75%,

当下他就很不能接受,干得活一样,凭什么薪资待遇比他高那么多,于是心决定跳槽。

可是在重新求职的过程中,阿里的一场面试给了他重重一击……

“一面的时候就被面试官问得哑口无言,发现我所掌握的技术知识和能力只不过是Android领域里的冰山一角,自己有太多需要学习的专业知识和提升的能力。”

他告诉我,在走出阿里园区的时候,暗暗下定决心要系统地学习,来应对面试以及未来的岗位要求。

在互联网行业,大家逐渐都会有这种共识,要想工资涨得快,还是得跳槽……

公司的老员工想要涨工资真的很难,而被新人倒挂薪资更是常事……

那么怎么才能跳得好,薪资满意呢?我的几点建议:

多看看机会。

跳槽不是瞎跳的,尤其是不建议看在高薪的诱惑上跨行业跨方向的跳槽。

提升自身核心竞争力。

那说到核心竞争力,怎么才能提高呢?

成年人想要改变生活、逆转状态时,会不约而同做一件事,那就是系统学习。

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。
技术发展得这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家

作为一名Android开发者,接下来我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名Android高级开发者需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
音视频、完整Android中高级进阶或者完整大纲的可以去我的**【GitHub】**看看

知识要点:
1、Java序列化、泛型、反射
2、虚拟机底层原理
3、Android内存原理
4、Java高并发原理详解
5、编译时技术掌握与实战
6、JDK高级动态代理
7、高级数据结构与算法
8、Java IO操作

Android R Frame Work源码与UI

在Android中,Framework泛指系统架构层。Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework具体的工作也就是为android应用开发的开发人员提供了一系列的服务和API的接口。
UI其实并不是单纯指用户看到的效果。因为在Android开发中,每个控件背后都有一套深层次的体系在支撑,自然而然,会UI不单纯指的是会自定义控件,我们还应该知道自定义控件背后的执行流程,包括从Activity的创建,XML的解析,到每个控件的测量、布局、绘制。当然在中间还夹杂着比如动画、事件分发机制、嵌套滑动机制等知识点。还有谷歌提供的一些UI框架也是我们要掌握的对象,比如Jetpack组件库、Material Design等。

知识要点:
1、FrameWork源码解析
2、Android常用组件深入解析
3、UI的深度剖析与自定义
4、Jetpack全家桶
5、Android R
6、RXJava响应式编程框架设计

360°全方位性能调优

性能优化是针对整个app开发而言的。一个好的项目被开发出来,不单是产品要好,开发者也需要知道,为什么我开发的这个app能够在绝大多数的手机运行,为什么用户在使用的时候绝大部分的手机不会出现bug。我们的apk文件可以优化到很小的,比如你做一个项目,打包之后可能是10m,但是经过优化之后可能就只有8m,甚至更小。另外,我们做的项目安全性如何?我们凭什么断定我们做出来的app安全性好。这都是性能优化中会涉及的。

1、设计思想与代码质量优化

一个app的性能好不好我们需要从两个层面努力。第一个层面:从写代码的时候就需要注意,让自己的代码是高性能高可用的代码,这个过程是书写高性能代码;第二个层面:对已经成型的代码通过工具检查代码的问题,通过检查到的问题来指导我们进行代码的删改,这个过程被称为调优。
如何写出高性能的代码呢?那就需要我们具备深厚的代码功底,这就是代码的基础,如:数据结构达到可以根据应用场景写出符合当前场景的特殊结构,比如google针对Android平台特征研发了sparseArray替代HashMap。另外,对常用的算法有自己独到的见解,leetcode上有刷个上百道题,这样差不多可以达到精通最常用的排序查找动态规划等算法的能力。再者,高效的算法以及节省内存的数据结构如果配合优秀的符合应用场景的设计模式,那么,这些就为高性能的代码提供了实现依据。
另外一个就是对写好的代码进行调优,那么调优的方向就是使用Profiler工具进行测试和检查,看哪里有性能消耗大的操作,然后分析对于代码的问题。调优的方向就变成了如何对内存调优,对耗电调优,对网络流量调优,当然,还有对启动速度,页面切换效果与速度,开机白屏体验,闪屏方面的原因等进行分析和调优。最后再加上一个屏幕适配相机适配。

2、程序性能优化

启动速度与执行效率优
化布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化

3、开发效率优化

分布式版本控制系统Git
自动化构建系统Gradle

4、项目实战

启动速度流畅度抖音在APK包大小资源优化的实践优酷响应式布局技术全解析网络优化手机淘宝双十一性能优化项目揭秘高德APP全链路源码依赖分析彻底干掉OOM的实战经验分享微信Android终端内存优化实践

对标腾讯T3.3架构师必备技术

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、架构师必备的代码设计准则
2、组件化架构设计
3、插件化架构设计
4、热修复设计
5、开源框架源码解析与实现

高级音视频(音视频系列)

从未来的大趋势来看,随着5G时代的到来,音视频慢慢变成人们日常生活中的必需品。除了在线教育、音视频会议、即时通讯这些必须使用音视频技术的产品外,其它的产品也需要加入音频、视频元素。

正是因为这样一个大的趋势,现在除了各大厂之外,其它一些小厂也开始寻找音视频人才。

一名稍好点的音视频人才现在可能会有3-4家公司抢着要、争着要。对音视频人才的需求从小众变成了大众,这更多的是大家对未来市场预期的结果。

音视频人才为什么难得?

音视频知识庞杂,通俗易懂的资料非常少;

网上博客,视频充斥着大量的错误信息,使得很多初学者掉到坑里就爬不出来了。

举个例子,按照传统的音视频学习方法:首先接触大量的音视频开源库,如FFmpeg、MediaCodec,往往这些API就已经把脑袋弄大了。停留在使用API,不能让你适应不断变化的需求。最开始的方向错了,不管如何努力,都学不好音视频。

本篇知识要点:
1、基础语法
2、H264视频编码
3、H265编码原理
4、H265编码应用
5、MediaCode

  • Android相关源码解读
    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

由于篇幅原因,需要音视频、完整Android中高级进阶或者完整大纲的可以去我的**【GitHub】**看看

猜你喜欢

转载自blog.csdn.net/A_pyf/article/details/114802493