及时沟通的重要性
by Andrea Goulet
通过安德烈·古莱特(Andrea Goulet)
沟通与代码同样重要 (Communication Is Just As Important As Code)
This past weekend, I had the pleasure of being the closing keynote at Ruby Nation. I expanded on one of the core values at Corgibytes: Communication Is Just As Important As Code.
在过去的这个周末,我很高兴成为Ruby Nation的闭幕主题演讲。 我扩展了Corgibytes的核心价值之一 :通信与代码一样重要。
Below is pretty much a transcript of my talk. I got great feedback and am looking forward to presenting on this topic more. If you organize a conference and want to chat about me speaking, please get in touch.
以下是我演讲的笔录。 我得到了很好的反馈,并期待着更多地介绍这个话题。 如果您组织会议并想聊我的演讲,请保持联系 。
Ruby Nation is near and dear to my heart because this was the first software conference I ever attended. I saw yesterday during one of the raffle questions that a few people in the audience today who are new to coding. Your first tech conference can be intimidating. I know how you feel because that was me six years ago.
Ruby Nation贴近我的心,因为这是我参加过的第一次软件会议。 昨天我在抽奖问题之一中看到,今天的听众中有一些刚接触编码的人。 您的第一次技术会议可能令人生畏。 我知道你的心情,因为那是六年前的我。
A few months before my first Ruby Nation conference, I connected with a good friend, Scott, from high school at our ten-year reunion. He was the stereotypical computer programmer. When folks asked what he did, and he said he programmed computers, most people replied “Yep. Saw that coming.”
在我第一次举行Ruby Nation会议的几个月前,我与我们十年重逢的高中时的一个好朋友Scott有了联系。 他是定型计算机程序员。 当人们问他做了什么时,他说他对计算机进行了编程,大多数人回答“是的。 看到了。”
I was not your stereotypical programmer. While I grew up with technology from an early age, as a woman, my generation was actively discouraged from believing we could participate in that industry. When I was nine, I didn’t have Hello Ruby or Goldiblox. I had Teen Talk Barbie, who told me that math was hard, and shopping was fun.
我不是你的定型程序员。 当我从小就开始使用技术成长时,作为一个女人,我这一代人一直很沮丧,因为他们认为我们可以参与该行业。 当我九岁的时候,我没有Hello Ruby或Goldiblox。 我有Teen Talk芭比娃娃 ,他告诉我数学很难,而且购物很有趣。
So, I went in the direction that was culturally appropriate for me, and I became your stereotypical marketer.
因此,我朝着文化上适合我的方向发展,并成为了您的定型营销商。
Anyway, at the reunion, Scott approached me and said he had a business. He had built a software product, but hadn’t made any sales in eighteen months. He had a marketing problem. And suddenly, my skills weren’t annoying. They were valuable.
无论如何,在聚会时,斯科特走近我,说他有生意。 他开发了一种软件产品,但在18个月内没有任何销售。 他有行销问题。 突然之间,我的技能并没有令人讨厌。 他们很有价值。
He wanted to know if I would join him as his CEO to help him achieve his dream. He’d be Woz, and I’d be Jobs. I knew a lot about building businesses, but I didn’t know about software but figured I could learn. So we started Corgibytes together and a few months later headed off to Ruby Nation.
他想知道我是否愿意和他一起担任首席执行官,以帮助他实现自己的梦想。 他将成为沃兹,而我将成为乔布斯。 我对建立业务非常了解,但对软件却不了解,但认为自己可以学习。 因此,我们一起启动了Corgibytes,几个月后前往Ruby Nation。
In 2010, things were a little different. At my first technology conference, I was one of just two or three women in the room. Most of the room looked like Scott. But there was some diversity. Some of the men had different color hair and glasses, and there were even some who didn’t have beards.
在2010年,情况有所不同。 在我的第一次技术会议上,我只是会议室中的两三个女人之一。 大部分房间看起来像斯科特。 但是有一些多样性。 有些男人的头发和眼镜颜色不同,甚至有些没有胡须。
I didn’t understand most of the talks. Right before lunch, I felt like an outsider who didn’t belong. I thought about leaving.
我听不懂大部分的谈话。 午饭前,我感觉自己像一个不属于自己的局外人。 我想离开。
Then, at lunch, I met Dave Bock. Then later, Jim Gay. They both made me feel like I did belong, even though I didn’t look like everyone else and was new to programming.
然后,在午餐时间,我遇到了戴夫·博克 。 然后, 吉姆·盖伊 ( Jim Gay) 。 他们都让我觉得自己确实属于我,尽管我看上去并不像其他人一样,而且对编程还是陌生的。
As I kept learning, the Ruby community was incredibly welcoming. You told me:
在我不断学习的过程中,Ruby社区非常受欢迎。 你告诉过我:
- You belong here. 你属于这里
- How can we make it better? 我们如何才能使其更好?
- I believe in you. 我相信你。
One of the folks I met at my first conference was Jeff Casimir, who now runs the Turing School. He gave a talk about being a polyglot developer, which is someone who codes in several languages. I felt so welcome and encouraged by my new friends that I worked up the gumption to give a lightning talk.
我在第一次会议上遇到的一位人是杰夫卡西米尔 ( Jeff Casimir) ,他现在经营图灵学校 。 他发表了关于成为一名多语言开发人员的演讲,该开发人员使用多种语言进行编码。 我受到新朋友的欢迎和鼓励,以至于我冒犯了闪电。
I stood up on stage, brand new to coding, and suggested there was another language folks could add to their tech stack… English!
我站在舞台上,是编码的新手,并建议人们可以在他们的技术堆栈中增加另一种语言……英语!
We are quickly approaching a world where communication skills are no longer optional. You can’t choose between being technical or non-technical. You have to be both.
我们正在Swift接近一个沟通技巧已不再是可选的世界。 您不能选择技术性还是非技术性。 你们两个都要。
So I’d like to teach you what I know about communication, just like you taught me how to code.
因此,我想教您关于沟通的知识,就像您教我如何编码一样。
In twenty minutes, I’m going to give you the most salient points of what I’ve learned about communicating in the past fifteen years. Now, this was tough to distill down. I could probably write an entire book on this topic, but I think it starts by asking the question: what is communication?
在二十分钟内,我将为您提供我在过去十五年中所学到的最重要的交流知识。 现在,很难将其提炼出来。 我可能会写一本关于该主题的整本书,但我认为这首先要问一个问题:什么是交流?
We can look at events. Some events have to happen at the same time. They’re synchronous. Others don’t have to happen at the same time. They’re asynchronous.
我们可以看一下事件。 有些事件必须同时发生。 它们是同步的。 其他人不必同时发生。 它们是异步的。
There are some obvious synchronous examples here: phone calls, meetings, Screenhero. And Twitter, text messages, email — those are asynchronous.
这里有一些明显的同步示例:电话,会议,Screenhero。 而Twitter,短信,电子邮件-是异步的。
Then there are some non-obvious forms of communication.
然后有一些非显而易见的交流形式。
On the synchronous side, things like eye contact, body language, and whether or not you show up to an event on time.
在同步方面,诸如眼神交流,肢体语言以及是否按时参加某个事件之类的事情。
Those happen at the same time, but because they’re non-verbal, we don’t often think of them as communication.
这些是同时发生的,但是因为它们不是语言,所以我们并不经常将它们视为交流。
There’s also idle chit-chat. If you’re talking about work in a non-work context, that’s still communication. When you’re in the buffet line at your cousin’s wedding, and someone asks what you do, you are having an impact on the sales of your company, whether you know it or not.
还有闲聊。 如果您是在非工作环境中谈论工作,那仍然是交流。 当您在表哥的婚礼上参加自助餐时,并且有人问您做什么时,无论您是否知道,这都会对公司的销售产生影响。
On the asynchronous side, we have things like commit messages, which we believe will always be the best form of documentation. Think of the times you’ve run git blame and then had the code in question’s author come up as yourself. Explaining the rationale of your commits is super helpful to others. It’s even helpful to your future self.
在异步方面,我们拥有诸如提交消息之类的东西,我们相信它们永远是文档的最佳形式。 考虑一下您运行git blame的时间 ,然后让有问题的代码的作者自己提出。 解释您提交内容的理由对其他人超级有帮助。 它甚至对您未来的自我有帮助。
We also have names: variables, methods, classes. Writing scenarios in Cucumber and examples in RSpec. Are you naming things in a way that makes sense to other people? Or are foo and bar your best friends? If you want to know more about naming, I suggest reading Arlo Belshee’s series on How Naming is a Process, Not a Single Step.
我们也有名称:变量,方法,类。 在Cucumber中编写脚本,在RSpec中编写示例。 您是否以对其他人有意义的方式命名事物? 还是foo和bar是您最好的朋友? 如果您想了解有关命名的更多信息,建议阅读Arlo Belshee的有关命名是如何处理而不是一步的系列。
Okay. Back to the grid.
好的。 回到网格。
Many of us are consultants and have to fill out timesheets. Do you fill out the comments? That’s a form of communication.
我们许多人都是顾问,必须填写时间表。 您是否填写评论? 那是一种沟通方式。
We do code reviews on pull requests. Those comments that you leave? Yep. You guessed it. Communication.
我们对请求请求进行代码审查。 您留下的那些评论? 是的 你猜到了。 通讯。
And finally, my biggest pet peeve: error messages. How many of you have ever come across a completely useless error message when you’re working? It’s so frustrating! I sometimes feel like my mission in life is to rid the world of bad error messages by teaching developers how to communicate well.
最后,我最大的烦恼:错误消息。 在您工作时,有多少人遇到过完全无用的错误消息? 太令人沮丧了! 有时,我的人生使命是通过教开发人员如何进行良好的沟通来消除错误的错误消息。
So here’s how I define communication: It’s just the artifacts of your ideas. That’s it. Communication isn’t all that different than code, and it’s just as important.
因此,这就是我定义交流的方式:这只是您的想法的产物。 而已。 沟通与代码并没有什么不同,它同样重要。
So at Corgibytes, all we do is legacy code. We do a lot of upgrading from Rails 2 or 3 apps, adding automated test suites, paying down tech debt. I sometimes say we’re the janitors of the internet.
因此,在Corgibytes,我们要做的就是遗留代码。 我们从Rails 2或3应用程序进行了大量升级,添加了自动测试套件,还清了技术债务。 有时我会说我们是互联网的看门人。
But we’re the happiest damn janitors you’re ever likely to meet. We really like what we do. And a lot of is because we emphasize communication.
但是,我们是您可能遇到的最幸福的管理员。 我们真的很喜欢我们的工作。 这主要是因为我们强调交流。
Most people hate working on legacy code. A big part of the reason for this is that legacy code is notoriously void of communication.
大多数人不喜欢使用遗留代码。 造成这种情况的很大一部分原因是,众所周知,遗留代码没有通信。
Michael Feathers defines legacy code as “code without tests,” but I’d like to expand upon that. It’s code without communication artifacts, of which tests are just a small part. Without communication, working on a codebase you didn’t write is difficult.
Michael Feathers 将遗留代码定义为“没有测试的代码”,但是我想对此进行扩展。 它是没有通信工件的代码,其中的测试只是一小部分。 没有沟通,在您未编写的代码库上工作将很困难。
Okay. So why does this matter?
好的。 那么为什么这很重要呢?
Three reasons.
三个原因。
First, getting better at your communication is the best way to level up your career.
首先, 更好地沟通是提升职业水平的最佳方法 。
If you want to be a Lead Developer, a CTO, or own your own business, communicating effectively with people who don’t code every day is a big part of your job.
如果您想成为首席开发人员,CTO或拥有自己的业务,那么每天与不使用代码的人进行有效的沟通是您工作的重要部分。
If you want people to contribute to your open source project, communication is what makes them feel welcome and keeps them around.
如果您希望人们为您的开放源代码项目做出贡献,那么交流就是让他们感到受欢迎并与他们保持联系的原因。
And if you want other people to use your ideas, you need to learn how to blog, speak, and maybe even write books. All of that is communication.
而且,如果您希望其他人使用您的想法,则需要学习如何写博客,说话甚至写书。 所有这些都是沟通。
The next reason is that communication builds trust.
下一个原因是沟通建立了信任 。
In her book, Daring Greatly, Brené Brown describes trust as a marble jar. Her daughter’s teacher would drop a marble in a jar when the class behaved, and when they got to the top, they got a pizza party. Trust works the same way. It’s built over time by a series of very small interactions.
布兰妮·布朗(BrenéBrown)在她的《 大胆的冒险》一书中将信任描述为一个大理石罐。 上课的时候,她女儿的老师会把大理石放到罐子里,当他们登上顶峰时,他们会参加披萨派对。 信任的工作方式相同。 它是由一系列很小的交互作用随时间而建立的。
Those small interactions are communication. Every artifact is a marble in the jar. Every time you leave an artifact of your ideas, you are communicating, and building trust.
那些小的互动就是交流。 每个神器都是罐子里的大理石。 每次您留下想法时,您都在交流并建立信任。
And finally, good communication is the best way to ensure that you don’t run around and fight fires all the time.
最后, 良好的沟通是确保您始终不会到处乱跑和灭火的最好方法 。
At Corgibytes, one of our core values is Calm the Chaos. We believe the best solutions to problems don’t happen when you’re stressed out and pumped full of adrenaline. They come when you’re calm, rational, and using your prefrontal cortex. That can only happen when your culture is soaked in good communication.
在Corgibytes,我们的核心价值观之一是“平静混沌”。 我们相信,当您承受着压力并充满肾上腺素时,就不会出现解决问题的最佳方案。 当您保持冷静,理性并使用额叶前皮质时,它们就会来。 只有当您的文化与良好的沟通交流融为一体时,才会发生这种情况。
The good news is that there are several patterns and frameworks we can lean on to improve our communication. I’m going to go over my three favorites.
好消息是,我们可以依靠几种模式和框架来改善沟通。 我将介绍我的三个收藏夹。
But first, let’s note how these aren’t static. In his book Refactoring to Patterns, Joshua Kerievsky talks about how you can move toward patterns— or away from them — through all of the small choices you make. Improving your communication works the same way. It takes awareness, and happens when you make the conscious choice refactor your habits.
但是首先,让我们注意一下这些不是静态的。 约书亚·科列夫斯基(Joshua Kerievsky)在他的《 重构为模式》一书中,谈到了如何通过做出的所有小选择而朝着(或远离)模式前进。 改善沟通的方式是相同的。 它需要意识,并且在您做出有意识的选择来重构您的习惯时会发生。
The first concept we’ll touch on is about context switching. There is a real cost associated with this. You know it. But how do you communicate this fact with your teammates who don’t code?
我们将涉及的第一个概念是上下文切换。 有一个与此相关的实际成本。 你知道的。 但是,您如何与不编写代码的队友交流这一事实呢?
I’ve written a detailed blog post on this, but in short, here’s how I learned to do this.
我已经写了一篇详细的博客文章 ,但是总之,这是我学会的方法。
For years, when I needed to get Scott’s attention, I’d ask, “Hey, Scott — you got a sec?” I thought it was polite. I wanted to honor his time and not bother him if he was busy. At the same time, I was usually blocked.
多年以来,当我需要引起Scott的注意时,我会问:“嘿,Scott-你有几秒钟?” 我认为这很客气。 我想尊重他的时间,如果他很忙,就不要打扰他。 同时,我通常被封锁。
I tried not to disturb him needlessly. The answer could have well been “no,” and my response would have been, “No worries. Get back to me when you can.” But it never happened that way. Instead, I got complete and utter frustration.
我尽力不要不必要地打扰他。 答案很可能是“否”,而我的回答将是“不用担心。 如果可以,请尽快与我联系。” 但是从来没有那样。 相反,我感到完全沮丧。
One day, after Scott got frustrated, he responded, “I was at level Nine.”
有一天,斯科特感到沮丧后,他回答说:“我当时是9级。”
“Level Nine?”
“九级?”
“Yeah. Like in the movie Inception.”
“是的。 就像电影《盗梦空间》一样。”
In the movie Inception, there’s the idea of a “dream within a dream.” This happens in engineering too: a mental model within a mental model. The more models you have to keep in your mind at one time, the more time it takes to build up to that state. If you come out of it too quickly, you almost get the mental equivalent of decompression sickness.
在电影《盗梦空间》中,有一个“梦中有梦”的想法。 这也在工程中发生:心智模型中的心智模型。 您一次要记住的模型越多,建立该状态所需的时间就越多。 如果您过快地摆脱它,您将在精神上相当于减压病。
So we developed a framework to help us communicate whether we’re interruptable.
因此,我们开发了一个框架来帮助我们交流是否可中断。
If all he has to do is label where he is, he can communicate whether he’s interruptible without switching context. Anything above two, and he comes back to me when he’s safely back on the surface.
如果他要做的只是标记他在哪里,他可以在不切换上下文的情况下传达他是否可打扰。 任何高于2的东西,当他安全地回到地面时,他都会回到我身边。
Next is what I call the Shattering Glass pattern.
接下来就是所谓的“碎玻璃”图案。
You want to be less like Ted and more like Tina.
您希望不像特德,而更像蒂娜。
In the show How I Met Your Mother, Ted starts to notice how often he says the words, “Well, actually.” And every time he does. Glass shatters above his brain as he realizes how much he does this.
泰德(Ted)在节目《我如何与母亲见面》中开始注意到他说“好吧,实际上”的频率。 而且每次他这样做。 当他意识到自己做了多少事情时,玻璃在他的大脑上方粉碎了。
This language is divisive. His friends don’t like it. And your marketing friends like this about as much as you like it when they say, “Do you have a sec?”
这种语言是分裂性的。 他的朋友们不喜欢它。 当您的营销朋友说“您有时间吗?”时,您会喜欢它,就像您喜欢它一样。
A better way to do this is to replace your well actually with “Yes, and…”
更好的方法是用“是的,然后…”代替您的油井。
This comes from Tina Fey’s book Bossypants, where she describes how she learned improv. “Yes, and…” is language that unites.
这来自蒂娜·菲(Tina Fey)的书《 Bossypants》,其中描述了她如何学习即兴创作。 “是,并且……”是统一的语言。
For example, let’s say a client comes to you with a requested scope change. That never happens, right?
例如,假设某个客户向您提出请求的范围更改。 那永远不会发生,对吧?
“Well actually, that’s not in the contract….” promotes hostility and defensiveness. So here’s a different way you can say the same thing that promotes collaboration.
“实际上,这不在合同中……” 促进敌对和防御。 因此,您可以通过不同的方式说出促进协作的观点。
“Yes. I see how that’s important to you. And we’ve already started a sprint. Let’s have a conversation about how that change will impact things and find a way that works for both of us.”
“是。 我知道那对您很重要。 而且我们已经开始冲刺了。 让我们讨论一下这种变化将如何影响事物并找到一种对我们俩都有效的方式。”
So the last pattern is how to avoid sounding like a jerk.
因此,最后一个模式是如何避免听起来像个混蛋。
This is Kim Scott’s Radical Candor framework.
这是Kim Scott的Radical Candor框架。
There are two axes. The way Kim Scott describes them is the vertical one labeled “Caring Personally” is what she calls the “give a damn axis.” The other, labeled “Challenge Directly” she says is the “willing to piss people off” axis.
有两个轴。 金·斯科特( Kim Scott) 形容他们的方式是垂直的标签为“关怀个人”,她称之为“给该死的轴”。 她说,另一个标签是“直接挑战”,是“愿意让人们生气”的轴心。
When you give feedback, you want to be both. And she gives the acronym of HHIPP to remember how to speak with Radical Candor:
当您提供反馈意见时,您希望两者兼得。 她使用HHIPP的首字母缩写来记住如何与Radical Candor对话:
“Radical candor is humble, it’s helpful, it’s immediate, it’s in person — in private if it’s criticism and in public if it’s praise — and it doesn’t personalize.” That last P makes a key distinction: “My boss didn’t say, ‘You’re stupid.’ She said, ‘You sounded stupid when you said um.’ There’s a big difference between the two.” -Kim Scott
“激进的坦率是谦虚的,有用的,直接的,亲自面对的-如果是批评则是私下的,如果是赞扬则是公开的-并且不个性化。” 最后一个P有一个关键的区别:“我的老板没有说,'你很愚蠢。' 她说:“当你说嗯时,你听起来很蠢。” 两者之间有很大差异。” -金·斯科特
If you get nothing out of this talk, remember: communication is a skill. You can learn it. If you can learn how to code, you can learn how to communicate.
如果您从这次谈话中没有得到任何帮助,请记住:沟通是一种技巧。 您可以学习它。 如果您可以学习编码,则可以学习交流。
And know that I believe in you. Just like you believed in me and told me I could learn how to code when I didn’t believe in myself, let me offer you my full support.
并且知道我相信你。 就像您相信我并告诉我,如果我不相信自己,我可以学习编码,让我为您提供全力支持。
Here are some resources to help you get started.
这里有一些资源可以帮助您入门。
My challenge to you is to think back to Elle’s first talk that opened this conference. Adopt a growth mindset. Believe you can learn and find a book or a class to get you started.
我面临的挑战是回想起Elle在本次会议上的第一次演讲。 采取成长心态。 相信您可以学习并找到书籍或课程来入门。
Dive in and get curious about communication the same way you learned how to code.
与学习编码的方式一样,潜入并好奇于交流。
And I’m happy to help you. Here’s my contact information. I hope you reach out to me on Twitter and tell me about what you’re up to.
很高兴为您提供帮助。 这是我的联系方式。 希望您能在Twitter上与我联系,并告诉我您的打算。
If you happen to like legacy code, I hope you join our community over at LegacyCode.Rocks. There’s a slack channel where you can hang out with other folks who love remodeling software.
如果您碰巧喜欢旧代码,希望您加入LegacyCode.Rocks加入我们的社区。 有一个闲散的频道,您可以在这里与喜欢重塑软件的其他人一起出去玩。
And I blog over at Empathy Driven Development, so if there’s anything you want to contribute, please get in touch.
我在Empathy Driven Development上写博客,因此,如果您想贡献什么,请联系。
And here’s a link to my calendar so we can schedule a synchronous event and get to know each other better. I really hope to hear from you.
这是指向我的日历的链接,因此我们可以安排同步事件并更好地了解彼此。 我真的希望收到您的来信。
And yes, I have stickers.
是的, 我有贴纸 。
Thank you.
谢谢。
This post originally appeared on Corgibytes.com
该帖子最初出现在Corgibytes.com上
翻译自: https://www.freecodecamp.org/news/communication-is-just-as-important-as-code-c92c709329ab/
及时沟通的重要性