软件工程师也应该充当技术支持吗?[关闭]


48

软件工程师也应该充当技术支持吗?也就是说,公司应允许工程师戴上软件工程师帽和技术支持帽。如果工程师的大部分时间都花在技术支持上,这似乎会消除编写软件的能力。



2
技术支持是指支持他们正在开发的特定应用程序,还是一般的“系统管理员”类的东西?我可以告诉你,在一家小公司里工作很烦人,并且让人讨厌安装Excel。
卡洛斯,

11
我们应该吗?不,是吗?是。我讨厌它。
雷切尔

7
工程师应该始终努力做出看似无辜的错误,使那些认为将其用作技术支持的好主意的人造成更多的工作。
Erik Reppen 2013年

Answers:


74

对于工作中具有软件开发组件的公司,无论是否为软件公司,这都是一个经典问题。我一直为此感到挣扎。

让开发人员参与生产支持

优点

  • 与“真空发展”综合症作斗争。了解用户如何使用该应用程序很有价值。直到我最终把它看作一个年轻的开发人员,我才意识到自己是一个多么糟糕的UI开发人员。我只关心编码而不是设计,分析或用户角度。
  • 不能像他们认为的那样出色的开发人员应该谦虚(尽管不能保证您会获得这种好处;有些开发人员确实是遗忘,自私和固执的)。
  • 开发人员将获得领域知识。如果您的开发人员要最终变得更好地识别和填补业务分析阶段(假设有)遗漏的空白,那么这至关重要。
  • 良好的支持是营销点。如果做得好,客户会很感激的。具有沟通能力和领域知识的全面开发人员能够做到这一点。但是,我仍然希望应用程序具有足够高的质量,因此不需要支持。卓越的质量是其自身的客户支持形式(也是营销点)。

缺点

  • 干扰因素。这是混合项目工作和支持工作的第一大错误,没有障碍。项目会干扰支持,而支持会干扰项目。项目取决于估计和里程碑进度,支持是不可预测的,可能涉及即刻的紧迫性。项目基于进度表,支持基于中断。这不是一个愉快的组合,并且使开发人员很难处理。
  • 不是每个人都擅长支持。对应用程序或业务缺乏经验的人,或者个性或沟通技巧使他们更好地不受用户访问影响的人,在支持方面可能效果不佳。
  • 资源利用效率低下。弗兰克·希亚尔(Frank Shearar)在评论中指出,进行琐碎支持的开发人员可能比一级支持技术贵。

以我的经验,大多数开发人员都不喜欢支持。我在项目和支持方面都曾担任过,我对此表示同情。当必须同时执行这两项任务时,缓解因素通常是加班,通常是无偿的,以应对紧急情况并仍使项目截止日期。项目经理喜欢无偿加班,因为这意味着无需花费更多金钱即可约会,但对于开发人员而言,这只是一大笔钱。

但是,我也相信,如果开发人员在创建可靠,直观的系统方面做得更好,您的支持就会减少。因此,这为混合两者创建了一个怪异的循环参数。我认为如果必须同时执行这两项操作,则应该找到避免同时进行的方法。


1
我认为为开发中的项目提供支持也不错。与客户交谈是很好的。但是,如果您在7个项目中进行了7个不同的截止日期和紧迫性的工作……一段时间后,这真的不是很好。有点糟透了。
卢瓦克福雷-拉克鲁瓦

4
我还看到过一些商店,错过了最后期限的开发人员只会耸耸肩,说:“本周我有很多支持时间。没有错误,用户只需要握紧手即可。” 通常情况下,没有办法告诉您是在发生这种情况,还是在那一周开发人员进展缓慢。只要您对此有所控制,我就会支持开发人员支持其代码,但不希望其作为前线电话应答支持。
凯特·格雷戈里

9
应该有一个前线支持层来捕获RTFM问题,仅留下具有有用技术内容/反馈的问题供开发人员使用。
罗伯特·哈维

4
@Christopher:自我描述系统是一个不错的理想选择,但在实践中很难实现。有许多人为因素和利益相关者的压力共同导致他们做得不好,并且总是会有用户“做不到”。
罗伯特·哈维

1
一个很好的答案。我的公司找到了一个很好的中间地带-每个开发人员都花一天的时间在三线技术支持上,并在团队中轮换。如果您使用高科技,则可以在合理的范围内被打断,但其他所有人都可以免疫,除非有重大的事情出现。在我们从事技术的日子里,我们倾向于做更轻松的错误修复,管理工作等,以避免在被打扰时陷入麻烦……因此,基本上,我们所有人都有一天要做的事情是开发人员讨厌做的,但必须做,但是知道我们偶尔会收到支持电话来分手。更重要的是,很高兴知道您在接下来的时间里都不会受到感染!
乔恩·斯托利

