著名国学大师王国维先生, 曾经在他的名作《人间词话》中说, 人生的三个境界是:"昨夜西风凋碧树, 独上高楼, 望断天涯路, 此第一境也, 衣带渐宽终不悔, 为伊消得人憔悴, 此第二境也, 众里寻他千百度, 蓦然回首, 那人却在灯火阑珊处, 此第三境也."
这三个境界映射到我们程序员上, 也有同样的意境~
1. 昨夜西风凋碧树, 独上高楼, 望尽天涯路
互联网寒冬的话题沸沸扬扬几个月了. 被裁过的程序员更迷茫了, 没被裁的无论是离职还是面试跳槽也变得更谨慎了.
2018 年 6 月以来, 全国上百家 P2P 平台接连爆雷, 裁员潮在互金领域抢先发生.
2018 年 8 月, 美图公司 Q2 季度财报收入同比下降 5.9%, 净亏损 1.27 亿, 较上年同比收窄 3.4%, 随即网 曝美图公司裁员消息.
2018 年 10 月, 阿里京东全面 "缩招"
2018 年 12 月, 美团 3 分钟裁员.
2019 年, 你应该怎么办???
当前移动互联网的开发环境, Android 经过 10 年的发展, 确实降温了, 不是懂一点 Android 基础就能找到工作的年代. 很多发展不理想的 Android 程序员就很自然的会想到转行
那么转什么最好?
每个人的自身情况不同, 转的方向也会有所区别, 转人工智能相关开发肯定是最好的, 毕竟风口上的猪也能飞, 跟着风口无可厚非. 只可惜人工智能相关对学历和算法要求很高, 最起码得是个硕士吧, 而且这只是低配. 那么大多数 Android 开发可以转的方向主要有前端, 后端和 python 等等. 我大概说一下:
1. 转前端, 这个是我认为最好转的一个方向, 前端的理念很多都和 Android 类似, 也可以作为 Android 的延伸, 向大前端发展, 如果对界面感兴趣的可以转前端试试.
2. 转后端, 后端这个就是完全的转行了, 看似 Java 大家都会, 但是后端的技术栈可不是只有 Java, 各种框架绝对叫你头大, 很多人强调后端技术深, 各种处理高并发看似十分有技术含量, 不过这只是为数不多的公司在做. 如果想要稳定的可以转后端试试.
3. 转 python,python 最近真是很火, 因为他跟人工智能发生了关联, 其实大部分学 python 的没有搞什么人工智能相关, 基本都是在搞爬虫. 追求浪潮的可以转 python 试试.
不要轻易转行, 要转就尽早转
其实现在大部分转行纯属是为了跟风, 为了那点钱, 而忽略了长期的发展. 现在市场的对 Android 开发的需求已经非常理智, 但是 Android 开发者缺鲜有看的清形势的. 在资本寒冬的年代, 任何行业都比较难找到好工作, 都比较难拿到高薪. 作为 Android 开发者, 我们需要明确如下几点:
1, 移动互联网无可替代, 除非人类不需要手机, 而 Android 又在移动互联网中具有不可替代的地位;
2, 技术需求市场依旧旺盛, 只是能力要求更高, 人力市场两级分化, 能力弱的找不到工作, 用人单位招不到高级人员.
资本寒冬, 留给 Android 程序员的是机遇和挑战, 给予职场人的是突破自我的压力和动力. 所以, 目前这个阶段只有提升自我技术修养, 苦练内功才能在众多求职者中脱颖而出.
2 衣带渐宽终不悔, 为伊消得人憔悴
从自身规划的角度讲, 技术上的进阶分如下几个阶段:
1, 做好业务需求的功能. 这个是初级程序员就应该有的能力, 俗称面向百度编程
2, 解决极端情况下的技术问题, 比如性能优化, OOM 等. 稍有点规模的公司, 肯定都会遇到这种问题, 比如上文中说的 App 在部分机型上崩溃, 页面加载不出来等. 只是大部分程序员会觉得难以复现, 或者是因为小概率事件而忽略了. 在忽略这些问题的过程中, 也放弃了进一步提升的可能性. 还有一部分程序员是看到了这些问题, 但一直不知道怎么解决, 因为这些问题的产生基本都是要往底层框架去找原因, 而平时只关注上层的业务逻辑代码, 因而没有深入研究底层的原理, 导致心有余而力不足.
3, 在开发框架和效率上做文章. 举个例子, 很多程序员说自己的精力都在和产品的撕逼中浪费了, 但有没有想过, 能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来? 比如是否能够做到只编写一次代码, 或者改个配置参数就能够做到在不同平台上运行. 更高的要求是, 能否将这些方案做成通用框架或产品.
温水煮青蛙, 我们停留在初级阶段的程序员尤其是大龄程序员就是这个里面的青蛙. 以上几个阶段看着容易, 但需要我们很大的勇气和坚定的信念才能逐步实现. 因为, 太多的程序员太依靠开源了, 停留在来复制和粘贴阶段了, 相反, 深入学习, 深入源码, 开拓技术视野的本能在逐步丧失.
举个支付宝招聘的例子:
在红色框里面的内容就非常简短, 但是缺蕴含深意: 高性能编程和性能调优共同决定了 Android 平台的代码执行的高性能. 这也给我们指明了努力的方向: 我们即具备写高性能代码的能力, 同时又要具备修改别人代码并使之具备高性能的能力, 这些都是 copy 代码学不来的. 以下是性能优化的思维导图: 高性能代码编码实战, 是带领大家将代码写起来; 用户体验及资源消耗优化, 是带领大家从用户体验的角度去修改现有的代码.
性能优化思维导图
当然, 要让自己成为高级工程师, 不仅仅需要自己具备性能调优的能力, 其实学习的内容还有很多. 还需要对 Java(Kotlin) 语言熟练掌握 / Android SDK 原理源码深入理解 / 高级 UI 绘制能力 / Android 热门技术 / C 与 C++ 语言能力 / NDK 开发能力 / hybrid 开发 (Flutter)/ 小程序编写能力. 因为不同行业不同项目需要学习进阶的技能都不一样, 要是要在细分领域找准方向!
这里给大家分享一份全面详细的阿里 P7 级别的进阶技术大纲, 给大家如何进阶提供方向;##### 技术大纲脑图详细地址
Android 思维脑图系列汇总
[需要更多 xmind 格式的思维脑图, 也可以在文末一起领走]
这里想跟大家提一个问题. 在浏览招聘网站时, 你是否有过这样的想法; 凭什么那些高级工程师月薪可以拿三四十万以上, 而我去小厂面试个工作还要被挑挑拣拣? 自己能不能成为, 怎么样才能成为高级工程师拿高薪呢?
如果你承认在 Android 方面真的不如别人, 无法发挥你的天赋. 请往上拉看文章前面转行的建议和方向.
3 众里寻他千百度 蓦然回首 那人却在灯火阑珊处
如果现在的你仍想在 Android 开发方面有所突破和提升, 甚至刚刚好处于找工作跳槽面试阶段, 我希望能够为你提供一些帮助, 因为寒冬抱团或许是个取暖和前进的不错选择.
福利一; Android 各大面试专题整理 + 详解
image
来源: http://www.jianshu.com/p/7d544c10aed7