Questions tagged «communication»

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

13
如果我的团队技能低下,我应该降低代码的技能吗?[关闭]
例如,在JS中有一个通用代码段可以获取默认值: function f(x) { x = x || 'default_value'; } 我的团队的所有成员都不容易理解这种代码片段,因为他们的JS等级很低。 那我不应该使用这个把戏吗?根据任何JS开发人员的说法,它使代码更不易被同级人员读取,但比以下代码更具可读性: function f(x) { if (!x) { x = 'default_value'; } } 当然,如果我使用这个技巧并且同事看到了它,那么他们可以学习一些东西。但是通常情况是,他们认为这是“试图变得聪明”。 那么,如果我的队友的级别低于我,我应该降低代码级别吗?


8
我如何让人们停止骑车流洒(专注于琐事)?
我的任务是教其他团队一个新的代码库,但是我一直遇到问题。每当我真正与人一起阅读代码时,在整个练习进行到无谓骑车(组织成员对琐碎问题的重视不成比例)之前,我们就走得很近。由于他们不了解代码库,但是认为他们需要帮助改进代码库,因此他们将重点放在可以理解的方面: Why is that named that? (2分钟以解释为什么如此命名,10分钟以内辩论一个新名称) Why is that an abstract base class rather than an interface? (2分钟的解释时间,超过10分钟的时间辩论该决定的相对价值) ...等等。现在,请不要误解我的意思-好的名字和好的,一致的设计很重要,但是我们永远也不会讨论代码的实际作用或如何以任何有意义的方式设计系统。我做了一些会议裁判,以使人们摆脱这些切线,但是他们走了-对固定琐碎琐事的代码将会/应该的注意力分散了,他们错过了更大的前景。 因此,我们稍后再试一次(或在代码库的其他部分进行尝试),由于人们没有足够的知识来克服自行车脱落的影响,因此重复进行。 我试过更小的群体,做大组,密码,白板,Visio图表,文字的巨墙,让他们只是把它认为死刑,立即切断短...参数帮助一些比别人多,但没有任何作品。地狱,我什至试图让团队中的其他人对此进行解释,因为我认为这可能是我不善于解释事物。 那么,您如何对其他程序员进行足够的教育,以使他们不再专注于琐碎的事,并可以对设计做出有意义的贡献?

21
有什么方法可以防止销售人员永久超额使用?[关闭]
我似乎反复陷入这样的情况,即发布日期的确定不是基于任何技术因素,而是因为Sales某个人当时已经承诺要与客户联系。根据与其他公司开发中的朋友的讨论,似乎发生了同样的事情。 “这里是承诺的功能集,这里是承诺的发布日期”,很难争辩,因为在这一点上有钱可赚,而这一切都胜过一切。 总的来说,有没有办法解决这个问题? 如果不是此版本,将来如何?我的问题是,我看到这样做的唯一方法是尽我所能,但是可以说按原样发布软件。 我不想发布臭虫缠身的软件,因为它是我的名字,但是一次连续80小时工作几个月,一次就证明了任意设置的发布日期。 编辑:记录下来,我现在不每周工作80个小时,这是我想到的,因为要满足发行日期之前预期的功能集需要什么。

16
如何将自己推销为软件开发人员?[关闭]
我已经注意到,这是我们这样的技术领域的年轻人中经常遇到的问题。 在我们职业生涯的初期,我们根本不知道如何将自己推销给我们的雇主,而随机的#57人(他是一名程序员,但在技术上不如您好)最终得到加薪或晋升,因为他比您更懂得交流和推销自己。许多人可能已经看到这种情况在过去发生了,并且肯定会在未来发生更多。 除了列出您知道的所有编程语言和库之外,您认为在进行工作面试或要求加薪时需要指出什么样的技能/能力(技术性或其他性质)?

