其实,在很多小伙伴的想法中,是希望通过跳槽实现薪酬涨幅,可是跳槽不是冲动后决定,应该谨慎啊~

01

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

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

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

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

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

02

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

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

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

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

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

03

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

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

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

  • 多看看机会。
  • 跳槽不是瞎跳的,尤其是不建议看在高薪的诱惑上跨行业跨方向的跳槽。
  • 提升自身核心竞争力。

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

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

04

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

一、架构师筑基必备技能

安卓手机的开发语言是Java(Kotlin也是对java的封装),Android Framework 也是默认使用Java 语言,熟练掌握Java 语言是Android 开发者的必备技能。

本篇包含知识点:

1.深入 Java 泛型

2.注解深入浅出

3.并发编程

4.数据传输与序列化

5.Java 虚拟机原理

6.反射与类加载

7.高效 IO

二、高级UI

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

三、Framework精编内核解析

众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。

所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。

主要内容包含:

  • 深入解析Binder
  • 深入解析Handler
  • Dalvik VM 进程系统
  • 深入解析 WMS
  • PackagerManagerService

四、360°全方面性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

主要内容:

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

  • 2.程序性能优化

    启动速度与执行效率优化

    布局检测与优化

    内存优化

    耗电优化

    网络传输与数据储存优化

    APK大小优化

  • 3.开发效率优化

    分布式版本控制系统Git

    自动化构建系统Gradle

  • 4.项目实战

    启动速度

    流畅度

    抖音在APK包大小资源优化的实践

    优酷响应式布局技术全解析

    网络优化

    手机淘宝双十一性能优化项目揭秘

    高德APP全链路源码依赖分析

    彻底干掉OOM的实战经验分享

    微信Android终端内存优化实践

五、Android第三方框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。

当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

本篇内容要点(1042页)

  • 热修复设计
  • 插件化
  • 组件化框架设计
  • 图片加载框架
  • 网络请求框架
  • RXJava 响应式编程框架设计
  • IOC 架构设计
  • Android架构组件Jetpack

六、NDK模块开发

NDK是原生开发工具包,这套工具允许Android使用C/C++代码,并提供了众多的平台库。

主要内容包含:

  • NDK 模块开发
  • JNI 模块
  • Native 开发工具
  • Linux 编程
  • 底层图片处理
  • 音视频开发
  • 机器学习

七、Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:

1、Flutter跨平台开发概述

2、Windows中Flutter开发环境搭建

3、编写你的第一个Flutter APP

4、Flutter Dart语言系统入门


八、Android相关源码解读

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

由于篇幅原因,以上完整学习笔记pdf如有需要,可以 点赞+评论 支持下我这个打工人,然后点击这里免费自取

“入职一年,那个被高薪挖来的Android开发被劝退了。”的更多相关文章

  1. Android零基础入门第3节:带你一起来聊一聊Android开发环境

    原文:Android零基础入门第3节:带你一起来聊一聊Android开发环境 工欲善其事,必先利其器.Android开发人员在自己的计算机上编写和测试应用程序,然后将其部署到实际的设备上,那首先必不可 ...

  2. Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全

    原文:Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全 前面简单学习了一些Android UI的一些基础知识,那么接下来我们一起来详细学习Android的 ...

  3. 新人入职100天,聊聊自己的经验&教训

    这篇文章讲了什么? 如题,本屌入职100天之后的经验和教训,具体包含: 对开发的一点感悟. 对如何提问的一点见解. 对Google开发流程的吐槽. 如果你 打算去国外工作. 对Google的开发流程感 ...

  4. 初入职场的建议--摘自GameRes

    又开始一年一度的校招了,最近跑了几个学校演讲,发现很多话用短短的一堂职业规划课讲还远远不够,因为那堂课仅仅可能帮大家多思考怎样找到一份合适的工作,并没有提醒大家怎样在工作中发展自己的职业. 见过这么多 ...

  5. Oracle DBA从小白到入职实战应用

    现如今Oracle依然是RDBMS的王者,在技术上和战略上,Oracle仍然一路高歌猛进,并且全面引领行业迈入了云时代,伴随着12cR2即将在2016年正式发布,学习Oracle之路依旧任重道远,目前 ...

  6. ERP员工入职登记(五)

    在数据库中添加链接的地址:

  7. Python4周 入职培训的过程

    这是我在过去几家公司招聘到工程师,Python入职培训的过程.时间分为4周,全部自学,仅提供大纲.适用于Web方向:1.Week1:读完<简明Python教程>,适应Python开发环境2 ...

  8. centos6.5下yum安装lnmp(适合刚入职的新手的方法)

    新入职的员工,开始的时候都是让配环境,本地写代码用的wamp,在lnmp或lamp测试,除非有些土豪公司 用的是(果机). 另外安装时,把整个流程在脑子里先过一篇(记不全也没关系,一回生二回熟),重在 ...

  9. Blog 入职新公司的一些吐槽!

    入职公司已经两个星期了,说真的也很惭愧.我们这小批入职的一共六个人,五个人是实习生,我是唯一一个社招. 所以 我要吐槽 !! 吐槽1 人家都是90后(TAT) 其实真的不要觉得年龄是压力!看看路边KF ...

随机推荐

  1. string转char*/char[]

    转char* 主要有三种方法可以将str转换为char*类型,分别是:data(); c_str(); copy(); 1.data() data()仅返回字符串内容,而不含有结束符'\0' std: ...

  2. 7、linux快捷键

    ctrl +a:切换到命令行开始 ctrl+e:切换到命令行结尾 ctrl+c:终止当前命令或脚本 ctrl+d:退出当前shell,相当于exit ctrl+l:清除当前屏幕的内容,相当于clear ...

  3. jce-jdk13-120.jar

    jce-jdk13-120.jar https://files.cnblogs.com/files/blogs/692137/jce-jdk13-120.rar

  4. PO,VO,BO,POJO,DAO的区别

    基本概念 PO:persistant object (持久化对象),可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不 ...

  5. mysql中的条件语句case when/if函数

    主要知识点为case函数,if函数,ifnull函数,elt函数几部分,主要用于mysql语句中的逻辑判断 待操作的表如下: p.p1 { margin: 0; font: 16px Menlo; c ...

  6. 高质量代码优化!谈谈重构项目中if-else代码的几点建议

    switch if - else只适合在3层之内使用 当条件判断较多时,可以首先考虑使用switch interface 当判断条件还可能动态增加时,可以考虑将switch进一步优化,引入接口inte ...

  7. 深入理解Java并发类——AQS

    目录 什么是AQS 为什么需要AQS AQS的核心思想 AQS的内部数据和方法 如何利用AQS实现同步结构 ReentrantLock对AQS的利用 尝试获取锁 获取锁失败,排队竞争 参考 什么是AQ ...

  8. ARTS第三周

    第三周.上周欠下了 赶紧补上,糟糕了 还有第四篇也得加紧了 难受. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至 ...

  9. 第一个用户进程 - Android 的 Init 进程

    本文尝试对着 <深入理解 Android 5.0 系统>来对 android 9.0 的启动代码进行分析,但是分析过程中发现自己缺乏操作系统方面的知识,以致于只能做一些简单分析.最近也买了 ...

  10. 技能篇:docker的简易教程

    虚拟机技术每家公司发展到一定规模都必须考虑的,更好的环境隔离,更好的事故排查,更好的服务部署 docker的原理 docker更换阿里源 docker容器的相关命令 Dockerfile文件编写 do ...