首页 > 编程语言 >程序员要学会交流

程序员要学会交流

时间:2023-08-29 09:45:54浏览次数:38  
标签:沟通 开发人员 学会 他们 交流 受众 程序员 文档 电子邮件

拥有东西还不足够,还要考虑如何包装它。即使你拥有最好的想法、优雅的代码和实用的思考,如果你不能与他人进行有效沟通,这些都将不会结出果实。没有有效的沟通,好的想法就会变成孤儿。

作为开发人员,我们必须在多个层面上进行沟通。我们在会议中花费数小时,倾听和交谈。我们与最终用户合作,了解他们的需求。我们编写代码将我们的意图传达给计算机;我们编写文档将我们的思想传递给下一代开发人员。我们编写提案和备忘录,解释资源请求,汇报状态并提出新的解决方案。我们每天都在团队内工作 - 提出观点,调整做法或提出改进意见。我们日常大部分时间都在进行沟通,因此我们需要在这方面表现出色。

将英语(或者你的母语)视为另一种编程语言。用自然语言编写散文,就像编写代码一样:尊重DRY原则、ETC、自动化等等。

(程序员的软技能:ke.qq.com/course/6034346)

英语是另一种编程语言。

了解你的受众。

沟通涉及传达信息。为了将信息传达出去,你需要了解受众的需求、兴趣和能力。我们都曾参与过那些会议,其中一位技术爱好者关于复杂技术的复杂性细节滔滔不绝,让市场副总裁一脸迷茫。那不是沟通,只是说话,而且很烦人。想象一下,你想提议为最终用户实施一个基于Web的系统,让他们提交错误报告。根据受众的不同,你可以以不同的方式描述这个系统。最终用户可能更喜欢全天候的错误报告提交,而不必等待电话。市场部门可以利用这个功能来促进销售。支持经理可能会因此而感到高兴 - 由于错误报告可以自动化,所以需要更少的员工。最后,开发人员可能会对获得基于Web架构的经验或尝试新的数据库引擎感到兴奋。通过对每个群体有效地提出建议,你可以让他们都对你的项目感到兴奋。

与所有形式的沟通一样,关键在于收集反馈。不要只等问题出现;自己主动提问。注意身体语言和面部表情。神经语言程序设计有一个前提假设:“沟通的意义在于你获得的反馈。”在沟通过程中,不断提高对受众的理解。

知道你想说什么。

在更正式的商务沟通中,最难的部分可能是弄清楚你实际想要说什么。小说家通常从一开始就用大量的细节概述他们的书,但技术写作人员往往坐在键盘前,打出如下:

1、介绍。

2、浮现在脑海中的事物。

计划你想说什么,制定一个大纲,并问自己,“我是否以正确的方式向我的受众传达了我想说的内容?” 将其压缩至尽可能简洁。

这种方法不限于撰写文件。当你即将参加重要会议或给重要客户打电话时,记下你的想法,并准备多种策略以使你的观点被理解。

既然你知道受众想要什么,现在是计划如何传递的时候了。

选择时机。

现在是星期五下午6点,审计员在周围已经有一个星期,你老板的年幼儿子在医院里,外面正在倾盆大雨,让你回家的旅程成了一场噩梦。这可能不是询问她是否升级你笔记本内存的最佳时机。了解你的受众的一个方面就是找出他们的优先事项。当经理刚刚因为丢失了一些源代码而受到老板的责备时,抓住机会与他们讨论代码库的想法更有可能。你说的话不仅必须与受众有关,还必须及时。有时,只需要一个简单的问题:“现在是讨论......的好时机吗?”

选择风格。

根据你的受众调整表达方式。有些人希望得到正式的“只是事实”的简报。其他人在进入正题之前更喜欢一点闲聊。他们在这个领域的技能和经验如何?他们是专家还是初学者?他们需要指导还是只需要一个“太长;没看”版本?如果有疑问,就问问。

然而,请记住,沟通是双向的。如果有人想让你用几句话解释一些事情,而你发现这不能用几句话来概括,那就告诉他们。这样的反馈也是一种沟通方式。

使之看起来很好。

想法很重要,但受众也想要一个好的展示。

太多的开发人员(包括他们的经理)在编写文件时只关注内容。我们不同意。任何厨师(或者烹饪节目的主持人)都会告诉你,甚至连一个不起眼的外表都会毁掉你在烹饪上花费的几个小时的辛苦努力。

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

