世界上本没有河,卷的人多了便有了河!

最近在思考一个问题,对于技术人员来说,护城河是什么呢?我想通常答案应该是技术比别人强。

那我们说一个人技术比别人强到底又是指的什么呢?哪里比别人强呢?**在我看来一点是在某个技术领域他比别人懂的更多。另一点是在遇到问题的时候,他能比别人更快速的解决这个问题。**我们分析来看看。

比别人懂得更多是护城河吗?

我们应该分阶段来看。

如果是一个技术领域的发展初期,那懂得多确实是护城河。因为在发展初期,知识点很多,你掌握的知识点比别人多,那你就是实实在在的比别人强。

当一个技术发展到成熟期的时候,大量的知识点已经被总结沉淀下来,越来越多的人会掌握这些知识点。甚至这些知识点都已经被沉淀到框架里了。

当一个知识点被越来越多人掌握的时候,那说明这个知识点就不再稀有,那他能证明的能力就微乎其微了。他能证明的,只是你不比别人差。

我们举个例子:

微积分刚出来的时候,那掌握微积分的人一定是很少的,这种人就是稀有人才。但是看看现在,各个大学课程里都开始教授微积分,那会微积分,并不能证明你比别人强,不会微积分,却能证明你比别人弱。

我们再举一个技术方面的例子:

我自己是做Android开发的。在Android刚刚兴起的时候,会做一个Android APP,就已经是稀有人才了,offer随便拿。那是因为开发安卓 APP 这个知识点当时掌握的人很少。慢慢到后来我们就发现了只会开发个简单 Android APP 已经很难找到工作了。

你不得不去掌握更多的知识,比如说插件化,比如说图片加载,比如Activity启动流程等等。记得我刚毕业的时候,图片加载的3级缓存是一个经常被考的知识点。但是现在面试考的是什么呢?是插件化的原理,Gradle 的知识等等。三级缓存很少再考了。

为什么会这样呢?因为这个知识点已经被大多数人都知道了。就算知道这个知识点也无法证明你比别的候选人强。所以现在的面试题目越来越难了,各种原理、各种 hook。

但还有更恐怖的事情大家知道是什么吗?现在就连插件化、系统源码这种更深层次更底层的原理,知道的人也越来越多了,网上关于这些知识的分析的文章也越来越多了。所以我们可以预见的是,再往后插件化、Gradle 等等这些知识也不能再证明你比别人强很多了。如果这些知识你不懂,那只能说明你比别人差。

说了这么多,我想表达的问题是,这里懂的更多,本质上是信息差。把信息差作为护城河并不是一个好的选择,它是有时效性的。

什么是真正的护城河

我们前面说到知识点并不能作为护城河,但是能快速的学习吸收知识点,并且能实际运用就是一个护城河。说白了就是:学习能力和解决问题的能力。

那学习能力是什么?是一个新知识到来的时候,你能比别人更快的掌握。通过学习能力,把信息差不断扩大。这是护城河。

那解决问题的能力是什么?是遇到问题以后,能想到用哪些流程去解决,能想到用哪些知识来解决。 毕竟每个人解决问题的方法和过程是不一样的。 你能比别人快速地解决,那这就是你的护城河。

如何将护城河挖的更深

以上者两个能力本质上来说是对知识的运用。那么如何将这条护城河挖的更深,更有防御力呢?我觉得是:创造知识的能力。

什么叫创造知识呢?以Android为例,第一个做出插件化这个事情的人,就是在创造知识。第一个写出图片加载库的人,就是在创造知识。对于前端也一样,写出 React和 Vue 的人,就是在创造知识。

创造知识,听起来很大、很难、甚至有人会觉得痴人说梦。不着急,我们分析一下。

如何去创造呢?首先我们要 发现一个别人没有解决或者没有彻底解决的问题。 这里没有彻底解决是个关键。说实话以现在技术的发展,要想找一个完全无人解决的问题已经很难了。

就像图片加载库有很多,但是他们之间是有各自优点的。这些优点就是别的框架没有彻底解决的问题。然后我们要给出解决方案。那这个方案,就是创造的知识。

第一个写图片加载库的人,一定是发现了图片加载不方便的问题,然后提出解决方案。所以我们可以说,创造知识的本质,是要发现问题和解决问题的能力。

我们再往下想,那如何发现问题呢?

需要我们的 敏感性,在遇到问题的时候,能意识到这是个问题,并且能想想,我是不是可以解决这个问题。其实我们仔细想的话,日常生活中遇到的问题是很多的,只是我们都忽视了。

那解决问题的能力是什么?

是在之前领域有了积累,可以迁移过来,解决现有问题的能力。本质上是**类比迁移能力。**就像写图片加载库的人,之前应该有见过其他领域的图片加载,可能是pc端,可能是前端。

就像汽车的发明,本质上是把汽油机迁移到三轮车上。我们发现解决问题的能力其实提到了两次,一次是运用知识解决问题,一次是类比迁移知识解决问题。

所以我们这里总结一下,技术人员的护城河是什么呢?是学习能力,发现问题的能力,运用知识解决问题的能力,类比迁移知识的能力。

然后我们会发现,这些能力,看似已经和技术已经无关了,已经是软素质了。但其实回归本质,还是要不断的提升自身的技术水平,这所谓的软素质才会有一个发挥的空间,如果你连一些底层的源码都看不懂,又如何去“类比迁移、创造知识”呢?