10
如何激励同事编写单元测试?[关闭]
我们正在研究已经生产大约5年的大型产品。该代码库在工作。效果不是很好,但是可以正常工作。新功能投入生产并通过少量质量检查进行了测试。错误已修复,等等。但是除我以外,没有人在编写单元测试。没有人通过编写单元测试来确保所有特殊错误(测试用例)再也不会发生,从而利用“跟踪”错误的能力。 我已经和管理层谈过了。我已经和开发人员谈过了。我已经与整个公司的所有人进行了交谈。每个人都说:“是的,我们必须编写更多的单元测试!” 那是大约一年前。从那时起,我就开始引入预提交代码审查(Gerrit)和持续集成(Jenkins)。 我举行了一些有关单元测试的会议,还展示了编写单元测试的好处。但是似乎没有人对此感兴趣。 问题1:如何激励我的同事编写单元测试? 问题2:如何保持动力以遵循我的个人代码质量标准?(有时真的很令人沮丧!) PS:一些令人沮丧的事实(在1年内达成): 单元测试总数:1693 总“示例单元测试”:大约50 由我完成:1521 编辑:我期望太多了吗?这是我的第一个工作地点,我正在努力做到最好。 编辑2:根据所有答案,我为自己做了一个小清单。我已经与两位开发人员私下交谈过,我们进行了坦诚交谈。 其中一位告诉我,就像Telastyn所说的那样,他对单元测试真的很不满意。他说他想变得“更专业”,但是他需要一个启动。他还说,我们与所有开发人员(9-11岁左右)进行的单元测试会议很好,但是太拥挤了。嗯 一些批评家给我,但我会从中学到东西。(请参阅以下有关tdd kata会议的回答!) 另一位表示他对编写单元测试不感兴趣。他认为自己的工作足以应付他的薪水。他不想付出更多的努力。我非常无语。典型的9-5岁的“工人”。 下周,我将与其他开发人员交谈。 感谢您的出色回答(到目前为止!)和支持。我真的很感激!我学到了很多东西,非常感谢!

19
处理无法看到用户无法立即看到的改进中的价值的管理
我能理解进度压力。您想取悦用户,因为它们是公司的生命线。但是,某些更改确实可以使以后的一切变得更容易。不幸的是,我组织中的管理层对这种变化有一种本能的抵制,而这种抵制是如此之强以至于阻碍了长期的改进。 例如,Apple最近为iOS程序引入了自动引用计数。这是对以前必须使用的手动保留/释放调用的重大改进。该代码更易于编写和维护。转换本身可能会导致某些崩溃。但是,一旦解决了这些问题,随机怪异崩溃的数量就可能减少。 我最近向老板提到,我想切换到自动引用计数。他的回答是他想专注于明显的改进。反过来,这种反应很可能是由于他从自己之上所承受的压力所驱动的-也许恰恰是来自首席执行官的压力。 有很多类似的例子。共同点是需要修复某些问题,但是修复的短期成本超过了短期收益,其中“短期”被定义为“未来几周内”。 我应该如何处理这种情况? 编辑:感谢您的答复。让他们来。因为这与我的情况有关,所以我应该明确说明我的经理和CEO都是程序员-尽管CEO现在可能已经忘记了这是什么样子。显然,他们的程序员方面被其他压力所淹没。

14
对于程序员来说,在线存在有多重要?[关闭]
我已经注意到越来越多的程序员(在这里和在实际的工作描述中都提到)程序员的“组合”-通常是他们在诸如this,GitHub等网站上的公开个人资料。 这有多重要?公司(尤其是初创公司)会否决(或者甚至在不进行面试的情况下立即将其丢弃)否则没有在线业务的杰出候选人? 就个人而言,我更喜欢在网上保持低调。我的名字在这里无法识别我,并且我还有其他站点的句柄。我有一个非常斯巴达式的(完全私人的)Facebook页面。我自己编写代码,但是代码位于本地存储库中。通常,关于我的在线信息越少越好。 我可以看到设计师需要某种在线投资组合,但是对于程序员来说,这真的是求职时的一大消极情绪吗?

