风林火山阴雷
其疾如风、其徐如林、侵略如火、不动如山、难知如阴、动如雷震。

前言

这段时间,又互联网寒冬了,你看消息满天飞。一瞬间,裁员的,辟谣的,很是热闹。这搞得我们程序员很难受,本来压力就大,还动不动有人在你耳边煽风点火制造恐慌。我想说:难道就不能消停消停吗?我还清楚地记得2017年的互联网寒冬,这2018的寒冬又来了。那么作为Android程序员如何过冬,如何进阶一名有竞争力的程序员呢?

人员永远稀缺,寒冬是相对的

这个冬天我们经常看到各个公司的裁员和优化的一种场景,可以把它定义为人才永远稀缺,而寒冬是相对的,这句话的可以理解为公司因为经济可能今年持续下行的一些情况,所以不论各行各业,都受到了不小的冲击。但是对于我们来说不断的去充电、去学习,去逆风等待时机去盘旋就可以了。当出现寒冬的时候,我们可能会面临新的机遇和挑战,大家可能都会有一些焦虑,这个是行业的一种现状,但是因为有机遇,所以对大部分人来说的话是一个比较好的机会。

如何在市场饱和中脱颖而出?

对于同一个岗位,可能有很多人在竞争,那么对于面试或者候选,面试官从哪些方面来判断你是不是适合某个岗位呢?所以我们要有与别人与众不同的地方,主要体现在以下四点。

  1. 练剑、沉淀
    这个需要平时去多练,慢慢沉淀成自己的知识储备,在必要的时候拿出来会让面试官眼前一亮,但是不能仅仅局限于说、会用,要更清楚里面的具体细节,目前市场对这个的要求在不断的变高。
  2. 提高自己的一些影响力
    对于那些影响力有一定相关积累的人,他面试的时候会有所加分的,因为那些影响力是有一些沉淀和积累的,是大家有目共睹的。而提高自己的一些影响力的方法就是写书、写文章。
  3. 刷大公司背景
    在竞争同一个岗位的时候,你要在众多面试者中脱颖而出,最好要有大公司的背景,或者刷大公司的背景,这是公司对大公司人的能力的一种认可。当然,大公司也有混吃、混日子的,但是总体来说他们认可大厂出来的人。
  4. 面试前准备、刷题、复习和总结
    面试前需要多去准备,对于大厂来说,数据结构和算法比较重要,需要去多刷题,然后复习,总结一下,至少需要半个月的准备期。

如何建立领域内深挖能力?

领域内深挖能力主要是对知识点深度上所了解的一些东西,如果你了解的细节比别人多一点,那别人对你的评价和看法就会不一样的。主要是以下五个方面的特点:

  1. 读相关领域的源码、框架
    我们从事一线工作的话,肯定要读相关领域的源码,并了解里面相关的一些内容。
  2. 总结产出文档
    读完源码后,自己对体会一下,理清楚里面的逻辑和流程,然后产出一些文档。如果公司不用其他公司框架的话,要你自己写一个,肯定要知道如何去写,要有思路。
  3. 写Demo求证
    当我们遇到一些不太明白的地方或者看不懂的代码,这时候要去写Demo,验证一下最终的结果。
  4. 主动去学习感兴趣的技术
    对于自己感兴趣的技术,一般都是自己主动去学习的,不需要别人逼着你来学。当你主动学习的时候,你的主观能动性会强一些,你对某个东西不了解的情况下,你就会越想深入探究它,从而深入学习。
  5. 要多问为什么?
    要学会多问为什么,例如要问自己框架为何要这样去设计,为何要这么写,为什么中间要有这样一个流程,只有当你问为什么的时候,你才会去找答案,才会更深入了解这个知识点。这样的话,当你面试的时候,面试官问你为什么这样去设计,你就能够对答如流了。

Android市场行情如何?

  1. 大有可为
    首先,移动设备的市场占有量特别多,人工智能或者其他方面的新技术仍然处在一个萌芽期阶段,要落实的话,还需要很多的东西很多的过程,所以虽然说市场上移动饱和了,但是还是有很多东西可以做的。
  2. 高级、资深、专家岗位多
    Android市场饱和了,对于高级、资深、专家级别的工程师岗位很多,而初中级的岗位会显得非常少。因为整个行业都在往前推进,过去工作一两年的人,到现在已经工作四五年了,起码也是一个高级工程师了。
  3. 15-30k不等,30k以上岗位较多
    薪水的话一般都是15-30k之间的样子,因为资深和专家的岗位较多的缘故,所以30k以上的岗位比较多。
  4. 过去进大厂门槛高,现在大厂太多,放水厉害,稍微努力就可以进大厂
    现在大厂的门槛没有过去的高了,一般技术面三到四轮就可以了,不排除微信这样的核心的重点部门,一般要面7、8轮,因为我们技术也在不断的提升,大厂也要招很多人去干活,做一些产品的迭代。那些资深和专家可能关注的框架和性能会多一点。
  5. 我们应该关注精益求精和新技术
    对我们来说,我们要对于技术精益求精,而且要时常关注一些新的技术,因为一个新的技术的出现,一定是有它的一些历史原因的,它可能是解决了过去的一些没法解决的痛点问题,但是可能它不够完善,也不够成熟,然而我们还是要时刻保持关注。