将受众纳入其中。

通常,我们发现制作文件的过程比最终稿更重要。只要可能,让读者参与到文件的初稿中。倾听他们的反馈并借鉴他们的智慧。这有助于建立良好的工作关系,并通过这个过程产生更好的文件。

做一个倾听者。

如果你希望别人听你说话,那么你必须掌握的一项技能就是倾听他们。即使你拥有所有的信息,即使你站在一个正式会议中的20个衣着光鲜的人面前 - 如果你不听他们说话,他们也不会听你说话。

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

回应他人。

当你问一个人一个问题时,如果他们不回答,你会认为他们很粗鲁。因此,当有人通过电子邮件或发给你备忘录向你询问信息,要求你提供某些东西时,你有多少次没有回应?繁忙的日子常常会导致忘记事情。永远记住回复电子邮件,甚至简单的“我会稍后回复你”都足够了。及时通知他人 - 这使得人们更容易原谅你偶尔的疏忽,并让他们知道你没有忘记他们。

(程序员的软技能:ke.qq.com/course/6034346)

你说什么和你怎么说同样重要。

除非你完全与世隔绝,否则你必须学会沟通。你的沟通越有效,你的影响力就越大。

文档。

最后,还有一个通过文档进行沟通的问题。通常,开发人员不会投入太多精力去编写文档;充其量,他们把它视为一项义务性任务,最糟糕的情况下,他们将其视为一项低优先级任务——希望在项目结束时项目经理会忘记它。

实际的程序员将文档视为整个开发过程的一部分。为了使文档更容易,避免冗余工作并节省时间,通过保持文档随时可用来直接在代码中编写。实际上,用于编码的所有实用原则也适用于文档。

嵌入文档,而不仅仅是附加文档。

使用源代码中的注释生成吸引人的文档非常直接。建议为模块和导出的函数添加注释;这对其他使用它们的开发人员非常有帮助。 然而,对每个函数、数据结构、类型声明等添加注释的做法是有问题的。这种机械式的注释做法实际上可能使代码更难维护:修改某些内容意味着更新两个地方。因此,非 API 注释应该限制在讨论其存在的原因以及其意图和目的。当代码已经展示了如何完成事情时,注释变得多余,违反了DRY原则。

在源代码中进行注释是记录项目细节的绝佳机会,这些细节在其他地方无法记录:工程权衡、决策原理、被拒绝的替代方案等。

总结。

· 知道你想说什么。

· 了解你的受众。

· 选择适当的时机。

· 选择合适的风格。

· 使其视觉上吸引人。

· 让受众参与其中。

· 做一个好的倾听者。

· 回应他人。

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

线上沟通。

关于书面沟通的一切都适用于电子邮件、社交媒体帖子、博客等。尤其是电子邮件已经成为公司内部主要的沟通方式;它用于合同讨论、纠纷解决,甚至作为法庭证据。然而,出于某种原因,人们在发送破旧的纸张时会犹豫,但却不介意向全球发送看似混乱和不连贯的电子邮件。

我的建议很简单:

· 在发送之前进行校对。

· 仔细检查拼写,并捕捉可能的自动更正错误。

· 使用简单的格式。并非所有的电子邮件客户端都像现代浏览器一样呈现;你精美格式化的电子邮件可能会变得混乱。许多网站的评论和回复不允许使用HTML标签。

· 少量引用原始文本。没有人喜欢收到一封回复电子邮件,里面有几百行自己的文本,然后只有一行写着“我同意”。

· 如果引用某人的电子邮件,请给出引用并进行内联引用(而不是将其放在附件中)。社交媒体平台上的引用也适用于此。

· 避免在线侮辱他人;不要成为一个喜欢被恶搞或被攻击的网军。如果你不会对某人的面孔说某些话,也不要在网上说这些话。

· 在发送之前检查收件人列表。这是一个经常提醒的警告 - 如果你在部门的电子邮件中批评你的老板,请注意不要将你的老板添加到转发列表中。当然,最好的方法是根本不要在电子邮件中批评你的老板。

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

(程序员的软技能:ke.qq.com/course/6034346)

标签:沟通,开发人员,学会,他们,交流,受众,程序员,文档,电子邮件
From: https://www.cnblogs.com/iphone100s/p/17663929.html

