多面手程序员

阅读更多

先来看看这样的场景:

  • “没有美工做的高保真页面,我怎么来开发呢?我没有审美,也不会用PS作图啊。”
  • “正交测试这种技巧,是测试工程师应该掌握的,开发不需要了解。”
  • “目前进度的瓶颈在产品经理那里,他还没有给我澄清需求。难道要一个写代码的去给客户整理需求么?”
  • “我是C++程序员,我是做底层开发的啊,这种页面样式的问题我怎么可能懂?”
  • “这是维优人员关注的线上数据,他应该把日志、错误现象全部备齐了再提交问题给开发。”
  • “这是他的模块,把问题提给他来处理。”
  • ……

这些是我下面要反驳的一些做法,你有没有中枪的?

事实上,我已经在很多篇文章里(比如这篇文章)阐述了这样的观点:程序员要多能。很多情况下,优秀的程序员一个人就可以搞定一切。

但是如果我直接把我的观点扔上来,可能不会遭到很多的质疑。我们的教育一直都讲究“做一行,爱一行”,明确哪些事是自己应该管的,哪些事是别人的,切勿指手画脚。因此,即便有的人暂时赞同了我的看法,却只似雁过留痕而已,在实际学习工作中,依然不容易扭转这样的观念。

所以我摆出这样的几个场景,有异议、有争论是好事。

程序员替代不了美工吗?

有人反驳我,说:“如果程序员可以替代美工,可以替代UI设计师,那还要专门设置这些职位干什么?”

说得好。程序员当然可以做美工的工作,但是程序员不能取代他们,这里至少有两个原因:

  1. 多数程序员并不具备美工的专业技巧和丰富的UI经验,换言之,无法如他们那样精通界面设计;
  2. 出色的美工需要有非常优秀的审美,这需要审美天赋,也是大多数程序员不具备的。

但是——

  • 程序员可以用PS切图吗?可以。
  • 程序员可以设计CSS和HTML界面吗?可以。
  • 程序员可以设计UI吗?当然可以,而且往往清晰、简洁,组件复用性好。

美工,只是一个特例而已。你可以把它套到各种相关工种名称上,比如测试。有这样一篇文章《我们需要专职的QA吗?》,答案当然可以不是非黑即白的,可这需要放下成见,我想,你会有自己的思考。

请不要忽视工具的威力

工具的威力有多大?想想Bootstrap,可以让一个对CSS和JavaScript只是略懂的人,就可以做出非常简洁美观的界面来;再比如这篇文章,谁说程序员不能做运维?当工具足够强大,运维并没有那么困难。

在工具降低重复劳动和降低门槛的时候,真正精通的专家都去开发工具了。正所谓“授之以鱼,不如授之以渔”,但这句话有个特例,如果对方是程序员,那么这两者都不用,还是给他开发一个自动捕鱼工具吧

小团队和简单流程

小团队也好,简单流程也好,就是要让沟通成本尽可能小,容易保持对话交流这种高效的方式。在享受这样的好处的时候,“专才”可以吸引你的眼球,但是“通才”却是一个必不可少的要求。

对一支创业团队来说尤为如此。小团队让一个创意可以快速得到实施,但是你没有太多钱和精力,谁负责宣传?谁负责约见客户?谁负责上线?谁负责响应投诉?……你需要多面手而不是技能单一的专家。

一专多能

多面手并不阻碍你成为某一领域的专家。深度和广度往往是相伴而行的,很难想象一名优秀的DBA不懂操作系统底层的知识;也不可能见到出色的“前端工程师”却只会写JavaScript客户端脚本语言。毕竟问题不可能非常单纯,总是牵一发而动全身的,唯有了解的东西多了,才能够去更好地认识自己最擅长和熟知的领域。

事实上,一专多能已经成为了潮流。在足球领域,现代足球的发展造就了多样化的角色,为这些角色使用了独立的词语,以前锋为例,就有Poacher(抢点型)、Trequartista(9号半)和Target Man(站桩中锋)等等。

多走一步

我的同事在定位问题的时候,如果发现不是我们自己的问题,而是别的产品引发的问题(由别的团队维护),都已经形成这样的习惯:尝试花少量的代价去定位一下问题的所在。这其中,我们经常会去阅读对方的产品的代码。有人觉得不可思议,你去读别的产品的代码?其实听起来恐怖,可多数情况下做起来却没有那么困难。至少,你可以把你的调查分析结果给目标团队,了解别的产品和阅读别的产品的代码,对于扩大视野还是有助益的。

在模块划分上亦如此,不要把模块的责任划分得那么清晰,谁都有查看、修改代码的权利和义务。

多走一步还表现在团队中非设计编码的其它事务上,程序员应当尝试做各种各样的事情。比如招聘——招来的人是要和你每天在一起工作的好伙伴、好基友,这是事关你切身利益的大事,如果让别人去决定你的团队要安插什么样的人,这谈何合理呢?

有的人甚爱搞科研,这些人叫做研究员、科学家;有的人擅长做工程,这些人才是工程师。做工程就是要解决实际的问题,于是你不可避免地接触到形形色色的领域和现象。SDE不只是Software Development Engineer,同时更是Someone Do Everything。

文章系本人原创,转载请注明作者和出处(http://www.raychase.net

注:本博客已经迁移到个人站点 http://www.raychase.net/ ,欢迎大家访问收藏,本ITEye博客在数日后将不再更新。

你可能感兴趣的:(多面手,程序员)