18

我认为开发人员已经戴了两顶帽子。支持更像是一个过滤器,用于使开发免受诸如未插入计算机之类的琐碎问题的影响。但是,开发与支持之间应该紧密耦合。一些客户有合法的问题,可能是错误的结果。开发的责任应该是帮助尽快解决这些问题。因此,从某种意义上说,开发人员已经属于支持团队的一部分……称之为第2级支持。


18

强调一点,没有。
我们都知道它是多么困难不得不停止你正在做什么,问问回答问题。我的确为服务台接电话,并编写了一些实用程序。

我不能专注于解决问题,因为我每5分钟必须拿起电话。两项工作都做得不好,因为我一直在思考如何解决问题,而且我从事编程工作的时间也不足以完全实现我可能拥有的任何解决方案。

再说一次,我不能过分强调能够专注于一个方面或另一个方面有多么重要。


+1我可以与您所说的一切保持联系。几周前我也担任过类似职务。现在我们没有电话,但无论如何他们还是会敲门,甚至是:“嘿,你们看到X了吗?” 真是的
jasonco 2011年

1
您可以预留“办公时间”以避免打扰。致电支持不是一个好主意。
JeffO 2011年

2
同样,半功能异常的程序员也不是很好的支持者:)
Homde 2011年

6
我认为这是一个糟糕的答案。永远不支持的开发人员永远无法了解他们的决定如何影响用户,无论好坏。即使您认为某人符合规格,只是看着有人尝试使用该软件也可能会引起很大的反响。有一些方法可以减轻它的负面影响,在开发人员之间轮流安排时间表,帮助台处理杂草呼叫,以便您仅支持您的应用程序,等等。如果他们甚至无法与用户交谈,则确实如此。必要时进行监督,以便他们学习。
杰伊(Jay)

1
@BryanOakley:有一个将获得技术支持的计划。尽管我仍然支持我的回答,但期望一家初创公司拥有足够的客户支持发展所需的所有人员是不现实的。我仍然建议开发人员的主要任务是开发,而不是客户支持。问题在于,当开发人员客户保持紧密联系时,开发人员将:(a)始终由客户直接联系,而不是通过适当的技术渠道,或者(b)最终专门为满足该客户的需求而开发,而不是必要的发展范围很广。
IAbstract

10

我永远不会把开发人员作为第一线支持。中断的次数和您将不得不重复的次数将促使大多数开发人员大声疾呼RTFM并挂断下一个打电话的人。这不是客户需要的东西,也不是您希望开发人员必须忍受的东西。

任何客户服务职位都有一定的规定。对于愤怒的呼叫者,接听电话的第一个人是错误的。无论他们是公司总裁,开发应用程序的人还是支持经理,都没有关系。一旦客户得到第二个人,该人可能知道或可能不知道他们在做什么,则客户将能够冷静下来并更清楚地解释问题。

这不是您想要保留优秀开发人员的环境。让开发人员与客户互动解决一个特别棘手的问题是否有价值,而不仅仅是“为什么我的杯架不再工作了”?绝对。但这是在通过第一层和第二层支持热线审查了支持请求之后。


Zappos建立了一个违反第一人称统治的帝国。
JeffO 2011年

我不了解Zappos,但是对于大多数公司而言,这似乎是正确的。我所知道的是,如果我很沮丧地打电话给技术支持,那对另一端的人来说我会感到很难过。
Berin Loritsch 2011年

决不?就像从来没有过吗?即使您是由销售人员和一两个开发人员组成的小公司?即使您的开发人员是非常强大的沟通者并且喜欢与客户交谈,还是没有?
Bryan Oakley

您希望您的开发人员被认为具有丰富的知识-使他们成为与客户交谈的第二人称。届时,客户将使一些客户冷静下来,并表现得更合理一些。现在,如果它是一个客户,您与它之间有良好的关系,而这不是开发人员向客户介绍的第一个介绍,那将是非常好的。但是,第一次联系应该首先通过其他人进行审查。
Berin Loritsch

作为获得一线支持的人,我认为“愤怒的呼叫者认为接听电话的第一人是错误的”的规则是不正确的。不过,我只能凭自己的经验说话。偶尔的愤怒呼叫者确实认为这是意识到自己的错误(只要前线实际上是有知识的),或者他们根本不是在寻找解决方案,而是要有人责怪-这意味着没有人可以帮助他们。我总体上还是同意-开发人员应该是最后的联系人,一旦确定某个地方存在错误(或一个可能性很大)
DoubleDouble 2014年

9

这取决于公司。

