技术直觉
2018-04-28

四月,我成为公司某个事业部的技术负责人。这个部门还处在探索期,涌现出很多需求,且这些需求还没来得及验证,所以处在快速的变化中。

来了之后,发觉这个部门正在做的一些技术探索,是在缺乏技术直觉的指引下进行的。这样做必然会浪费感情浪费资源。如果我早些在这里,也许就能避免这些浪费了。

那究竟什么是技术直觉呢?我觉得技术直觉除了和经验有关,还和一项能力相关,就是迅速脑补出需求落地时的场景,然后综合地判断可行性。

举个例子,做动态教学课件,是该用二维的还是三维的?首先要对二维三维制作的成本有了解,不是「二维与三维的制作成本比是1:2」这样的一个简单结论。因为三维制作的弹性很大,很粗陋的那种和二维差不多成本,但要达到能与二维匹敌的品质,成本就远远高于二维了。

再比如有个需求,要一个带通知功能的网盘,好把新版本的文件分发给大家。假设我们自己开发了一个网盘,上面存了一堆文件,每个文件都有订阅者,当哪个文件更新了,就发邮件通知那个人,让他去下载最新版本的文件。看起来也没有太难做,但实际想一想,我们有很多文件每个都有好几十兆大小。某次改动可能只改了其中几个字,但是也要把这几十兆的文件上传,并通知所有人去把这几十兆的文件再下载一遍。何其折腾!与最原始的方式(逐个人发通知)差不到哪去。考虑到这些以后,我给的方案是用坚果云,一个文件实时同步的网盘。好处是它还能对不同用户组分别设置访问权限,解决了所有问题。坚果云对于用户来说几乎是透明的,效果甚至比需求方最初设想的还要好。

做一个网盘可能没多难,但实现差量同步就很难了,这就是我放弃了自己开发,而购买第三方服务的原因。对于技术的边界心中有数,并能迅速代入使用场景,这可能就是所谓的技术直觉了。

END