Android培训
美国上市Android培训机构

400-111-8989

热门课程

数年Android 开发,如何突破成长的技术瓶颈?

  • 时间:2017-06-19
  • 发布:Android培训
  • 来源:Android职场

干了四五年Android开发了,感觉做App几乎没有什么技术门槛越来越像搭积木了,现在每天都特别烦恼和焦虑,感觉自己遇到了非常大的技术瓶颈了!而且做很多事情都很难获得成就感!

想知道有小伙伴也和我一样遇到技术瓶颈期的么?你们都是如何解决的呢?

补充,其实不仅仅是技术的瓶颈期,感觉工作,生活都处于这个状态之中!!

ServiceManager、ActivityManager、packageManager 、*****Manager 都弄懂了?

Binder 也搞清楚了?

IPC 也弄明白了?

FrameWork 层的每个类都折腾了?

Hook 会玩了?

各种 SystemService 也知道怎么运行的了?

View 的渲染你明白是怎么回事了?

Intent 是如何实现 Activity、Service 等之间的解耦合的?

单元测试会写了?Monkey 能跑多长时间?性能测试通过了?

ClassLoader 和 DexLoader 会玩了?

Context 是个啥你也知道了?

权限机制也弄清楚了?

触屏事件的分发呢?

Handler 、Message 和 Looper 是怎么跑起来的?

如果上面超过一半的东西题主还没有弄清楚,洗洗睡,明天早点起来看书。

仔细看下的问题,感觉问题的关键不在于技术瓶颈。

1. 考虑清楚自己的职业规划
也许你根本就没有你想象的那般热爱技术,也许你只是想多挣钱让家人过上更好的生活,刚好技术还有那么点意思也能有份体面的收入,如果你的问题不是提高技术能解决的,那一切都白费。

2. 全面与坦诚的剖析自己
就技术而言,你目前在哪个Level,有哪些薄弱的地方,基础是否足够牢固,也许身边开始有不少人喊你大神,那只是虚名而已,不要自己欺骗自己。可以的话,建议去一些不错的公司面试看看,即便你不是为了换工作,能更清晰的让你了解自己的水平,在业内是一个什么层次。

3. 制定合理的学习计划
知道哪里不足,就要制定计划,坚持学习,你的不足也许是英语(这个真的很重要),也许是不好的技术习惯,也许是计算机基础知识,也许是Android某些知识的理解,总之可以有针对性的制定合理的学习计划,学习完了之后务必要及时总结,可以是读书笔记,可以是博客文章。

4. 着眼于要解决的问题,而非技术本身
我见过很多同学,看起来技术热情很高,一直研究各种新技术,但总是忽视对公司与团队业务的贡献,学习到的东西也不能落地,这有点本末倒置,我们应该首先关注于公司团队业务,更多思考如何以技术的角度,给业务做出更多贡献。抱着这样的思路,其实你往往不会再纠结于自己是否是一名Android开发,是的,我们是工程师,是要解决问题的工程师,至于需要怎样的技术来解决问题,并没有那么重要。我所见过的最优秀的工程师,都不会局限于Android技能,但往往他们在Android这块的研究都非常深入。

5. 也许可以换个环境
上面提到的,更多是自我突破,但更多时候,我们往往陷入温水煮青蛙的困局,很难从舒适区跳出来,如果你没有足够的毅力与坚持,我建议换个环境,在一个更优秀的平台中去,与更优秀的同事一起共事,成长会比你想象得要更快。

感觉楼主应该是只是在做项目的过程中积攒了很多技术和经验,还没有深入到Android开发的某个领域里面去研究.无论是生活还是工作,都需要把精力投入进去,深挖精髓,也许可以达到更高的水平,有更广的视野。

同理,其实到这个份上,工作三四年如果一直在舒适区技术遇到瓶颈是难免的,跳出去看看吧,世界还很大,焦虑也很正常,说明自己还是有进取心的。别光焦虑了,行动起来,重新认识自己,查漏补缺这是老师经常说的,其实自己也应该多自己查漏补缺。舒适区就跟井底之蛙一样,所以世界那么大,出去看看吧。相信能提高自己。

我觉得不能只为了Android一方面而进行学习,计算机科学内容十分驳杂,但彼此之间都有互通之处,Android只是其中很小的一方面,应该为了整体的知识水平去学习。这样无论是Android也好还是其他也好,都能有所提升

这个问题从前天就想上来答了,一直木有勇气。10年毕业,大四开始学java,也培训过,顺利从物理老师转成了做Android。期间也断断续续的学过其他语言,但基本上都是做Android。

我觉得视角受限可能是焦虑根源。

一方面技术更新太快,即使有心去追,但没有实践环境,连踩坑的机会都不给你,更别提解决问题的经验了。比方说hotfix,react native。

另一方面楼主更多提到的是技术的瓶颈,可能还没涉及到管理。没有冲在一线去跟产品,后台,运营'撕逼'。对业务没有参与感也会没有成就感,你只觉得自己在搭积木,而不是在做一款有意义的产品。