我的工作就是这样。我是软件开发人员,但是由于我们是一家相对较小的公司,因此每个开发人员通常都基于自己的软件担当“非正式”支持角色。有些开发人员必须比其他开发人员提供更多的支持,具体取决于许多因素,例如他们开发/发货的产品数量,产品的故障程度以及支持的效果。如果您可以向客户提供他们解决问题的确切信息,他们将继续与您联系,以尽快解决问题。双刃剑?是。您遭受生产力下降的困扰,但客户满意,并且更有可能继续成为客户。这对于较小的公司很重要。

我们确实有一个系统支持团队,但是由于我们的工作性质,他们通常不得不处理与硬件相关的问题。就个人而言,在一家较小的公司中,此问题没有人们想象的那么严重。当然,您在尝试制定一些重要功能时会接到电话,但是与此同时,客户服务大大改善了;他们可以拥有权威的声音,而不是那些拥有二手信息和支持脚本的人,他们可以(在许多情况下)知道如何解决他们的问题。如果您不能在那里解决问题,则可以亲自向他们保证,将为他们的错误实施修复,或者考虑他们的功能要求以供将来发布。您可以直接从软件用户那里得到真实的反馈,因此您的下一个版本可能比您已经想象的要好。

我喜欢认为满意的客户可以为您的公司带来更正面的印象,通常可以吸引更多的客户。因此,作为软件工程师,我喜欢技术支持。


我和你在同一条船上,完全同意你的看法。但是,接待员接听电话并写下便条给您以便该客户回电应该是可能的,而且是更常见的情况。这样一来,您就可以继续工作而不会受到干扰,并在最适合您时回电。但是不要再打当天,优选2小时内电话进来后
Htbaa

3

没有什么比计算机技术支持人员不愿意让您与真正了解正在发生的事情的人联系起来更令人沮丧的了。我希望任何大型应用程序公司都会有一些可以提供技术支持的程序员。


4
在技​​术支持方面有一定的法律规定:您得到的第一个家伙总是错的。他可能是团队中技术最精明的人,并且由于他首先接听电话的事实,客户将无法信任他们。基本上,第一个家伙存在是让客户发泄和冒烟,以便下一个可以成为“救星”。任何客户服务行业都是这种情况,而不仅仅是技术支持。
Berin Loritsch 2011年

@BerinLoritsch这是一条从经验中学到的法律,而不是您似乎暗示的不合理的偏见。我不知道要如何说服支持中心,是的,我已经尝试了通常的解决方案。显然,它不能基于我的要求,但是我注意到,只要用20个字以内,我就可以知道此人是否已经完成了基本的故障排除。
Milind R 2014年

3

开发人员应该是最后的支持。

只有当服务台和我们的质量保证部门无法为客户提供帮助时,我们才会感到困扰。即使这样,它也必须通过我们优先的错误跟踪系统。

如果这是一个非常大的问题,我们会听到的。


2

仅当它是新开发人员或对域和客户群不熟悉的开发人员时,我才这样做。使它成为永久性的东西不是一个好主意。


2

我最后的工作就是这个。我们支持现有系统,并根据需要编写新系统。那是一场彻底的灾难。我会经常被打扰。我的士气实在太低了,因为项目开始要花很长时间才能完成。另外,我们不得不随身携带传呼机来获得非工作时间的支持,而无需支付额外费用(这是在医疗保健领域)。我认为解决方案(当时我曾向我的经理建议)将获得第一线的技术支持,如果是软件错误,则将其转发给开发人员。不用说,我只呆了一年半,直到我最终离开去从事更好的所有开发工作!


2

有时候,肯定是的。面对客户通常会给出大多数人(尤其是程序员)缺乏的观点。用户实际使用产品或实际想法的方式通常与构建者(工程师)的想法相去甚远。

应该是短暂的短期工作,以免打断实际的开发任务。


2

开发软件需要一些人才和技能,而一线支持则需要有效的人才和技能。我不知道这些人才有什么关联。

这意味着您要么必须部分地基于开发人员提供电话支持的能力来雇用开发人员,要么让您的客户直接与不擅长处理客户并且不想在一开始就这样做的人进行交谈。这可能比让他们与一个有印度口音的家伙谈话要好,也许不是更好。

另外,当您使工作变得不愉快时(我不知道任何实际享受一线支持的开发人员),您的一些开发人员将离开。通常,这些人可以更轻松地找到其他工作:即好工作。随着这一过程的进行,您最终会发现一家人才稀少的商店,这使主管人员无法获得别人提供的第一份工作机会。

至于完成认真的开发,如果经常出现中断,请不要理会。我的妻子抱怨期望同时进行开发和支持用户。


1

我认为这很大程度上取决于公司。您典型的BigCo公司通常可以负担得起支持人员隔离开发人员的费用。在另一方面,有三个人启动只是可能没有足够的资源来提供不同的支持人员。

