Android开发Android开发经验谈Android技术知识

Android开发者进退两难的出路:转行或进阶?

2020-10-12  本文已影响0人  迷途小码农h

著名国学大师王国维先生,曾经在他的名作《人间词话》中说,人生的三个境界是:“昨夜西风凋碧树,独上高楼,望断天涯路,此第一境也,衣带渐宽终不悔,为伊消得人憔悴,此第二境也,众里寻他千百度,蓦然回首,那人却在灯火阑珊处,此第三境也。”

这三个境界用到我们程序员上,再适合不过了~

1.昨夜西风凋碧树,独上高楼,望尽天涯路

当前移动互联网的开发环境,Android经过10年的发展,大幅度降温了,不是懂一点Android基础就能找到工作的年代。

很多发展不理想的Android程序员就很自然的会想到转行

那么转什么最好?

每个人的自身情况不同,转的方向也会有所区别,转人工智能相关开发肯定是最好的,毕竟风口上的猪也能飞,跟着风口无可厚非。只可惜人工智能相关对学历和算法要求很高,最起码得是个硕士吧,而且这只是低配。那么大多数Android开发可以转的方向主要有前端、后端和python等等。我大概说一下:

1.转前端,这个是我认为最好转的一个方向,前端的理念很多都和Android类似,也可以作为Android的延伸,向大前端发展,如果对界面感兴趣的可以转前端试试。

2.转后端,后端这个就是完全的转行了,看似Java大家都会,但是后端的技术栈可不是只有Java,各种框架绝对叫你头大,很多人强调后端技术深,各种处理高并发看似十分有技术含量,不过这只是为数不多的公司在做。如果想要稳定的可以转后端试试。

3.转python,python最近真是很火,因为他跟人工智能发生了关联,其实大部分学python的没有搞什么人工智能相关,基本都是在搞爬虫。追求浪潮的可以转python试试。

不要轻易转行,要转就尽早转

其实现在大部分转行纯属是为了跟风,为了那点钱,而忽略了长期的发展。现在市场的对Android开发的需求已经非常理智,但是Android开发者缺鲜有看的清形势的。在资本寒冬的年代,任何行业都比较难找到好工作,都比较难拿到高薪。作为Android开发者,我们需要明确如下几点:

资本寒冬,留给Android程序员的是机遇和挑战,给予职场人的是突破自我的压力和动力。所以,目前这个阶段只有提升自我技术修养,苦练内功才能在众多求职者中脱颖而出。

2.衣带渐宽终不悔,为伊消得人憔悴

从自身规划的角度讲,技术上的进阶分如下几个阶段:

温水煮青蛙,我们停留在初级阶段的程序员尤其是大龄程序员就是这个里面的青蛙。以上几个阶段看着容易,但需要我们很大的勇气和坚定的信念才能逐步实现。因为,太多的程序员太依靠开源了,停留在来复制和粘贴阶段了相反,深入学习,深入源码,开拓技术视野的本能在逐步丧失

举个支付宝招聘的例子:
image

在红色框里面的内容就非常简短,但是缺蕴含深意:高性能编程和性能调优共同决定了Android平台的代码执行的高性能。这也给我们指明了努力的方向:我们即具备写高性能代码的能力,同时又要具备修改别人代码并使之具备高性能的能力,这些都是copy代码学不来的。以下是性能优化的思维导图:高性能代码编码实战,是带领大家将代码写起来;用户体验及资源消耗优化,是带领大家从用户体验的角度去修改现有的代码。

image

当然,要让自己成为高级工程师,不仅仅需要自己具备性能调优的能力,其实学习的内容还有很多。还需要对Java(Kotlin)语言熟练掌握/Android SDK原理源码深入理解/高级UI绘制能力/Android热门技术/C与C++语言能力/NDK开发能力/hybrid开发(Flutter)/小程序编写能力。因为不同行业不同项目需要学习进阶的技能都不一样,要是要在细分领域找准方向!

这里给大家分享一份全面详细的阿里P7级别的进阶技术大纲,给大家如何进阶提供方向;
百度脑图

这里想跟大家提一个问题。在浏览招聘网站时,你是否有过这样的想法;凭什么那些高级工程师月薪可以拿三四十万以上,而我去小厂面试个工作还要被挑挑拣拣?自己能不能成为,怎么样才能成为高级工程师拿高薪呢?

如果你承认在Android方面真的不如别人,无法发挥你的天赋。请往上拉看文章前面转行的建议和方向。

3.众里寻他千百度 蓦然回首 那人却在灯火阑珊处

如果现在的你仍想在Android开发方面有所突破和提升,甚至刚刚好处于找工作跳槽面试阶段,我希望能够为你提供一些帮助
技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 几大块;

我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

image

Java语言与原理;
大厂,小厂。Android面试先看你熟不熟悉Java语言

高级UI与自定义view;
自定义view,Android开发的基本功。

性能调优;
数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。

NDK开发;
未来的方向,高薪必会。

前沿技术;
组件化,热升级,热修复,框架设计

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,石墨文档可见;《Android架构视频+学习笔记》

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

上一篇下一篇

猜你喜欢

热点阅读