做了五年Android开发,有些话想对大家说…,vue数据双向绑定

可以说在大公司的这些日子里,让我学习和领悟到了很多非技术方面的能力:

  • 语言表达能力(大公司经常需要在很多人面前发言).

  • 与不同人沟通的能力.

  • 复杂问题的定位和解决能力.

  • 团队协作能力.

  • 帮助(指导)他人的能力.

  • 团队建设和管理的能力.

这也是为什么写了那么多经验感悟文章的原因.而上面的这些能力,很多是仅仅靠撸码是无法获取到的.

心态上发生变化

=======================================================================

我从事Android开发的前三年,之所以那么拼命地工作和学习,一部分是出于兴趣,而另一部则是想要证明自己.

  • 对于公司而言: 我要证明自己是公司不可或缺的人才.

  • 对于领导而言: 我要证明自己的技术水平是组内第一.

  • 对于家人而言: 我要证明自己有能力养活自己.

  • 对于女友而言: 我要证明自己有能力独自照顾一个人.

马斯洛需求层次理论告诉我们, 当一个人的需求得到满足之后,他会追寻更高层次的需求.

做了五年Android开发,有些话想对大家说…,vue数据双向绑定_第1张图片

当这些都被我一一证明了之后,一切都变了.证明自己已经显得不那么的重要,追求自身价值的体现成为了我现阶段的目标.

于是,我离开了当年的那家公司,放弃了父母规划的道路,离开了女友,开始遵从着自己的内心,寻找人生的答案…

此时的我,需要的并不是别人的肯定.我并不会在意别人的赞赏或者是诋毁,我所做的都是发自内心的事情,而不随外物而影响.

于是,我选择成为了一名开源项目的创作者和布道者.将我平时积累的技术经验全部分享出来,目的就是帮助全世界所有热爱技术的人士,同时让我的价值在别人身上得到体现.

在这两年内,我积极维护我开源的项目,同时还在各大技术社区和论坛上发布一些相关的技术文章,同时还运营了自己的微信公众号.近期,我还积极创作一些开源技术相关的视频.这样做的目的,一方面是可以把自己的经验和技术分享给更多需要的人,让知识发挥它更大的作用(知识在于传承), 另一方面也是满足了自己的虚荣心,让自己的价值得以体现.

思维方式发生变化

========================================================================

从事Android的前三年,我的想法是相对激进的.那时的我,对所有的新技术都是那么的趋之若鹜,而对于那些相对陈旧的技术是嗤之以鼻.我天真地认为那些新技术都是革命性的,都需要去掌握、学习并运用到实际的工作中去,而那些旧技术就是需要替代的对象.

于是,我就不计代价,大张旗鼓地把公司之前使用的旧技术一股脑地都准备换了,而当时领导的处处阻挠在我看来就是技术上的不思进取,中间还闹了不少矛盾,这也成为了我后来离开公司的原因之一.现在想来,当时的我想法真的是非常的幼稚!

技术不是唯一的生产力

==========================================================================

技术是生产力,但并不是唯一的生产力.

在创业公司的那一年里,让我彻彻底底地明白了,技术并不是唯一的生产力.一家公司的发展,更多靠的是强力的融资能力(资本),强大的渠道推广能力(营销),很多时候技术只是其中的一部分,充当的仅仅是工具人的角色.

做了五年Android开发,有些话想对大家说…,vue数据双向绑定_第2张图片

当年那个极力崇尚技术至高无上的青年被现实狠狠地教育了一把.那时的我认为只有纯做技术的才能被人尊重,而那些在产品线做业务、测试,或者跑业务跑市场的人都是不值一提的.然而也正是我那时瞧不起的那些人,直接导致了我待的那家创业公司的衰败.

技术没有好坏

======================================================================

技术没有好坏,更没有高低贵贱,有的只是合适与不合适.

新技术一定比旧技术好吗? 如果这个问题在两年前问我,那么我的回答一定是肯定的! 但如果你现在问我,我的回答就不一样了.

