干了四五年Android 开发了,如何突破成长中的技术瓶颈期?

作为diycode社区管理员之一,表示还没好好推荐下diycode社区,有点惭愧。今天来宣传一波,https://www.diycode.cc,是一群爱好分享的工程师发起,属于非盈利性组织。点击原文,可以直接访问。diycode的apk也已经公测。可以直接下载。每天都有我们认为高质量的干货share在这里。今天这个问题是diycode一年前有同学发起的问题。干了四五年Android 开发了,如何突破成长中的技术瓶颈期?,这个问题放到现在也是非常值得深思。

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

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

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

yasic · #1

这是我在知乎的收藏、没事就看看反省一下

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

Binder 也搞清楚了?

IPC 也弄明白了?

FrameWork 层的每个类都折腾了?

Hook 会玩了?

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

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

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

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

ClassLoader 和 DexLoader 会玩了?

Context 是个啥你也知道了?

权限机制也弄清楚了?

触屏事件的分发呢?

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

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

tangtao316 · #2

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

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

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

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

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

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

colorfulcat · #3

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

loonggg · #4 ·

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

lfkdsk · #5

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

stay · #6

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

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

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

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

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

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

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

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

d_clock · #7

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

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

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

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

  • 我需要时间积淀,欲速则不达
  • 保持好心态,调整好心情
  • 相信自己可以的

jack_xp · #8

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

roxas · #9

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

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

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

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

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

原文发布于微信公众号 - 何俊林(DriodDeveloper)

原文发表时间:2017-06-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

我们为什么做社区?

很多同学在加入ThoughtWorks之后,会频繁的听到和提起“社区”这个词,以及越来越多的参与到“社区活动”中,无论是自发的还是被影响的,都会对社区有更深的接...

14640
来自专栏小文博客

为什么你应该#从现在开始就#写博客

9210
来自专栏BestSDK

程序员教你如何追女生

image.png 好啦,今天这次IT内部培训,我们不讲编码技术,也不灌鸡汤要求大家加班。今天我们谈一个你们这群单身狗已经掌握却一直没怎么用的技能:“追求女生”...

25250
来自专栏带你撸出一手好代码

等待与希望,.NET Core 的发展壮大

前几天微软推出了.net core 2.0, 尽管我现在使用的技术栈和微软已经没有一丝瓜葛, 但碰到微软放大招,心里还是瘙痒难当,忍不住偷偷摸摸的体验了一把。 ...

36280
来自专栏Android机动车

如何打造个人技术影响力

什么是影响力?影响力是用一种别人所乐于接受的方式,改变他人的思想和行动的能力。影响力就是一个品牌,用你的品牌效应去影响和改变人们的行为和思想,说白了就是别人提前...

22920
来自专栏ThoughtWorks

一名ThoughtWorks咨询师的“心路历程”

还记得2015年初我在红螺寺许下的新年愿望:事业顺利、家庭和睦。 验收标准分别是: 事业顺利:我能够加入ThoughtWorks 家庭和睦:“造人”计划顺利...

33230
来自专栏VRPinea

Facebook F8狂潮不停,发力脑机接口要实现心灵感应!

29060
来自专栏大数据架构师专家

程序员如何用技术变现(上)

程序员用自己的技术变现,其实是一件天经地义的事儿。写程序是一门“手艺活儿”,那么作为手艺人,程序员当然可以做到靠自己的手艺和技能养活自己。

42360
来自专栏即时通讯技术

QQ现状深度剖析:你还认为QQ已经被微信打败了吗?

移动端的时代里,微信占据了社交领域的半壁江山,不得不让人想起曾经PC时代里的王者“QQ”,微信的爆发和QQ的停滞让很多人认为微信已经彻底将QQ打败,QQ已经不再...

24420
来自专栏Linyb极客之路

阿里首席架构师分享的Java工程师职业规划

如果刚毕业,就多花几年积累经验,不可能靠一门绝技吃遍天下,不要指望java 赚钱多还是c++ or .NET 赚钱多。太早。 积累经验为主。积累设计,架构,测试...

21140

扫码关注云+社区

领取腾讯云代金券