程序员需要学习如何交流
#javascript #编程 #python #programmers

有东西还不够;这也与您打包有关。即使您有最好的想法,优雅的代码和实践思想,如果您无法与他人交流,他们也永远不会结出果实。没有有效的沟通,好主意就成为孤儿。

作为开发人员,我们必须在多个层面上进行交流。我们在会议上花费数小时,倾听和交谈。我们与最终用户合作了解他们的需求。我们编写代码将我们的意图传达给机器;我们编写文档将我们的想法传递给下一代开发人员。我们编写建议和备忘录来解释资源请求,报告状态并提出新解决方案。我们每天在团队中工作,提倡想法,调整做法或建议改进。我们的大部分时间都花在交流中,因此我们需要擅长于此。

将英语(或任何母语都视为另一种编程语言)。用自然语言写散文,就像您编写代码:尊重干燥原则等,自动化等。

ï¼软技能for程序员unstopable.gumroad.com/l/btxvmï¼

英语只是另一种编程语言。

了解您的听众。

沟通涉及传达信息。要传达信息,您需要了解听众的需求,兴趣和能力。我们都参加了那些会议,技术爱好者对复杂技术的复杂性杂乱无章,从而使营销副总裁的外观焕然一新。那不是沟通,只是说话,这很烦人。想象一下,您想建议实现基于Web的系统供最终用户提交错误报告。根据受众的不同,您可以以各种方式描述系统。最终用户可能更喜欢24/7错误报告提交而无需等待电话。市场部可以使用此功能来提高销售。支持经理可能会发现,由于错误报告可以自动化,因此需要更少的员工感到高兴。最后,开发人员可能会为获得基于Web的体系结构或尝试新的数据库引擎而感到兴奋。通过有效地提倡每个小组,您可以使他们对您的项目感到兴奋。

与所有形式的交流一样,这里的诀窍是收集反馈。不要只是等待问题;问他们。注意肢体语言和面部表情。神经语言编程具有一个前提,即“沟通的含义是您得到的响应”。在交流过程中,不断提高您对受众的理解。

知道你想说的。

在更正式的业务沟通中,最困难的部分可能是弄清楚您实际想说的话。小说家从一开始就经常用许多细节概述他们的书,但是技术作家倾向于坐在键盘上:

1ã介绍。

2ã的事物。

计划您想说的话,创建大纲,然后问自己:“我要以正确的方式传达我想对听众说的话?”将其凝结至尽可能简洁。

这种方法不仅限于编写文档。当您要参加重要的会议或致电主要客户时,请记下您的想法并准备多种策略以使您的观点理解。

现在您知道了听众想要什么,现在该计划如何交付它了。

选择时间。

是星期五下午6点,审计师已经有一个星期,老板的小儿子在医院里,在外面倾盆大雨,使您的回家旅行成为噩梦。这可能不是要求她升级笔记本电脑的记忆的最佳时间。了解听众的一个方面是找出他们的优先事项。当经理讨论有关代码存储库的想法时,当他们的老板因失去某些源代码而受到谴责时,就更有可能。您说的不仅必须相关,而且还及时。有时,只需要一个简单的问题:“现在是讨论的好时机...?”

选择样式。

根据受众调整表达方式。有些人想要正式的“公正事实”摘要。其他人则在潜入业务之前更喜欢闲聊。他们在这个领域的熟练和经验如何?他们是专家还是初学者?他们需要手持式或仅仅是“ TL; DR”版本?如有疑问,请问

但是,请记住,交流是一条双向街道。如果有人希望您用几句话解释一些东西,并且您发现它不能用几句句子进行总结,请告诉他们。像这样的反馈也是一种交流形式。

使它看起来不错。

想法很重要,但观众也想要一个很好的演讲。

太多的开发人员(包括其经理)在编写文档时仅关注内容。我们不同意。任何厨师(或烹饪表演的主持人)都会告诉您,即使是简单的外观,也可能会破坏您投入烹饪的时间。

今天,没有借口制作格式不佳的文件。无论是使用Markdown还是Word Processing软件,现代工具都可以输出格式精美的结果。您只需要学习一些基本命令即可。如果您使用文字处理软件,请使用其样式表以保持一致性。 (您的公司应该已经准备好您可以直接使用的样式表。)学习如何设置标题和页脚。查看软件包中的示例文档,研究其样式和布局。打开拼写检查,首先让自动检查修复拼写错误,然后手动校对。毕竟,一些错别字可能会逃脱自动检查。

