一次开发人员交换角色的尝试

如果你曾经有过这样的经历,在一次开发讨论会中,人们都在热火朝天的讨论出现的问题,而且你却待在角落里打盹儿——这说明你毫不关心他们关心的问题。出现这种现象并不能简单的认定你是个没能力的蠢货(然而,你很有可能就是),而是因为你确实跟他们讨论的问题不相干。也许你从来没有写REST接口,处理过数据库升级问题,或为互动网站写过网页标签。你不知道哪里会有错误,难点在什么地方,或遇到的是什么样的技术挑战——你对所有的这些都不熟悉或根本不知道。为了补救这种情况,我的同事——威利·米勒和我启动了一个我们称作“开发角色互换”的实验。

米勒是一个科班教育出身的程序员,在很多我们一起工作的项目中(e.g., Boss Blueprint),他一直在开发后端的程序,而我做前端的页面。为了能让我们对对方的工作有更多的了解和赏识,我俩决定做一个新的项目,项目中我们互换角色,我将要写后端程序,而他要写前端页面。

“前端开发的兔子洞比我想象的要深的多。就好象我走到洞边,丢一块石头,却一直没有听到触底的声音。”

– 威利·米勒

我,同样,也感到了前所未有的阻力。我头一次接触Ruby语言,要从头学习像Sinatra或Rails这样的web框架,需要去研究那些看起来数都数不完的各种引用库。这些是如此的不同,很显然是因为我从前从未用过它们,也是因为我所面对的是完全不同类型的问题。作为前端开发人员,通常最麻烦的问题是一个按钮没有表现出色彩梯度,或有些东西没对齐。然而,不了解后台的工作原理,也许会导致前台不是最优的处理展现方式,甚至会妨碍和后台服务集成。

经过数周在项目里艰难行进和互相帮助,我们发现这种互换角色的锻炼让我们在所有Web项目中都变得更容易沟通,传递思想更有效率。比如在站会中,我能更有兴趣的参与后台程序员解释他们的成绩和他们遇到的困难。我还能提出一些不弱智的问题,对问题提出一些不同角度的观点。可在角色互换前,我只能傻站在那,脑子里是想午饭吃什么或下班后干什么。经过了角色交换的锻炼,我认识到,我不仅收获了大量的关于ruby语言的知识,更重要的,当团队作为一个整体在创造和实现一个东西时,我对解决方案有了一个更全面的视角。

很显然,开发角色交换在公司组织层面有一定的难度。如果在一个重要项目的中期这样做自然是不明智的。当你的团队中做一些低优先级的任务时可以考虑这样做。你能找到很多让团队成员担任不同角色的好机会。这样做不仅能让你的团队获得更大的交叉训练,同时也能帮助团队成员提高参与度、扩大视野,以更有效更优雅的方式完成项目目标。

你们做过开发角色交换的练习吗?你们的团队有过这样的锻炼吗?说来听听!

[英文原文:Swapping Developer Roles: A Lesson in Empathy and Cross Disciplinary Work ]
分享这篇文章:

5 Responses to 一次开发人员交换角色的尝试

  1. Anti says:

    这让我想起IOS前端开发人员跟我说的:这是后台要做的事,我只负责接收你的数据。
    实际上我也不知道这个到底该归谁处理,到后来都是彼此讨论才得到的结论,当然也少不了:这是你的事,我不管。

  2. Adam says:

    实际上,在我们这里,后端就是前端,前端还是后端,换过来换过去等于没换。

  3. Lewis says:

    卷首图片用得很有意思,这哥俩合作相当愉快

  4. zqsilence says:

    呵呵,BOSS会同意你们这么干么?在BOSS的眼中,开发效率才是最重要的好么。

  5. 独行猫儿 says:

    大陆的纯商业公司,一般来说各负其责都会把工作搞得一团糟,更别说交换角色了

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.