软件工程师也应该充当技术支持吗?也就是说,公司应允许工程师戴上软件工程师帽和技术支持帽。如果工程师的大部分时间都花在技术支持上,这似乎会消除编写软件的能力。
软件工程师也应该充当技术支持吗?也就是说,公司应允许工程师戴上软件工程师帽和技术支持帽。如果工程师的大部分时间都花在技术支持上,这似乎会消除编写软件的能力。
Answers:
对于工作中具有软件开发组件的公司,无论是否为软件公司,这都是一个经典问题。我一直为此感到挣扎。
让开发人员参与生产支持
优点
缺点
以我的经验,大多数开发人员都不喜欢支持。我在项目和支持方面都曾担任过,我对此表示同情。当必须同时执行这两项任务时,缓解因素通常是加班,通常是无偿的,以应对紧急情况并仍使项目截止日期。项目经理喜欢无偿加班,因为这意味着无需花费更多金钱即可约会,但对于开发人员而言,这只是一大笔钱。
但是,我也相信,如果开发人员在创建可靠,直观的系统方面做得更好,您的支持就会减少。因此,这为混合两者创建了一个怪异的循环参数。我认为如果必须同时执行这两项操作,则应该找到避免同时进行的方法。
强调一点,没有。
我们都知道它是多么困难不得不停止你正在做什么,问问回答问题。我的确为服务台接电话,并编写了一些实用程序。
我不能专注于解决问题,因为我每5分钟必须拿起电话。两项工作都做得不好,因为我一直在思考如何解决问题,而且我从事编程工作的时间也不足以完全实现我可能拥有的任何解决方案。
再说一次,我不能过分强调能够专注于一个方面或另一个方面有多么重要。
我永远不会把开发人员作为第一线支持。中断的次数和您将不得不重复的次数将促使大多数开发人员大声疾呼RTFM并挂断下一个打电话的人。这不是客户需要的东西,也不是您希望开发人员必须忍受的东西。
任何客户服务职位都有一定的规定。对于愤怒的呼叫者,接听电话的第一个人是错误的。无论他们是公司总裁,开发应用程序的人还是支持经理,都没有关系。一旦客户得到第二个人,该人可能知道或可能不知道他们在做什么,则客户将能够冷静下来并更清楚地解释问题。
这不是您想要保留优秀开发人员的环境。让开发人员与客户互动解决一个特别棘手的问题是否有价值,而不仅仅是“为什么我的杯架不再工作了”?绝对。但这是在通过第一层和第二层支持热线审查了支持请求之后。
这取决于公司。
我的工作就是这样。我是软件开发人员,但是由于我们是一家相对较小的公司,因此每个开发人员通常都基于自己的软件担当“非正式”支持角色。有些开发人员必须比其他开发人员提供更多的支持,具体取决于许多因素,例如他们开发/发货的产品数量,产品的故障程度以及支持的效果。如果您可以向客户提供他们解决问题的确切信息,他们将继续与您联系,以尽快解决问题。双刃剑?是。您遭受生产力下降的困扰,但客户满意,并且更有可能继续成为客户。这对于较小的公司很重要。
我们确实有一个系统支持团队,但是由于我们的工作性质,他们通常不得不处理与硬件相关的问题。就个人而言,在一家较小的公司中,此问题没有人们想象的那么严重。当然,您在尝试制定一些重要功能时会接到电话,但是与此同时,客户服务大大改善了;他们可以拥有权威的声音,而不是那些拥有二手信息和支持脚本的人,他们可以(在许多情况下)知道如何解决他们的问题。如果您不能在那里解决问题,则可以亲自向他们保证,将为他们的错误实施修复,或者考虑他们的功能要求以供将来发布。您可以直接从软件用户那里得到真实的反馈,因此您的下一个版本可能比您已经想象的要好。
我喜欢认为满意的客户可以为您的公司带来更正面的印象,通常可以吸引更多的客户。因此,作为软件工程师,我喜欢技术支持。
没有什么比计算机技术支持人员不愿意让您与真正了解正在发生的事情的人联系起来更令人沮丧的了。我希望任何大型应用程序公司都会有一些可以提供技术支持的程序员。
开发软件需要一些人才和技能,而一线支持则需要有效的人才和技能。我不知道这些人才有什么关联。
这意味着您要么必须部分地基于开发人员提供电话支持的能力来雇用开发人员,要么让您的客户直接与不擅长处理客户并且不想在一开始就这样做的人进行交谈。这可能比让他们与一个有印度口音的家伙谈话要好,也许不是更好。
另外,当您使工作变得不愉快时(我不知道任何实际享受一线支持的开发人员),您的一些开发人员将离开。通常,这些人可以更轻松地找到其他工作:即好工作。随着这一过程的进行,您最终会发现一家人才稀少的商店,这使主管人员无法获得别人提供的第一份工作机会。
至于完成认真的开发,如果经常出现中断,请不要理会。我的妻子抱怨期望同时进行开发和支持用户。
我认为这很大程度上取决于公司。您典型的BigCo公司通常可以负担得起支持人员隔离开发人员的费用。在另一方面,有三个人启动总只是可能没有足够的资源来提供不同的支持人员。
我认为最好的总体策略(不考虑公司规模或资源规模)是使用支持团队来解决业绩不佳和最常见的问题(“您是否尝试过关闭并打开?”)。工程师应与客户一起解决一些棘手的问题,这些问题需要了解系统的工作方式以及更多面向开发人员的支持(API,开发人员工具等)。您可以让支持人员扮演“联络员”的角色,但是我发现这通常比其价值更大。
虽然我不认为这是适合使用的开发者为支持所有的时候,我觉得有什么可说的有一个开发做了一个应用程序的初始支持。具体应包括下班后的支持。我还认为,定期安排他们的应用程序在非工作时间支持中会很有帮助。
没有什么比让多个3AM调用使您意识到某些设计决策和/或快捷方式对人们支持和维护您的代码的能力有什么影响了。
理想情况下,出于上述原因,最好是“否”,但在项目尚处于初始阶段时,是的,因为开发人员可以提供通常是企业期望的快速解决方案,从而为软件的持续改进提供了支持。我重视那些精明地提供支持的开发人员:那些通过示例向更正式的全职支持团队提供分析技能的开发人员,以及那些以表现服务与合作精神的方式来回答业务问题的开发人员。但是,取得成功的关键包括管理层认识到并正式确定了第一级和第二级支持,以使开发人员从他们的短期角色中迅速卸任。对开发和支持都非常了解的开发人员应被培养为第三级支持或对支持人员的支持。所以应该 与时间有关,与才能和欲望有关,并得到有效管理。
我自己的兴趣是回答艰难的支持问题,并从经验中学到的东西可以减少对总体支持的需求,这对最终用户和主要支持都有利。
缺点-假设您必须直接与客户打交道。
1)破坏客户
如果开发人员直接与客户打交道是第一,第二,第三线支持(我的意思是模糊的线支持),那么这是一个很大的缺点。开发人员具有调试问题或开发解决问题所需的技能。如果客户具有对开发人员的完全访问权限(模糊线),那么就不会阻止客户“滥用”此特权,从而导致被宠坏,要求高和特权的客户所支付的费用不超过任何其他客户。
2)限制开发人员说谎并编造故事。
与客户打交道的任何人都知道,对客户撒谎是前提。有一个1行修复的错误,可以在5分钟内完成。客户支持人员将经过培训来管理客户的期望-解决问题可能需要3天的时间。
作为开发人员,如果您必须直接与客户打交道,那么当您的主要工作应该是解决技术问题并确保系统平稳运行时,您必须想出新颖的方法来安抚或欺骗客户。
3)您的简历遭受痛苦。
除非您要从软件工程师转换为业务分析师/ IT顾问/项目管理,否则您的简历将遭受技术方面的困扰。
在团队中轮流进行的有偿支持工作是另外一回事。
优点
1)阻止抱怨者抱怨
做他们讨厌的事情的开发人员将使他们更欣赏编码。有一个不断在抱怨的程序员吗?将他们放在热线电话上一个月。