任何的新技术一定是在旧技术上有了一些改进,否则它就不为是一项新技术.那么我们为何不直接使用它呢?因为这里我们考虑的更多是成本的问题:

  • 新技术必然带来更高的学习成本.

  • 新技术的引入必然带来更多的替代成本.

  • 新技术如果尚未成熟,当遇到一个坑时必然带来更大的解决成本.

  • 如果使用新技术遇到一些无法解决的问题,会带来一些风险成本.

当一项技术的使用所带来的收益要远远大于它带来的成本时,这个时候我们才会考虑采用这项技术.

可以看到上述我列举的成本对于大公司来说是相当巨大的:

  • 大公司的人员较多,新技术的学习成本非常高(不可能全裁了重招吧)

  • 大公司的项目通常偏大,替换的成本相对较高.

  • 大公司产品的功能较为复杂,碰到一些没人遇到过坑也是常有的事.

  • 大公司对项目的风险一般是零容忍的:宁可不做也不能冒风险.

这也是为什么很多大公司不愿意采用新技术,而是选择沿用之前成熟的技术的原因.

所以我们在思考一项技术能否被我们采用的时候,压根就没有考虑过这项技术的新旧以及高低贵贱.至于那些成天在技术社区里发一些技术焦虑文章的人,我觉得社区就应该屏蔽他们,以免误导那些刚入门的小朋友.

追本溯源

====================================================================

当你抛开事物的表面,去追寻其本质之后,你会发现很多东西都是相通的.

两年前我在学习和使用技术的时候,更多的是遵循拿来主义和实用主义,天真地认为我会用这项技术就等于我掌握了这项技术.

做了五年Android开发,有些话想对大家说…,vue数据双向绑定_第3张图片

之所以这么想,归结原因还是见的世面太小了.之前待的小公司,业务并没有那么复杂,用例也没那么多,遇到的情况也相对简单单一,所以简单地使用基本就完事了.

然而,到了大公司之后,那业务的复杂程度以及用例覆盖到的场景远远是你所想象不到的.很多时候,一些问题你是不能通过简单的使用就能解决的.尤其是发生一些诡异的问题时,你不阅读源码了解其实现原理,是无法进行解释的.

举个例子,我们做Android的都用过RecyclerView,可你有阅读过RecyclerView的源码,了解其缓存机制吗?相信你看完RecyclerView的源码之后,你就会知道,其实你所谓的掌握RecyclerView,只不过是RecyclerView的冰山一角.

学习一项技术,如果你只是掌握了如何去使用,那么这只是你迈出去的第一步,后面更重要的是要追本溯源,深究其底层实现原理,这个时候你才会发现,很多技术原来是相通的.

最后

==================================================================

作为一名Android开发的热爱者,只要Android不死,我就会一直在Android开发的道路上前行.无论前途如何曲折,我相信Android会变得更加美好!

写在最后

对程序员来说,很多技术的学习都是“防御性”的。也就是说,我们是在为未来学习。我们学习新技术的目的,或是为了在新项目中应用,或仅仅是为了将来的面试。但不管怎样,一定不能“止步不前”,不能荒废掉。

做了五年Android开发,有些话想对大家说…,vue数据双向绑定_第4张图片

![做了五年Android开发,有些话想对大家说…,vue数据双向绑定_第5张图片
[]

做了五年Android开发,有些话想对大家说…,vue数据双向绑定_第6张图片
做了五年Android开发,有些话想对大家说…,vue数据双向绑定_第7张图片

文章以下内容会给出阿里与美团的面试题(答案+解析)、面试题库、Java核心知识点梳理等

ges/22459598-3e1bbd9b84cc0ef9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

[外链图片转存中…(img-6ZEhuCnI-1643890714723)]
[外链图片转存中…(img-OraUsx2f-1643890714723)]

文章以下内容会给出阿里与美团的面试题(答案+解析)、面试题库、Java核心知识点梳理等

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

你可能感兴趣的:(程序员,架构,移动开发,android)