最后的话,我自己作为一名有着8年开发经验的Android开发者,想给大家分享一些我已经归纳总结的一些现成Android开发护城河深挖路线。在我看来对于2021年的Android开发,乃至于后续的5年,掌握这些技术才算的上Android护城河或是更利于深挖,提高核心竞争力。

  • 架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据储存优化
  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析

  • NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

  • Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

  • Android相关源码解读
    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。


由于篇幅原因,需要以上完整学习笔记pdf如有需要,可以 点赞+评论 支持下我,然后点击这里免费自取!

技术开发人员的护城河是什么?懂得这些,干到退休没问题!相关推荐

  1. 技术开发人员适应其他部门提需求的一个经验

    2019独角兽企业重金招聘Python工程师标准>>> 技术开发人员适应其他部门提需求的一个经验 我发现,我们很多技术人员往往无限度适应需要人员,跟着提需求人的思路走,陷入进去了. ...

  2. win7下搭建小程序服务器,技术开发人员告诉你微信小程序怎么做

    现在每个玩微信公众号的博主基本上都在玩微信小程序,现在的小程序特别火.虽然小程序特别火但也不是任何人想立马做就能做的,也是需要会开发及了解微信小程序的相关规则才能做的.今天邀请技术开发人员告诉你微信小 ...

  3. 技术开发人员为什么会无奈苦逼?

    技术开发人员为什么会无奈苦逼? 首先来谈谈为什么要有这篇文章,主要是最近一段时间的亲身经历后的所感.最近我们团队开始在全国范围内开始为很多的企业的项目进行性能调优.接触到了很多不同的人和事情,也看到了 ...

  4. 看完,感触很多 “IT技术开发人员获得成功的六大步骤”

    IT技术开发人士成功的6大步骤 一个前辈在移民加拿大后写的文章,写得不错,值得借鉴,转来给大家看看,也给自己 序言:经过001多年的洗礼,认识了这里这么多的JJMMGGDD,前几天刚得到签证, 无限感 ...

  5. IT技术开发人员获得成功的六大步骤

    IT技术开发人士成功的6大步骤 一个前辈在移民加拿大后写的文章,写得不错,值得借鉴,转来给大家看看,也给自己 序言:经过001多年的洗礼,认识了这里这么多的JJMMGGDD,前几天刚得到签证, 无限感 ...

  6. [脑图]如何入门技术、进阶技术(技术开发人员)

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 好好学java java知识分享/学习资源免费分享 关注 精彩内容 java实 ...

  7. 如何入门技术、进阶技术(技术开发人员)

    一.先决条件 1.首先思想要主动求变,敢于跳出的自己的舒适区,对任何技术都抱有开放的心态. 贪图安稳是人的本性.而这种本性往往会阻碍你的发展.人所能了解的知识的多少,取决于自己的舒适区有多大,舒适区越 ...

  8. 技术开发人员常用的安全浏览器

    现在的浏览器众多,但是我们经常使用的浏览器就几款,很多人对于浏览器推荐都会是说Google Chrome浏览器,但是随着国内研发员的不断改革,国产的浏览器也很值得大家去体验,现在的浏览器功能变得更加的 ...

  9. 技术开发人员应该多吃的15种健康食品

    生活节奏紧加快.工作压力大等因素导致大脑缺乏营养,出现用脑过度的现象;因而出现记忆衰退,精神不集中,做事易烦躁等情况.此时应该及时补充大脑所缺失的营养,诸如维生素.糖分.蛋白质.微量元素等. 本文就推 ...

最新文章

  1. POJ 1038 Bugs Integrated Inc (复杂的状压DP)
  2. Know more about CBO Index Cost
  3. MATLAB R2018a 输入中文却显示方框问号的问题
  4. C++对象模型2——编译器生成构造函数的几种情况
  5. Spring restful
  6. CSS3中的变形处理
  7. 2014年4月5日 java集合框架总结2--List接口及其子类
  8. 使用JNDI操作LDAP(4)(转载)
  9. “简易四则运算生成程序——第一次改进后的单元测试”链接
  10. Android 手机UI界面设计采纳网站
  11. python实现csdn博客下载
  12. 盛大如何再次“盛大”
  13. ArcGIS遇到严重的应用程序错误的解决办法
  14. 贝叶斯网络经典matlab源代码解析
  15. jekyll编写济南少儿国画博客
  16. 【网盘项目日志】Seafile 源码部署和安装命令
  17. 编辑部已成羊村,这几天幸亏有ChatGPT(doge)
  18. 选购移动硬盘注意事项
  19. 反射机制-Reflected
  20. 2021-07-17【普及组】模拟赛C组

热门文章

  1. 管家婆与盘点机应用解决方案
  2. 1.2.2 计算机硬件的基本组成(冯·诺依曼、现代计算机组织结构、计算机功能部件:输入、输出、存储器、运算器、控制器设备)
  3. python数字大小写转换代码_【经验分享】20个Python代码段,好用到哭!
  4. 湖科大 2022 计算机网络期末复习资料
  5. swift文件服务器,从头开始创建一个基于Swift的Perfect的服务端
  6. TensorFlow进阶教程
  7. 富士康为什么天天招工?
  8. 高红冰:新零售驱动新物流
  9. 员工体验成HR SaaS新风向标
  10. C++面试题之为什么不能多线程直接操作GUI状态