“如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。”
这是牛顿说过的一句至理名言。我们一直以为,这句话只在科学技术的发展中扮演了重要的角色。然而却不曾想到,这句话直接影响着计算机产业诞生以来这70年的发展,甚至直接影响着我们每天的工作方式。
现存的各种产业中,只有互联网产业是模块化最好的,同一个工作,各种现成的、好用的“轮子”层出不穷。
以做一个网站而言,我们并不需要从0开始,一行一行写清楚每一个逻辑,花几年时间堆砌二三十万行代码,才能最终看到一个网站的上线。我们甚至可以直接拿别人现成写好的网站、论坛程序包来,直接找台机器部署起来就可以了,而这个过程,只需要两个小时。两个小时之后,我们就可以直接去布置自己想做的业务了。
即使我们的业务场景没有找到现成可用的软件,重新写一个也只需要去网上找一下各部分现成的库,而我们要做的,也只剩把这些库的功能拼接到一起,结合自己的业务需求做定制化的开发。
而随着开源软件的理念越来越深入人心,现在我们做软件开发,早已不是“轮子”不够用的年代了,反而有些轮子过剩了。以目前最万能的脱水语言Python为例,当我们想做一个爬虫时,我们有很多爬虫的库可供使用,当想做机器学习模型训练时,我们一样有各巨头公司成熟且强大的库和环境可以使用。
现如今,对我们而言,唯一缺的就是创意和点子,而不是工具了。而这一切,除了归功于开源的理念之外,另一个重要的理念就是“抽象、封装和隔离”了。我们把各种通用的工具和服务抽象出来,定义好和用户的接口,然后就各自专注于各自的领域了。对于用户而言,无需关注底层各种技术细节,这也就是站在前人的肩膀上了。
同样的道理,我们也可以用在工作上。很多时候,我们忙里偷不出来闲,不是因为我们有做不完的事情,而是很多事情职责分割不明确,不清晰,每个人都重复地做了好多无用功。同时也会导致有些人太忙,而有些人太闲的局面。
这时候,如果尝试把工作隔离,合作的时候定义好工作的边界和验收的标准,然后就可以各自去完成自己的职责所在了。有了良好的工作隔离,我们就是站在所有协作方的肩膀上,去聚睛会神于最完美地完成自己的工作上了。
网友评论