22
跳槽,有问题吗?[关闭]
作为参与招聘过程的人(经理,面试官等),您对每1-2年换工作的候选人有何看法? 更新感谢大家的所有投入,一些非常好的回复以及每条帖子中的好信息。我之所以这样问,是因为最近五年来我目前在做第三份工作,而且我感觉自己的职位没有进展(例如,该职位本来应该是合同的,而不是全职的)。 我在这里唯一的选择似乎是过渡到其他团队来做我并不真正感兴趣的事情或寻找新工作,但是我有点害怕我最近的工作经历很短。

7
当同事在未通知的情况下进行不必要的改进时,如何对我的代码负责?
我的队友之一是我们IT部门所有行业的杰作,我尊重他的见识。 但是,有时他会不加提示地查看我的代码(他是我们团队负责人的第二命令,所以可以预期)。因此有时他会在我完成最终目标并立即进行更改之前查看我的更改,甚至破坏了我的工作一次。 其他时候,他对我的3个月以上的代码进行了不必要的改进。 这让我很烦,原因有几个: 我并非总是有机会改正我的错误 当他感到困惑时,他没有花时间问我要做什么,这可能会影响他的测试或更改 我并不总是认为他的代码可读 截止日期不是问题,他的当前工作量除了查看我的代码更改外,不需要在我的项目中进行任何工作。 无论如何,我过去曾告诉过他,如果他在我的工作中看到一些他想更改的东西,以便我可以拥有我的代码(也许我应该说“缺点”),并且他没有回应,请把我保持在工作状态。 。 当我问他向我解释他的改变时,我担心我可能会变得冒犯别人。 他只是一个沉默寡言的人,坚持不懈,但他的行为仍在继续。我不想阻止他进行代码更改(不是像我能做到的那样),因为我们是一个团队,但是我想尽自己的一份力量来帮助我们的团队。 补充说明: 我们共享1个开发分支。我不会等到所有更改都完成一个任务后再做,因为我可能会失去一些重要的工作-因此,我确保我的更改可以建立并且不会破坏任何内容。 我担心的是,我的队友没有解释其更改背后的原因或目的。我认为他不需要我的祝福,但是如果我们不同意我的做法,我认为最好是在我们都了解发生了什么之后再讨论利弊并做出决定。 我尚未与团队负责人讨论此事,因为除非有必要,否则我宁愿在不让管理层介入的情况下解决个人分歧。由于我的担忧似乎更多是个人问题,而​​不是对我们工作的威胁,因此我选择不打扰团队领导。我正在研究代码审查过程的想法,以帮助促进组织更有组织性的代码审查的好处,而又不至于使我烦恼。

5
为什么某些大型项目(例如Git和Debian)仅使用邮件列表而不使用问题跟踪器?
对于任何规模合适的项目,Bug跟踪器对我来说似乎都不是一件容易的事-它使组织数百或数千个问题变得非常容易,而不会发生问题冲突或混淆的情况。 因此,当我看到一些非常大的项目(例如Git)使用邮件列表作为协调维护和开发的主要方法时,我就有些震惊。例子: Git-社区页面: ...错误报告应发送到此邮件列表。 Debian错误跟踪系统,根据Wikipedia: ...它的独特功能是它没有任何形式的Web界面来编辑错误报告-所有修改都是通过电子邮件完成的。 许多现代的错误跟踪器与电子邮件(可以接收有关正在查看的错误或已分配给您的错误的评论或通知)以及版本控制系统(可以将提交标记为解决问题等)都具有很好的集成性。 )。其中大部分必须通过邮件列表手动完成,并且您会收到大量关于不感兴趣的错误的电子邮件。 那么,与基于Web的错误跟踪器相比,邮件列表的主要优点是什么?为什么某些大型项目仅使用邮件列表?

