Questions tagged «communication»

有关程序员与参与软件开发的其他人之间的通信的问题。这可以包括利益相关者,管理层,最终用户,设计师,测试人员和其他开发人员。

10
分布式办公室,可行吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我一直在思考如何建立自己的梦想公司,以及如何使它对优秀的程序员具有高度吸引力。如果可以雇用一些“超级巨星”程序员,而不是许多“优秀”程序员。 我个人会喜欢的一件事是自由工作,无论何时我想。因此,如果我愿意的话,我可以在不同的城市旅行并远程工作,或者在紧缩模式下我可以坐在家里。但是,以我的经验,您确实希望与同事建立某种办公室,在这里可以讨论事情并拥有公司的“文化”。 所以说您想雇用一群可能来自不同国家和城市的顶尖人才程序员。如何设置它以与校园竞争?拥有一家完全没有办公室的公司似乎有些欠佳,您可能想要一些人们可以见面并选择工作的办公空间。 我想人们可以做的是在不同国家/地区设有小型办公室,让人们在他们选择的办公室中工作。程序员可以在需要时以“紧急模式”起飞,但也可以在需要团队合作和面对面的情况下在本地工作。 另一种模式是在其他程序员工作的办公室中而不是让您自己租用办公室。这样一来,即使您所在的城市只有一两个员工,如果您觉得远程工作“孤单”,您仍然可以找到一些公司。 另一个想法是,就像每隔一个月有一个星期一样,您将整个团队带到同一地点。可能不是办公室,而可能只是一些有趣的城市或吸引力胜地,然后从那里一起工作。但是有配偶的人可能会遇到类似的问题。 您可能还会在不同城市(可容纳2-3人)拥有公司公寓网络,在您拥有办公室的地方以及在其他一些地方,以便程序员或团队或程序员可以随意漫游并“聚在一起”。 如果这是合法的(我不确定每个国家之间有什么不同),您甚至可以一口气扑灭两只苍蝇,并在不同城市合并办公室/公寓。“黑客垫:伦敦”“黑客垫:柏林”等 a)我想我的问题是,这样的设置可行吗?一个人如何改善这个概念? b)您会发现一家公司给您这种自由的魅力吗?还是您希望拥有一家每天都有大公司的公司? 因此,从根本上说,是什么让“超级明星”程序员选择了使用像这样的公司机构,而不是在Google,Facebook或Microsoft校园工作,在那里您会得到很多有才华的人的乐趣和公司。

5
如何改善我的电子邮件通讯
我发给同事的电子邮件的解释 我注意到系统A出现问题。我确定这不是由X引起的。我怀疑这是由Y引起的。(因为您是由Y负责的)可以请您看看吗? (括号中的部分未包含在我的电子邮件中,因为此同事完全知道他负责Y。应该理解这就是我向他发送电子邮件的原因) 半天后,我遇到了一位同事,说:“您是否正在研究系统A的问题?” 他回答说:“哦,是的,我收到了有关系统A损坏的电子邮件,但我认为这可能是X引起的,因此我正在等待您检查它。” 显然我的信息没有被传达。这是我发送的电子邮件的全部结果,非常令人沮丧……但是,我不知道如何使我的电子邮件更清晰。它们总是尽可能简短,清晰,并尽我所能。有什么建议么?电子邮件的媒介是否固有固有的功能,对这些类型的通信而言并不有效?

