关于工具与技术的一些感悟

昨晚厨房下水道堵住,今天在58同城上看了看管道疏通,一次在100元左右,为了降低成本,决定自己亲自动手,于是下班回到家后,就去五金市场买了管道疏通器。在用管道疏通器的时候,由于厨房下水管道为U型管道,钢丝只能捅进50厘米左右,就很难再捅进去了,多次尝试后,无果。仔细研究了下水管道,发现管道之间是连接着的,可以手动拧开,于是先把洗菜盆和U型管的连接卡口,然后用垃圾袋将积水接住。再将U型管从下水管中拽出,发现U型管中有杂物堵住,于是将U型管拉直,对着水龙头,直接将杂物冲出,再将U型管装上,分别打开洗菜盆的两个水龙头,水都可以畅通流下,大功告成。

忙完后,发现疏通管道和对待技术、工具颇有相似之处,如下表所示。当我们的系统有瓶颈时,策略1是请外部专家来解决;策略2是自己动手,直接上手一些工具来解决;策略3是先思考瓶颈可能在哪,然后找到瓶颈,解决掉瓶颈,于是问题解决。

策略 管道堵塞 架构瓶颈 优势 劣势
策略1 请师傅来清理管道 外部专家来解决 专家具备专业的经验,可以快速解决问题 成本高,有些时候专家也未必能够解决
策略2 手动使用工具来清除管道 使用工具解决 可以借助工具来降低重复工作和提高效率 工具不一定能满足条件
策略3 手动清除被堵塞的管道 思考瓶颈,解决瓶颈 成本可能低一些,对系统理解更深入 需要具备对系统更深入的认识

其实,并没有一种策略一直是适用于所有场景的;但是如果在请外部专家或者使用新的工具时,我们先思考一下系统的瓶颈,尝试着去优化这个瓶颈,或许比盲目依赖专家或者工具要好。

正如当前,大数据与Deep Learning之火,如果交流时,不说几个相关的名词,都不敢说自己是数据挖掘工程师。可是,真的是这样的吗?窃以为,从来没有一种方法或者工具可以统一江湖。Hadoop不会,Spark不会,Deep Learning也不会,我们更应该去思考我们的系统、模块是否需要用到这些工具、模型?如果需要,是否真能够有效提升我们系统、模块的效率或者效果?

工具可以提高我们的效率,却不能改善我们的思维,不盲目依赖工具,但也不排斥工具,动手前先思考一下,研究一下。