• Feeds

  • 工程师效率

    很好奇程序员这个群体这些年效率是变低了还高了,在社交媒体中,各种各样的段子会让你笑cry;各个兴趣圈都有一大堆内容帐号,其源源不断产生的内容可让你享受阅读的快感。这些快感会比写代码见效快。

    但是完成一个模块的代码通常要一整天或者好几天时间,中间最好还不能间段,最终只有运行没有问题才会体验到愉悦;几年前也曾经实验过,让工程师在编写代码时候,如果被各种事情打断(比如产品汪来访),就在身边一张空白表格标注一下,结果一天被打断十几次是很正常的情况,而工程师被打断一次,通常需要5-20分钟才能恢复回原来任务正常的状况。

    而社交媒体只需要一些碎片时间就可以达到高潮,等电梯不到一分钟的时间也会让你有机会对着手机傻笑,相较之下高低立判。而据说这种让大脑愉悦的神经元连接方式一旦新连上就非常稳固,最终会欲罢不能。当他在写代码的时候,大脑会下意识的切换任务去刷下微博及朋友圈以便得到放松及愉悦,而coding时被别的事情打断的创伤更是需要一些补偿来抚平。只要不是最后交付关头,这些效率的损耗无从统计,往往连自己也无法得知。

    但在另外一方面,社交媒体促进资讯流动加快,在一定程度上促使行业中优秀软件的复用程度提高。几年前还记得NoSQL遍地开花,每个公司都有一个自己的PHP MVC框架。慢慢的跟社区版本一比较之后,百花齐放的现象就慢慢消停了。最近在看一些技术会议的slides,发现大部分内容已变成各种开源软件的选型技巧了,不知是否矫枉过正了。协作程度的提高,也可以视为软件已经逐渐迈向工业社会,有了真正意义的上下游,形成了分工与合作。从这个角度来讲,工程师只需要在自主研发还是拿来主义之间做个选择题,从整体的角度来说,研发效率就得到了提升,视野的提升弥补了coding下降带来的效率问题。

    但这也带来一个群体智商下降的问题,大前研一在《低智商社会》中提到

    这样导致的结果是,时下流行语中对社会问题所定义的“中低阶层”的范围在不断扩大。所谓的“中低阶层”,就是指身处其中的年轻人对工作和学习都缺乏兴趣,而这种兴趣的缺乏加剧了中产阶级社会的崩溃。

    随着信息化社会的高度发展,人们对手机和互联网的依赖度越来越高。在这种情况下,年轻人的思考能力和交流能力面临日趋下降的危险。甚至有种说法称,当代年轻人只关心自己周围3米以内的事情。

    当然,“智商衰退”并不仅仅发生在孩子和年轻人身上,连大人们也在做着令人难以置信的事情。比如说,电视节目里一说到“纳豆对减肥有帮助”,他们就会不假思索地立刻去买。第二天日本超市的纳豆竟然被抢购一空。继纳豆事件之后又发生了香蕉的抢购潮。

    当前技术圈情况也差不多如此,一种新技术只要得到宣传,就会一拥而上,把使用新技术当做战绩,各种技术会议充斥着各种新技术使用的技巧的分享。而新技术一旦在国外受到了质疑,技术圈马上就会变得茫然,比如“LinkedIn都不用Scala语言了,那我下一步怎么办?”

    影响工程师效率还有一个因素是来自大公司里的流程,由于“全栈工程师”还没得到广泛的理解及接受,因此不同栈之间新开发的模块存在一个联调的过程,如果他们属于不同的部门,则联调的周期会更长。软件开发完成到上线之前,还需要经过测试部门的测试。由于这些因素,加上人为的一些控制稳定性的制度,即使在代码中加个空格,在一些团队有时需要一周的时间才能到线上。

    大型系统中还存在模块耦合的问题,由于多个模块由不同的人员及部门维护,因此给调试及持续集成带来很大的挑战。不少公司中很多代码只能做到单个模块的测试及集成,由于依赖复杂,测试环境很难搭建,最后只有线上才有一个包含所有模块的运行环境,因此一段代码如果要依赖上下游才能验证正确性,则只有等到上线后才能判断是否存在bug。当环境逐渐退化到这样的境地,效率自然就无法保证。

    如想及时阅读Tim Yang的文章,可通过页面右上方扫码订阅最新更新。

    « | »

    2 Comments  »

    1. sunny

      很有想法!
      加你微信公众号!

    2. Nishant Gaurav

      Hello friends, visit today the website designed to generate free bingo bash hacks and this is available on bingo bash cheats and yes this is all working.

    Leave a Comment