相关文章

  • 每个程序员都应该读的最有影响力的书
    StackOverflow网站上有用户问了一个问题,让大家推荐一些每个程序员都应该读的最有影响力的书。这个问题非常热门,下面是得票最高的回答。 CodeComplete (2ndedition)bySteveMcConnellThePragmaticProgrammerStructureandInterpretationofComputerProgramsThe......
  • 程序员要学会“投资知识”
    啊,富兰克林,那家伙总是说些深刻的道理。嗯,我们真的可以通过早睡早起变成优秀的程序员吗?早起的鸟儿可能抓住虫子,但早起的虫子会怎么样呢?然而,富兰克林的开场白确实击中了要害-知识和经验确实是你最有价值的职业资产。不幸的是,它们是有限的资产。随着新技术的出现和语言环境的发展......
  • 程序员应该专注技术还是转管理?
    只要有得选,专注技术或是转管理。都可以。但对于大部分程序员来说,都没得选。专注技术,你得有基础,基础太差,技术发展的天花板很低;想转管理,虽然门槛没有专注技术那么高,但是,公司里的管理岗位非常少,凭什么轮得到你?喜欢技术,自己也有能力去研究,那么做一名技术专家非常好。真没有什么比每天做......
  • 程序员的职业发展思考
    转眼之间,已入程序员将近十年,惶惶然过了这么多年,回头看,向前往,仍是一片茫然。努力地埋头苦干,做了一个项目再做下一个项目,做完一个需求,还有下一个需求。一直在被赶着走,抬起头,发现仍是一无所有,一无所获。不禁对自己的职业发展、人生规划产生了疑惑。程序员,或者准确的说,普通的程序......
  • 零基础学会用Airtest-Selenium对Firefox进行自动化测试
    1.前言本文将详细介绍如何使用AirtestIDE驱动Firefox测试,以及脱离AirtestIDE怎么驱动Firefox(VScode为例)。看完本文零基础小白也能学会Firefox浏览器自动化测试!!!2.如何使用AirtestIDE驱动Firefox浏览器对于Web自动化测试,目前AirtestIDE支持chrome浏览器和Firefox2种浏览器,关于......
  • 【本地交流】杭州同城数据行业单身交友群
    原文链接:http://tecdat.cn/32858-2作为数据人,我们渴望结识志同道合的伙伴!但忙碌的生活让我们错过了交流的机会。让时间慢下来,深入了解彼此,收获更多美好的想象。用热情和智慧点燃城市的火花,打造属于我们的数据圈子。期待与你相遇,开启难忘的数据之旅!为什么要加入数据人同城交友群......
  • 程序员应该将质量要求视为需求
    有一个老笑话就是这样的:一个美国公司向一个日本制造商订购了10万个集成电路。规格说明书规定缺陷率只能是一万分之一。几个星期后,订单完成了,货物交付了。除了一个大盒子的芯片,还有一个小盒子,里面装着十个带有标签的芯片,上面写着“这些是有问题的”。要是我们能像那样控制质量就好......
  • 程序员要学会“不做温水里的青蛙”
    三名从战场归来的士兵饥肠辘辘。看到前方的一个村庄,他们精神焕发-期望村民能给他们一些食物。然而,一到村庄,他们发现所有的门窗都紧闭着。经过多年的战争,村民们的食物短缺,剩下的存货都藏起来了。士兵们并没有放弃,他们将一锅水装满,小心地放入了三块石头。好奇的村民们纷纷走出来......
  • 学会Python Requests库+Cookies模拟自动登录!
    importrequestsurl="https://my.cheshi.com/user/"headers={"User-Agent":"Mozilla/5.0(Macintosh;IntelMacOSX10_15_7)AppleWebKit/537.36(KHTML,likeGecko)Chrome/116.0.0.0Safari/537.36"}res=requests.get(......
  • Chat Emy会让程序员失业吗?
    ChatEmy具备强大的自动编码能力,可以理解、解析和生成大量的自然语言。传统上,人们需要花费大量的时间和精力来编写和调试代码,但ChatEmy可以通过学习海量数据,自动完成这些复杂的任务,从而减少了程序员的工作量。这让一些人担心,程序员在代码编写方面的需求可能会减少。一些人担心这一......