10
如何说服队友使用TDD [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我是团队中唯一使用TDD的人。如何使他们使用它? 我很烦恼,当我退出时,某人的代码会破坏我的测试,而我是必须修复它们的人。 使用github,fork和pull请求是否可以解决此问题,以便他们需要在接受pull之前通过测试? 我不是项目经理,我似乎无法说服她使用它。

7
对于询问必须使用两种等效技术中的哪一种的客户,该如何回答?
作为一名自由职业者,我的客户经常问我,他们必须在相似的元素之间进行选择,而这两个元素都不比另一个要好。例子: “我需要电子商务网站使用PHP还是ASP.NET?” “我需要在Cloud中托管此普通Web服务还是使用普通托管服务?” “哪个对我的新网站更好:MySQL或Oracle?” 等等 根据精确的指标和研究,最多可能有1%的情况与选择相关,并且确实有客观的理由选择一种选择。在其他所有情况下,都没有关系。这完全是完全不相关的,或者是因为没有任何影响¹,或者是因为这些影响太小而无法考虑²,或者最终是因为无法预测这些影响³。 如果您知道一件事而不是另一件事,那么对这些问题的答案很简单: “您可以使用C#或Java编写应用程序,这两种情况在您的情况下可能是等效的。请注意,我是C#开发人员,因此,如果您选择Java,我将无法处理您的项目,因此您需要寻找另一个自由职业者。” 当您同时了解这两种技术时,您将无法回答。 在这种情况下,如何向客户说明他所提出的问题受到激烈的争论,并且对他的项目没有实际影响? 换句话说,如何解释您出于与人力资源相关的原因而选择使用一种技术而不是等效的技术,而不会给人以专业或不在乎项目的印象? ¹举例:从性能角度看,MySQL比Oracle更好(更差吗?),因为个人网站每天访问两个人,哦,让我们乐观一点? ²示例:对于一个给定的项目,我被问到Windows Azure托管是否比在著名的ASP.NET托管提供商上托管同一应用程序便宜。费用显示完全相同。 ³示例:您的客户对将来的应用程序有一个想法(这个想法本身非常含糊)。没有商业计划,没有要求,什么都没有。只是一个主意。系统会询问您Java是否比该应用程序的C#更好。你怎么回答

9
您如何解释已识别问题的根源而不使其成为“借口”?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 在练习(至少是尽我所能)“无我编程”时,我专注于解决编写相关代码的人的问题(如果该人没有编写危险的代码),并且我想完全理解该问题以确保解决这个问题的根源。 但是,当有人指出我的代码显示错误时,在编写缺陷代码时,我经常尝试记住我的心态,然后尝试向指出错误的人解释它,以弄清错误源(例如有些名称选择不当,您可能会以某种意想不到的方式使用它们,并取得了明显的成功...)。 现在,我通过反射进行此操作,而我的大多数同事确实都了解这种反射。但是我也曾在公司中工作,这些公司的同事都以怪异的态度指责那些提出了问题的人(无论对我还是幽默)。 在这种环境中,解释为什么要编写错误的代码会使其他人认为您正在尝试找借口。我说过,大多数非技术人员(或者不是领域专家,不能确定,这只是个人经验)在尝试解释为什么做错事时也完全一样。 因此,在与这类人/环境打交道时,如何在不像“找借口”的情况下说明错误的真正根源?(甚至值得解释吗?)

16
分配给您的最佳(最差)逻辑上不可能完成的任务?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 摆在桌上的是什么项目或规格,却无法完成?您如何解释“请求者”的困境?更重要的是,在您解释了基本问题之后,他们是否理解?

2
我应该从WCF交换到NserviceBus吗
我们有一个中央服务器,可以从位于客户端网络中各个位置的多台PC发送和接收消息。为了简化此操作,目前,我将WCF与TCPNetBindings结合使用,并使用通过证书保护的双工通信。 现在,我们有很多问题-主要是我们被要求支持“断开模式”(我们需要容错)。据我所知,没有简单的方法可以使用WCF堆栈执行此操作-我们需要实现一些功能,也许还要使用msmq。我最近一直在研究NServiceBus,从中可以看出它似乎很合适-容错能力,可以通过简单的http网关通过Internet发送消息等。我知道它在社区中广受尊重,并且从调查中可以看出原因。 所以,我的问题是……使用NServiceBus听起来像是一个明智的主意,还是有人有与此相关的任何其他建议/现实世界经验?我想我担心引入的新技术我了解的相对较少,并且面临诸如保护它,以可靠的方式设置一切,一路走来的陷阱之类的问题。.我也对“黄金-电镀”的体系结构,然后选择一些有光泽的方法,最终会使我在实现过程中陷入困境,而不是坚持使用WCF并使之对我有用。 谢谢!

9
我应该告诉已故的同事“ sev 1”缺陷吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 7年前关闭。 我有一个同事最近离开我们公司。在离开之前,他对一个具有严重内存泄漏并导致生产中断的组件进行了编码(OutOfMemoryError使用Java)。问题本质上是一个HashMap增长且从未删除条目的问题,解决方案是将其替换HashMap为缓存实现。 从专业的角度来看,我认为我应该让他知道缺陷,以便他可以从错误中学习。另一方面,人们离开公司后,他们通常不想听到遗留在更大,更好的事情上的遗留项目。 这种情况的一般协议是什么?

8
我如何(迅速)使人们知道我免费提供的软件不是废弃软件?
作为独立的个体程序员: 如何让人们很快知道我没有放弃自己编写并免费赠送的软件?我是否正在努力将软件维护和支持达到专业水平? 当由一两个开发人员编写的软件免费提供或标记为开源时,通常默认的假设是它是废弃软件。通常这是一个安全的假设-如果您对此有疑问,请查看该问题的答案:程序员为什么要编写封闭源代码的应用程序然后将其释放?。 不过,有许多程序员提供免费的和/或开源的工具,这些工具不是废弃软件。 如果我们谈论的是大公司,例如Google,那么说支持的实时工具和软件与那些被放弃或停产的工具和软件之间的区别是没有真正的问题的。 活跃的git存储库不是很快-用户必须足够精明才能理解存储库并知道在哪里寻找它。一致的营销和社区管理需要比我自己投入更多的时间和精力。另外,如果我的软件流行/成功,我认为这些软件将独立发展,并得到社区中高级用户的支持。

5
有哪些方法可以向同事展示数据库+应用程序解决方案优于Excel的优势?
我在一家到处都有Excel电子表格的公司工作。由于我的同事不是程序员,所以我确定他们没有想到可能会有更好/更容易/更有生产力的数据管理方式。自然,我提倡使用可以利用您在关系数据库和交互式前端中找到的功能的各种应用程序,以适应当前分散在不同电子表格中的各种工作流的需求。 我的问题是,我试图向各方面解释这种系统的优点,但是由于没有从头开始编写它们,我很难说服它们,甚至只是将它们暴露在绿色的草地上。人们通常都了解Excel(即使他们不是超级用户),但是当出现“数据库”一词或开始谈论“代码”时,也许会变得很模糊。 谁能提出一种方法,以证明通过从电子表格切换到实际应用程序可以改善工作流程吗?

6
如何传达更改供应商软件的风险?
我们工作时遇到一个主要问题,它的名称是“定制”。我们有一个旧的(超过10年的)供应商软件系统,我们的IT和会计部门以前喜欢对其进行自定义。沿线某个地方,该软件开始出现漏洞。然后,在完成大部分自定义之后,我被录用了。 我在系统中发现的几乎每个问题都是定制的直接结果。我们所做的一切更改都有破坏关键业务财务软件的风险。但是,会计部门一直在建议更改(因为我们总是说“是”!),似乎很少有人会对更改的影响程度有所尊重。 某些更改不会引起任何问题。可以在供应商软件中自定义表单,也可以将其自定义,我们可以在表单字段中移动,删除它们,等等。但是,对于像这样的每一个无害的自定义,它们还建议诸如存储过程和触发器之类的更改,以操纵供应商应用程序数据库中的数据。 我最近(勉强)让他们停止尝试将客户从一个供应商程序导入另一个供应商程序,因为这些信息是完全不兼容的。解决该问题的原因是因为我发现系统无法在用户端正常运行。任务比他们想象的要复杂,所以他们放弃了。无论用户端任务多么简单,都不应执行他们想要的操作。 我如何传达这种改变该系统工作方式的风险,尤其是在数据有效性受到威胁时?我是一名新员工(6个月),现在已经成为现状,但是这冒着我们财务数据和支持合同的有效性的风险-一旦供应商的支持人员听到“ X已被自定义”,这使他们有很多理由不这样做支持我们或告诉我们这是我们的错。

6
您如何使电子邮件简短而完整?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 我是喜欢写作和解释的奇怪的开发人员-电子邮件,规范,如你所愿。我乐于帮助人们深入理解事物。我讨厌乒乓球通讯,因为小组中有25%的人误解了以前那封破折的电子邮件,其中作者只解释了一半的位置,或者匆忙而写错了,因为小组中有30或40封电子邮件,电话和会议批评性的字眼,或排除否定的一两个字。 此特征非常适合用于文档记录,但是我的电子邮件很长,因此人们根本不阅读它们。我使用的一些策略是将长电子邮件格式设置为附加的Word文档,以鼓励人们将它们视为文档(有时效果非常好),或者尝试使用更多的项目符号代替免费的段落。这些策略增加了读者群,但是内容仍然很长。 当然,我想大声疾呼,复杂的技术主题需要大量说明和澄清,但这对任何人都没有帮助。显然,可以进行权衡取舍,但我很难证明做出的陈述不明确,否则以后将引起一百万个问题,误解或增加“条款和条件”。 您如何保持简短而完整的沟通?

3
在Scrum中,开发人员是否应该直接与客户交谈(绕过PO)?
Scrum中的产品负责人应如何处理团队中非常详细的问题,这些问题涉及他们正在实施的,无法立即回答自己的功能?对于开发商而言,何时直接与客户直接对话将是更快的解决方案? 我想知道团队与客户之间的直接交流是否会破坏产品所有者的作用。我认为PO应该专门代表客户,因此可以回答有关要求的所有问题-即使需要更长的时间。绕开他似乎削弱了他的能力,最终使他变得多余。 Scrum中有最佳实践吗?

4
如何向同事介绍代码
您如何将代码库引入团队中的新成员,该代码库可能相当复杂并且与很多“陷阱”缠在一起? 我认为最简单的方法是用图表来布局整个体系结构,并在新人逐渐习惯于代码后花几个星期(或几个月)来赋予新定义的任务(范围广)。 但是,作为顾问(和初级员工),由于时间限制或团队角色指定,我不能总是这样。(我在这个特定项目上的工作时间是其他人的两倍,因此“初级”绝不是“对代码/项目的了解较少”。) 我现在已经受了好几次任务,向项目和代码介绍一个新成员,可悲的是,每次我发现自己的能力都不比以前更好。我喜欢图表和图片,但是经常觉得它们并不能充分说明系统的复杂性。(小孩子的“陷阱”呢?) 该项目已经到了将要交付给客户的地步,为了使事情更具挑战性,我将要与之进行知识转移的人实际上只是大学毕业。(并不是说我与高级开发人员进行知识转移时会更好。) 我每个月参加一次用户组,并在出现其他机会时参加,因此我没有被无用的新主题介绍,但是感到我复制有效知识共享的能力严重不足。 任何建议将不胜感激。我主要是在寻找可以遵循的指南。例如:您从哪里开始?你如何进行?您如何在不花大量时间的情况下涵盖听众不熟悉的技术或模式?您在哪里将业务逻辑与代码结构联系在一起? 谢谢! (与往常一样,请根据需要随意编辑问题。)

4
我应该更新博客文章还是随着技术(和我)的变化而重写它们?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我在今年初开设了一个编程博客,自从开始以来,有些事情发生了变化。有些更改是由于技术的变化而引起的,有些更改是由于我的代码库的改进而引起的,还有一些(可能是大多数)是由于我在学习更多的知识而发生的变化。 我想返回并完全重写某些博客文章。重写帖子以删除旧信息并用新内容更新它们,还是创建全新的帖子并可能删除旧的帖子,这样更好吗? 我不是在谈论对代码的小改动或额外的几句话,而是要用新的代码,新的信息等完全重写。 需要考虑的一些事情包括对帖子的评论,在创建新帖子时接收更新的订阅者以及用户书签。

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.