Android开发者进阶哪些方向?

  1. 应用层开发,不限于各种产品,主要还是Android或iOS原生开发,主要是各种性能优化。
  2. 嵌入式开发,不限于各种开发板,物联网,智能家居。
  3. 安全开发,不限于各种反逆向,反汇编,寻找安全漏洞。
  4. 音视频开发,不限于直播、点播、音视频通话、音视频会议、短视频等。
  5. 插件化、组件化、热修复开发,不限于自研和使用开源框架集成开发。
  6. 系统开发(Android),不限于Rom维护和Framework层定制需求
  7. 图形图像开发,不限于OpenGL ES,EGL,GLSurfaceView,滤镜,美颜
  8. 大前端开发,Flutter,RN,Weex,Cordova,小程序,JS

如何学习Android音视频开发

学习清单

  • 书:《Android音视频开发》、《新一代视频压缩编码标准--h.264/avc(第二版)毕厚杰》、《H.265/HEVC--视频编码新标准及其扩展》、《C++ Primer》
  • 博客:https://github.com/hejunlin2013/AVBlog
  • 知识储备:C/C++(必须),Java,Objective-c
  • 不要什么都搞,选一个方向
    • 直播(虎牙、映客、陌陌)
    • 短视频(抖音、快手)
    • 音视频通话(webrtc)
    • Android多媒体框架(rom)
    • 编解码标准(H.265/H.266)

如何未雨绸缪中年危机?

技术人员职业生涯周期

  • 沉淀积累期:毕业-工作前5年,我们需要去积累、存储知识,包括深度和广度上都要滞留沉淀。
  • 崭露头角期:5-8年,独挡一面去做一些相关的事情或独立负责一些模块、工作。
  • 如日中天期:8-13年,对自己有一个清楚的认识,包括对职场有一些理解和看法,你觉得你这辈子还能不能做技术、要不要转行有了清楚的认识。不再拘泥于过去的一些技术了,而是转向做一些别的或者相关的,发挥自己的一些长处或者说做更多有价值的事情才是最重要的。
  • 稳健回归期:13-n年,很多人混到领导层了,没混到领导层的也是技术专家或者其相关的,他们更多的是把过去的梳理和盘点来输出,培养新人做事情,传递自己的价值。

如何去做?

  • 去大厂升级打怪,混到不错管理层

    • 学历
    • 职级晋升
    • 技术能力
    • 软实力,沟通,熟悉职场隐含规则
  • 做个人IP,建立影响力,挖掘副业收入

    • 建立越早越好
    • 扩展多元化收入体系
  • 转行不能从根本避免问题,只是一个领域重新开始,无论用Java,还是C/C++,这些不是本质能避免的。

最近面试总结(不要裸辞)

  • 充分准备,不要着急面试(了解面试特点,比如哪些公司喜欢面算法或计算机网络协议,例如BAT、滴滴、美团、头条、快手、独角兽的议案公司喜欢面算法,一般的公司都是基础面试,例如你做过的项目,从项目中展开去问,考察你的基本功)
  • 机会较多,需要用力抓住
  • 先拿到电子Offer再说,不要嫌多
  • 价格没谈拢,不算拿到(Offer)
  • 坦诚项目和公司经历,不要弄虚作假
  • 想清楚职业发展,不要频繁跳槽

前期注重积累技术,后期注重积累人脉

首先,前期我们要注重一些技术的积累,至少前5年或5到8年一直这个方向都肯定是没错了,而后面要注意积累的就是行业当中的一些人脉,比如认识一些比你优秀的人或者比你厉害的人,说不定以后你会得到他的关注,他比较认可你,你可以直接去他那里上班了。

简历注意

一到两页纸就够了,把你的项目经验写一下,包括你做了一些成果,然后你觉得比较牛逼的地方,这个比较关键,因为面试官一般喜欢看亮点,有了这个亮点他就会将你筛选到入选的范围内。

  目录