5
如何向非技术人员解释为什么任务将花费比他们想象的更长的时间?[关闭]
几乎每个开发人员都必须回答业务方面的问题,例如: 为什么要花两天的时间来添加此简单的联系表? 当开发人员估计此任务时,他们可以将其分为以下步骤: 对数据库进行一些更改 优化数据库更改以提高速度 添加前端HTML 编写服务器端代码 添加验证 添加客户端JavaScript 使用单元测试 确保SEO设置正常 实施电子邮件确认 重构和优化代码以提高速度 ... 这些对于非技术人员来说可能很难解释,他们基本上将整个任务看作只是组合一些HTML并创建一个表来存储数据。对他们来说,最长可能需要2个小时。 那么,有没有更好的方法可以解释为什么对非开发人员来说估算值很高?

18
如何管理沟通能力差的开发人员
在大型公司中,我管理着一个小型应用程序开发团队团队,该应用程序处于生命周期的中点。不幸的是,这意味着通常有30/70的编程任务分配给“其他技术工作”。这项工作包括: 与DBA / Unix /网络/负载平衡器团队一起完成各种任务 在不同地区下达和管理硬件或基础架构的订单 运行尚未迁移到CI的运行测试 分析 支持/调查 可以公平地说,开发人员都愿意编写代码,而不是执行这些平凡的任务,因此,我尝试在团队中平均分配有趣的编程工作。 聘用大多数团队是因为,尽管他们可能不具备编写自己的编译器/游戏引擎/高频交易系统等的精通编程技能,但他们是能够“完成工作”并与其他团队合作的优秀交流者,并在这里浏览复杂的官僚机构。他们是优秀的开发人员,但也是优秀的全方位技术人员。 但是,团队中的一名成员可能具有高于平均水平的编码技能,但低于平均水平的沟通技能。传统上,以前的开发经理倾向于给他编程任务,而不是上面列出的更普通的任务。但是,我认为这对团队中的其他成员并不公平,他们显示出开发大型企业IT部门通常需要的全面技能的能力。 在这种情况下我该怎么办?如果我继续给他更多的编程工作,我知道它会更快地完成(相反,我希望他完成其他工作的速度会更慢)。但这违背了我的原则,并提出了这样一个想法,即您只需对不喜欢的任务表现不好就可以为自己创造一个“舒适的利基市场”。 我想澄清的是,由于怀恨在心,我不是要解决这个问题,或者如上所述,我的肩膀上有一个“碎片”。我正在寻找有关如何保持一支充满快乐和动力的全面团队的建议。通过观察该问题的各种答案,似乎对于实现此问题有很多不同的意见。

21
您如何向非技术人员解释重构?
您如何向非技术人员(通常是PHB或客户)解释重构(和技术债务)?(“什么,这要花我一个月的时间而没有明显的区别?!”) 更新感谢到目前为止的所有回答,我认为此列表将提供一些有用的类比,我们可以向相应的人员指出(尽管删除对PHB的引用可能是明智的!)

8
如何在工作中倡导堆栈溢出[关闭]
我正在考虑在工作中做一个简短的演讲,介绍如何使用Stack Overflow作为日常工作的资源。 您的经验是什么? 您是否将其视为告诉同事的有效资源,还是类似于向他们介绍Google作为资源的资源? 有更好的方法吗? 我倾向于在S​​tack Overflow上问问题,而不是回答这些问题,以避免您不应该在工作时间做这些争论。 只是作为后续。 本来我不想针对我自己的情况提出这个问题。我的演讲将只是一个四分钟的简短演讲,我将在一个多小时内向不同的小组重复。 我可能会在有关Stack Overflow的讨论之前提出一个问题,并在演示过程中进行参考。希望我会在这个小时内参加一些活动。 我还将简短地讨论一些其他适合读者的Stack Exchange网站,因为它们并不是全部开发人员。我认为超级用户,服务器故障和程序员应该可以正常工作。 由于已经重新安排了演讲的时间,所以我将再几个月不做演示了,但是我将继续进行介绍。

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.