我认为最好的总体策略(不考虑公司规模或资源规模)是使用支持团队来解决业绩不佳和最常见的问题(“您是否尝试过关闭并打开?”)。工程师应与客户一起解决一些棘手的问题,这些问题需要了解系统的工作方式以及更多面向开发人员的支持(API,开发人员工具等)。您可以让支持人员扮演“联络员”的角色,但是我发现这通常比其价值更大。


1

虽然我不认为这是适合使用的开发者为支持所有的时候,我觉得有什么可说的有一个开发做了一个应用程序的初始支持。具体应包括下班后的支持。我还认为,定期安排他们的应用程序在非工作时间支持中会很有帮助。

没有什么比让多个3AM调用使您意识到某些设计决策和/或快捷方式对人们支持和维护您的代码的能力有什么影响了。


2
更正:不能像多个3AM调用那样使您意识到您的经理强迫您执行的某些设计决策和/或快捷方式对人们支持和维护您的代码的能力有何影响。错误的设计和代码通常是由于不良的管理而不是不良的程序员造成的。
David Thornley

0

理想情况下,出于上述原因,最好是“否”,但在项目尚处于初始阶段时,是的,因为开发人员可以提供通常是企业期望的快速解决方案,从而为软件的持续改进提供了支持。我重视那些精明地提供支持的开发人员:那些通过示例向更正式的全职支持团队提供分析技能的开发人员,以及那些以表现服务与合作精神的方式来回答业务问题的开发人员。但是,取得成功的关键包括管理层认识到并正式确定了第一级和第二级支持,以使开发人员从他们的短期角色中迅速卸任。对开发和支持都非常了解的开发人员应被培养为第三级支持或对支持人员的支持。所以应该 与时间有关,与才能和欲望有关,并得到有效管理。

我自己的兴趣是回答艰难的支持问题,并从经验中学到的东西可以减少对总体支持的需求,这对最终用户和主要支持都有利。


0

我加入高薪公司时就陷入了陷阱。在采访中,我被告知将有70%的开发和30%的支持,我接受了这个提议。可能是我目前正在工作的公司或环境。但实际上它有90%的支持和10%的开发。现在已经两年了,我失去了发展的动力。很遗憾我接受了这个提议。

但是我觉得我失去了更多的新技术和新框架的编码能力。现在,我不知道从哪里开始。我一直在准备,但是这些helloworld示例不足以拥有一些良好的实践经验,并且确实很难更新我的知识和经验。由于家庭原因,我什至不能离开我的工作。

不幸的是我陷入了僵局。

如果您不喜欢或不感兴趣,请不要接受角色。


-1

缺点-假设您必须直接与客户打交道。

1)破坏客户

如果开发人员直接与客户打交道是第一,第二,第三线支持(我的意思是模糊的线支持),那么这是一个很大的缺点。开发人员具有调试问题或开发解决问题所需的技能。如果客户具有对开发人员的完全访问权限(模糊线),那么就不会阻止客户“滥用”此特权,从而导致被宠坏,要求高和特权的客户所支付的费用不超过任何其他客户。

2)限制开发人员说谎并编造故事。

与客户打交道的任何人都知道,对客户撒谎是前提。有一个1行修复的错误,可以在5分钟内完成。客户支持人员将经过培训来管理客户的期望-解决问题可能需要3天的时间。

作为开发人员,如果您必须直接与客户打交道,那么当您的主要工作应该是解决技术问题并确保系统平稳运行时,您必须想出新颖的方法来安抚或欺骗客户。

3)您的简历遭受痛苦。

除非您要从软件工程师转换为业务分析师/ IT顾问/项目管理,否则您的简历将遭受技术方面的困扰。

在团队中轮流进行的有偿支持工作是另外一回事。

优点

1)阻止抱怨者抱怨

做他们讨厌的事情的开发人员将使他们更欣赏编码。有一个不断在抱怨的程序员吗?将他们放在热线电话上一个月。


3
将他们放在热线电话上一个月。然后寻找替代开发人员,因为那家伙的工作时间不会太长。此外,寻找一个擅长客户关系的人来抚慰那些与一个心情不好的人交谈的人,而这个人在被分配去做他或她讨厌的事情之前并没有受到公司的尊重。
David Thornley

与David同意,如果您必须像教室一样管理团队,则可能需要重新考虑您的招聘实践和/或工作环境。
Matthieu

-1

是的,他们这样做。当我读到这个问题时,我会笑吗?我当时想这甚至是个问题(不是我要问您问OP的权利),但它的措辞颇具说服力,因为我见过的几乎每个开发人员都在他或他的工作中隐含了某种类型的技术支持工作。她的工作职能。您根本无法避免。在大多数情况下,您不仅在您的职能领域内,而且在整个IT方面,都是技术上最胜任的人员。很难完全避免。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.