我对计算机技术的理解
计算机技术本身
单纯从技术视角看,技术就是通过对计算机cpu、内存、磁盘等的运算,实现了具有一定业务价值的功能。
技术的衡量
-
技术能力
- 何为技术能力?如果技术存在的价值是为了赋能业务,那么技术能力就代表了解决业务问题的能力的强弱。解决一个问题,一般是两种路径:
- 一是经验知识,通过已有的方案、模型,解决问题。这个可以体现为行业经验,使用现成的经验去解决问题,高效,风险低,这也就是经验的价值,举个例子单表查询数据量过大,我们会想到分库分表。
- 二是通过对问题的思考+逻辑分析,形成解决问题的经验,可能会摸爬滚打,采坑,这个比较考验人。那么说白了技术能力=经验知识+逻辑能力。经验知识相当于缓存在大脑中,如果有,直接输出;如果没有需要逻辑计算,再刷到缓存,最终又形成了经验知识。
- 如何提升技术能力。
- 提升经验知识。多看书看下业界的标准解决方案,优劣,也包括每种技术的原理和优缺点。
- 提升逻辑能力。逻辑能力可以理解为选择技术组合解决业务问题的能力。业务核心、特性需求是已知的,技术(DB性能、应用性能、缓存性能)都是已知和固定的。那人能做的事情无非是,将技术进行组合、分工,就像搭积木一样,扬长避短,合理组装,最终成为解决业务问题的方案。这需要对业务和技术又充分的了解:
- 业务:需要找的业务的挑战点,有的业务需要高性能、高可用,比如双十一的交易;有的需要高扩展应对复杂的toB的业务,像供应链业务的无限复杂度问题。
- 技术:需要掌握各种常用的技术和对应的原理,每种技术都有长短板,引入新的技术方案一般都会其他的问题,因为在我看来,有时问题没有被解决,只是被分散和转移了。
- 有了上面两点之后,剩下的工作就是组装和调试。
- 比如解决海量数据的存储、高并发读写问题业务场景问题,在脑子上想想那些技术手段可以搞定,比如分库分表,通过分而治之的策略将大问题变成小问题,就解决了。我们能解决的只有简单的小问题,难点在大问题转换成小问题。然而分库分表就完事了吗?并不是,分表了,怎么办证主键的唯一、自增?你还得专门维护一套id生成策略。就这样一点点的思考、尝试、验证,去解决问题。
- 比如解决海量数据的存储、高并发读写问题业务场景问题,在脑子上想想那些技术手段可以搞定,比如分库分表,通过分而治之的策略将大问题变成小问题,就解决了。我们能解决的只有简单的小问题,难点在大问题转换成小问题。然而分库分表就完事了吗?并不是,分表了,怎么办证主键的唯一、自增?你还得专门维护一套id生成策略。就这样一点点的思考、尝试、验证,去解决问题。
- 何为技术能力?如果技术存在的价值是为了赋能业务,那么技术能力就代表了解决业务问题的能力的强弱。解决一个问题,一般是两种路径:
-
对业务的价值
- 支撑业务:保证业务较好的运转
初级阶段:这是一个业务从线下到线上的过程,会节省大量的人力成本,提升工作效率,降低错误率,提升企业的竞争力。
高级阶段:业务发展到高峰期,比如天猫的双十一,技术如何做到高性能、高可用、高扩展。这个是技术人永远的追求。 - 赋能业务:运转的同时,可以为业务提供新的能力,是在1的基础上创新
- 创新就是一种赋能。技术创新带来的价值是巨大的,比如手机支付取代了现金支付,改变了人们的生活习惯,同时也给企业带来了,巨大的收入。
- 数据挖掘也是赋能。通过对数据分析,发现商业规律和价值,可以反补、调整业务,帮助业务发展。
- 创新就是一种赋能。技术创新带来的价值是巨大的,比如手机支付取代了现金支付,改变了人们的生活习惯,同时也给企业带来了,巨大的收入。
- 创新商业模式:创造出0到1的商业模式
- 这个就比较厉害了,比如阿里云,通过纯技术手段打造新的商业模式
- 支撑业务:保证业务较好的运转