不少公司都有技术支持这个岗位。如果给客户部署了一套产品,客户在使用过程,遇到问题需要协助,会通过技术支持(Support)来解决问题。如果技术支持解决不了,就去找开发的做深入研究。一般处理流程如下图所示。这种架构对大部分公司过是适用的。
有些公司由于产品多、客户分布广,这种架构可能就需要做一些调整。如下图所示,在开发和技术支持之间再加一层,Level 2 Support,实际上也是技术支持。为了区分普通的技术支持,我把这个支持称为开发技术,意思是从开发人员的角度,提供的深层次的支持。一般的技术支持可能对产品使用、功能特特等比较熟悉。但由于技术支持所涉及的产品比较多,精力有限,导致不可能每个产品都了解得太深入,特别是涉及到里面具体逻辑实现,或是通过阅读代码来了解程序执行逻辑,就有点力不从心了。
开发支持在平时工作中,比普通技术支持更熟悉产品,也比技术支持更接近代码。对技术支持提出的问题,可以通过阅读代码来判断执行逻辑,判断是不是一个Bug,或是根据代码逻辑提供对应解决方案。也就是说,开发支持跟技术支持相比,更侧重于技术方面。技术支持可能没涉及到代码,可能不熟悉常用脚本的编写。开发支持熟悉脚本编写,会用到代码,会提交Bug,但不涉及到编写代码。
这种架构的目的,也是为了让开发人员能够更专注于开发工作,减少来自于技术支持或客户方面的影响。
有必要的时候,开发支持也是可以找开发人员的。比如有某些逻辑需要确认,有很麻烦的问题需要协助,或是发现代码存在逻辑问题或优化空间,这些情况都是可以找开发人员的。不过有了开发支持这层岗位,能转到开发这边的客户请求就会大大减少了,所以,一些公司(特别是产品多、客户分布广)就会设置这种岗位,不同区域(如亚太区、北美区)的客户由一个技术支持团队来负责,所有区域的技术支持都通过开发支持来寻求解决方案,开发支持有必要时再联系开发人员做更深入的研究。