我也时常会有这样的体验。觉得自己技术太腊鸡。技术哪来的瓶颈,那是实用主义者的借口。上至设计思想,下至底层原理,掐在中间当然觉得自己有瓶颈啊。因为底层实现被封装,对调用者不透明。而设计思想又体现在整体的架构上,对一块一块搭积木的人也是无感的。搭积木确实不难,但每一块契合的积木如何生产出来,以及最终要搭建巨塔。可能知道的少之又少。

没有具体实施的方案,也是焦虑的原因。我要如何提升技术?走底层一定就行?如何走?要不要学习其他语言?周期是多久?回报率是多大?这些都是你技术delay的原因。这也是实用主义者的借口。

其实我也没更多建议的。能意识到自己的焦虑,并想办法去找解决方案,本身已经是一种进步,至于你要选择哪一种实践。那肯定你是集各家之言综合自身情况最优解。

很多人都在讲,学着学着---》往底层发展,才有更高的造诣。作为一名普通开发者,在这个时段的我,觉得:一步一步的理解面向对象的设计理念更为重要。很多的解决问题的手段都来源于现实生活。如果各位时间充足的话,好好深入研究下常用的开源库。

隔了这么久再来看这个帖子,感慨挺深,想说说自己当下的状态。我在公司里面做Android开发差不多2年了,不能说100%完全体会到老前辈那种感觉的,但我自己也会有类似忧患感。有好多个日夜曾经都在想我在做的工作大致都是那几样,想往上再提升好像挺困难的,那我再过一两年怎么办啊?一生只能这样了么?经过很多次思考和整理,我自己是想一生都走开发的道路的,所以自己定了一个大的主线目标,就是成为T型开发者。

所谓T,就是一横一竖,横代表广度,竖是深度,我希望自己在Android开发这个领域能有深度,但是思维和见识不限制在Android上。因此,我会找一些框架去看代码,学习人家如何解决问题和优雅的写代码技巧,会去学习服务器方面相关的知识,拓宽一下自己平时搞开发时候的思考方式。这样带来的好处是,我能更好理解,为什么这些放在服务器完成比较好,这些应该客户端处理比较靠谱。以上是目前的一些想法,各位大牛觉得不妥,可以交流指点一下。

另外想说一点别的感受,关于学习提升的,下面这草图X轴代表着时间,Y轴代表着技术实力,蓝色的点代表着关键点。

向上的直线表示随着时间提升技术实力也跟着提升,这是顺畅期。到了蓝色的点开始就是瓶颈期的开始了,时间在推移,但是技术没怎么长进,这是瓶颈期。这段时间就需要开始思考解决自己的瓶颈问题究竟在哪,争取早日突破,到达下一个蓝点,也即当前瓶颈问题已经解决,达到下一个提升阶段。我觉得人的一生很多时候,都在周而复始这个过程:提升,遇到瓶颈上不去了,解决瓶颈又上去了,提升。遇到瓶颈期,我会不断的提醒自己:

  • 我需要时间积淀,欲速则不达

  • 保持好心态,调整好心情

  • 相信自己可以的

android 3年,也是楼主现在的感觉,经常容易焦虑,失眠,而且现在的年轻人顶着买房,买车,结婚的压力,技术更新也如此快,真的很容易焦虑,但是看过罗升阳的博客,基础的东西总是不变的,上层的思想总是基于底层和基础的东西来变化的,所以以前大学时老师说基础很重要,这个确实是真的,感到迷茫的时候就想出去走走,或许能改变一些想法和观念,总之人生会面对许多的考验,要做许多难做的选择,没有什么建议,只是说说自己的想法,人生没有过不去的槛,我们总能跨过去的,生活总会对你微笑的

问题不在还有多少技术没弄懂,如果仅仅靠“不捣鼓明白就去看书”来驱动你的学习,将会非常被动,也会是无底深渊。

问题在于“追求”,如果你觉得现目前android开发就像你说的那样“搭积木”,那么你可以转行或者跳槽了,出去看看,拓展追求。

我一直相信需求驱动技术,这是一种被动的“追求”,需求越复杂,追求就越高。“搭积木”的难度也就越大,你现在需求太弱了。

还有一种主动的追求就是自省,我做到最好了吗?这是最优解吗?“和谐”,“高效”,“智能”,“稳定”,我的团队做到了吗?

只有当你的追求和能力不符时,才能叫做瓶颈,学习是唯一突破瓶颈的方式,这时候你才有目标有动力,因为你有追求了。

上一篇:零安卓基础学员如何顺利找到安卓开发工作经验分享!
下一篇: Android程序员的十个转型之路

2017年Android 校招面试总结

我的 Android 面试故事 | 13家面试记录

走心的Android工程师跳槽经验分享

2017年 Android 校招面试经验总结和分享

选择城市和中心
贵州省

广西省

海南省