参与观众。

通常,我们发现创建文档的过程比最终草案更重要。只要有可能,请参与文档的初始草稿。聆听他们的反馈,并利用他们的智慧。这有助于建立良好的工作关系,并通过此过程产生更好的文件。

成为听众。

如果您希望别人听您的话,那么您必须掌握一项技能:听他们的话。即使您有所有信息,即使您不在正式会议上站在20个衣冠楚楚的人面前,如果您不听他们的话,他们也不会听您的话。

鼓励人们通过提出问题来交谈,并试图让他们总结您的观点。将会议变成对话,以更好地传达您的想法。谁知道,您甚至可能会学到一些东西。

回应他人。

当您问某人一个问题时,如果他们不回答,您认为他们粗鲁。因此,当某人通过电子邮件发送或发送备忘录索取信息,向您索取内容时,您未能响应多少次?忙碌的日子经常导致忘记事情。永远记住要回复电子邮件,即使是一个简单的“我稍后再回到您身边”也足够了。立即告知其他人,这使人们更容易宽恕您偶尔的监督,并让他们知道您没有忘记他们。

您所说的话以及您说的同样重要。

除非您完全与世界隔离,否则必须学会进行交流。沟通越有效,影响力就越大。

文档。

最后,通过文档存在通信问题。通常,开发人员不会为文档投入太多努力。充其量,他们认为这是一项必须执行的任务,最糟糕的是,他们认为这是项目经理在项目结束时忘记的一项低优先任务。

实用的程序员将文档视为整个开发过程不可或缺的一部分。为了简化文档,请避免冗余工作,并通过保持文档易于可用来节省时间。”将其直接写在代码中。实际上,用于编码的所有实用原理也应适用于文档。

嵌入文档,不要只是附加。

使用源代码中的注释生成有吸引力的文档。建议将注释添加到模块和导出功能中;这可以极大地帮助其他使用它们的开发人员。

但是,将注释为每个功能,数据结构,类型声明等添加评论的实践是值得怀疑的。这种机械评论实践实际上可以使代码更难维护:更改某些东西意味着更新两件事。因此,非API评论应仅限于讨论其存在以及其意图和目的的原因。当代码已经证明了事情的完成方式时,评论变得多余了违反了干燥原则。
评论源代码提供了一个很好的机会来记录其他地方无法记录的项目详细信息:工程折衷,决策理由,拒绝替代方案等

摘要。

- 了解您想说的话。

·了解您的听众。

·选择正确的时机。

·选择适当的样式。

·使其在视觉上吸引人。

·参与您的听众。

- 成为一个好倾听者。

·答复他人。

·将代码和文档绑定在一起。

ï¼软技能for程序员unstopable.gumroad.com/l/btxvmï¼

在线交流。

关于书面沟通的一切都适用于电子邮件,社交媒体帖子,博客等。尤其是电子邮件已成为公司内部沟通的主要手段;它用于合同讨论,解决争议,甚至作为法院的证据。但是,由于某种原因,人们犹豫要发送一张破烂的纸,但不介意在世界范围内发送看似混乱且不连贯的电子邮件。

我的建议很简单:

-

·双检查拼写并捕获可能的自动校正错误。

·使用简单的格式。并非所有电子邮件客户都像现代浏览器一样渲染;您格式精美的电子邮件可能最终会炒作。许多网站评论和答复不允许HTML标签。

·少数文字引用了原始文本。没有人喜欢收到带有数百行文本的回复电子邮件,然后只说“我同意”一行。

·如果引用某人的电子邮件,请将其归因于并进行内联引用(而不是将其放在附件中)。在社交媒体平台上引用同样的话。

·避免在线侮辱他人;除非您喜欢被拖钓或燃烧,否则不要成为巨魔。如果您不对某人的脸说某些话,也不要在线上说。

·在发送前检查收件人列表。如果您在部门电子邮件中批评老板,请注意,请注意不要将老板添加到转发列表中,这是一个谨慎的谨慎。当然,最好不要在电子邮件中批评您的老板。

电子邮件和社交媒体帖子一旦发送就不可逆转;许多大型公司和政客都陷入了这个陷阱。因此,像任何书面备忘录或报告一样对待电子邮件。

ï¼软技能for程序员unstopable.gumroad.com/l/btxvmï¼