DCR: Traits of a Great Developer - Communications Model (Deep Dive)


Summary

This episode of Developer Tea continues the series on traits of great developers with a deep dive into communication models. Host Jonathan Cutrella explains that becoming a great developer isn’t just about following rules or guidelines, but about embodying a mindset of constant self-improvement, with communication being a critical component.

The episode introduces fundamental communication models, starting with the basic sender-receiver framework that includes sender, medium, receiver, feedback, and noise. Cutrella explains how this model originated from telephone communication systems and how it applies to various forms of human interaction, including in-person conversations where multiple media (like visual cues) come into play.

Cutrella expands on the concept of noise beyond just physical interference, discussing semantic noise (difficult vocabulary or accents), distraction noise (multitasking), and psychological noise (biases toward or against the sender). He emphasizes that these forms of noise can significantly impact message reception without the receiver even being aware of them.

The most crucial part of the discussion focuses on encoding and decoding messages. Cutrella explains that effective communication requires understanding how your audience will decode your message, not just how you would understand it. This involves considering the receiver’s experiences, motivations, and personality types when formulating messages. He provides practical examples like understanding your boss’s goals when asking for a raise or aligning with potential employers’ objectives during job interviews.

Cutrella concludes by encouraging developers to avoid isolationism and cynicism, emphasizing that understanding non-developers and their perspectives is essential for career success. He stresses that great developers are communication experts who use these tools not for manipulation but for better empathy and understanding of colleagues and stakeholders.


Recommendations

Resources

  • Developer Career Roadmap — A step-by-step guide mentioned by Jonathan as a recommended pathway for becoming a great developer, though he emphasizes it’s not the only way.

Tools

  • Rollbar — An error monitoring tool that helps developers track production errors automatically, working with major languages and frameworks, and integrating with messaging apps and issue trackers like Slack, GitHub, JIRA, and Trello.

Topic Timeline

  • 00:00:00Introduction to communication models for developers — Jonathan introduces the episode’s focus on communication models and tools for thinking about communication. He explains that becoming a great developer involves constant self-improvement and that studying communication will help in all areas of life, especially careers.
  • 00:02:17Components of communicated messages — Jonathan asks listeners to consider what makes up a communicated message. He discusses how we learn communication through language acquisition, cultural customs, accents, and regional variations. He emphasizes that communication involves both encoding (speaking/writing) and decoding (listening/reading) skills that develop over time.
  • 00:04:44Basic communication model components — Jonathan outlines the fundamental components of most communication models: sender, medium, receiver, feedback, and noise. He traces this model back to telephone systems and explains how it applies to various communication scenarios, including in-person conversations where visual feedback becomes part of the medium.
  • 00:10:01Expanded concept of noise in communication — Jonathan expands the concept of noise beyond physical interference to include distraction noise (like multitasking), semantic noise (difficult vocabulary or accents), and psychological noise (biases toward or against the sender). He explains how these forms of noise can be subtle and difficult to detect but significantly impact message reception.
  • 00:12:35Encoding and decoding messages — Jonathan discusses the crucial process of encoding (translating ideas from your mind into messages) and decoding (how receivers interpret those messages). He emphasizes that how you encode a message creates its content and that effective encoding requires considering how your specific audience will decode it based on their experiences and motivations.
  • 00:15:01Practical applications for career development — Jonathan applies communication concepts to practical career situations like asking for raises or getting hired. He explains that understanding your boss’s or potential employer’s goals allows you to encode messages about your alignment with those goals in ways they’ll understand and act on. He cautions against using communication for manipulation rather than empathy.
  • 00:17:04Importance of understanding your audience — Jonathan emphasizes that recognizing your audience is the most fundamental step in improving communication. Effective encoding requires intentional consideration of what the receiver will use to decode messages—their experiences, motivations, and personality types. He concludes by warning developers against isolationism and cynicism, stressing the importance of understanding non-developer colleagues.

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2017-09-22T09:00:00Z
  • Duration: 00:18:42

References


Podcast Info


Transcript

[00:00:00] In the last episode, we discussed the importance of becoming a communications expert.

[00:00:10] In this episode, I want to kind of lay out what that communications model, or really

[00:00:18] kind of the summation of multiple communication models, I want to give you some tools for

[00:00:24] thinking about your communication.

[00:00:26] And then we’re going to talk about how to apply that as we’re writing code, as we’re

[00:00:31] writing emails.

[00:00:31] How can we apply this theory in a way that is actually meaningful?

[00:00:36] My name is Jonathan Cutrella.

[00:00:37] You’re listening to Developer Tea.

[00:00:39] My goal on this show is to help you become a better developer.

[00:00:42] I do that by asking you questions and helping you kind of kickstart that thinking process

[00:00:49] and encouraging you to learn.

[00:00:52] I share my opinions and I encourage you to develop.

[00:00:56] Develop your own opinions.

[00:00:58] Becoming a great developer is not just about following a bunch of rules or guidelines.

[00:01:03] It’s not about following, you know, step-by-step everything I say, even though we developed

[00:01:07] a step-by-step guide, the Developer Career Roadmap.

[00:01:11] You know, this is something that I do recommend, but just because I have this step-by-step

[00:01:16] guide doesn’t mean that’s the only pathway to becoming a great developer.

[00:01:20] Instead, this is about that mental process and embodying.

[00:01:26] Really, this challenge, right?

[00:01:28] This challenge to constantly be bettering yourself.

[00:01:32] And there’s so many ways that you can do that.

[00:01:34] Approaching the concept of communications and studying it, listening to this episode,

[00:01:38] and then going and finding more information for yourself.

[00:01:41] That is one pathway that’s going to help you become a better developer.

[00:01:46] It’ll help you in every area of your life, really.

[00:01:48] But especially in your career, communications is key.

[00:01:53] If you haven’t listened to that previous episode about,

[00:01:56] why communications is so important, I highly recommend you go and listen to that.

[00:02:00] So I want you to take a second, and maybe this is something you pause the episode to do,

[00:02:05] or maybe you just take a few minutes, you know, or a few seconds while I’m talking through this

[00:02:11] to think about it.

[00:02:13] What are the components of a communicated message?

[00:02:17] What are the components of a communicated message?

[00:02:20] If you, like me, studied communications formally in school,

[00:02:24] then you may have a more…

[00:02:26] a more formulated answer to this question,

[00:02:28] but a lot of people haven’t really been taught this at a meta level.

[00:02:34] In other words, we kind of grew up learning how to talk to other people.

[00:02:38] We learned a language and then we use that language to communicate intent.

[00:02:43] We use that language to communicate emotion and frustration.

[00:02:47] We use it to communicate all kinds of things.

[00:02:50] And beyond that language that we learned, we also learned the customs,

[00:02:55] the ways that we use particular words.

[00:02:59] Maybe we learned accents.

[00:03:01] Maybe we learned ways of enunciating particular things in particular ways

[00:03:06] that were specific to our family, specific to our friend group,

[00:03:11] maybe specific to our city or region or state.

[00:03:15] And we kind of simultaneously learned how to decode those same things.

[00:03:20] When other people are, you know, talking to us,

[00:03:24] we also…

[00:03:25] we can’t just know how to speak, but we also must know how to listen.

[00:03:30] And the same applies to reading and writing.

[00:03:33] We can’t only know how to write.

[00:03:34] We must also know how to read.

[00:03:37] And of course, talking to a very young child versus talking to a, you know,

[00:03:42] 20 or 30-year-old person is a very different process, a very different experience,

[00:03:47] because a lot of communication skill has built up and a lot of extra layers of meaning have

[00:03:55] been built up over the years.

[00:03:57] So communications is not a simple subject.

[00:04:01] Understanding how communication happens is not a simple subject.

[00:04:07] But there are ways to go about wrapping your mind around how this works.

[00:04:12] So I want to give you this model, and I want to kind of point you in the right direction

[00:04:16] so that you can go and do an even deeper dive beyond this kind of deeper dive.

[00:04:21] So I want you to kind of take on that.

[00:04:25] Take on that responsibility of becoming that expert for yourself.

[00:04:28] Take the time to do a little bit more research.

[00:04:31] Understand a little bit more about the differences of these models,

[00:04:34] maybe the history of communications research.

[00:04:36] In pretty much every fundamental communications model, not all of them, but most of them,

[00:04:44] there is a sender or something that emits a message, right?

[00:04:50] In a scenario where you’re talking one-on-one with another person,

[00:04:55] you might be that emitter, right?

[00:04:57] So you’re going to send a message.

[00:04:59] There is a medium.

[00:05:02] So the thing that the message kind of transfers over, in this case, air is technically the medium,

[00:05:09] but you could also say that the medium is, you know, sound waves.

[00:05:13] Then, of course, there is the receiver, the thing that is going to take that message, right?

[00:05:20] On top of that, there’s going to be, and not every, again, not every communications model

[00:05:24] falls.

[00:05:25] Exactly this setup.

[00:05:27] But then there’s going to be feedback, right?

[00:05:31] We’ve talked about this same model before in previous episodes, but feedback from the

[00:05:35] listener back to the sender.

[00:05:37] And finally, there’s going to be the concept of noise.

[00:05:41] Now, this very early model was based on how telephones work, right?

[00:05:47] So you have a caller, you have a receiver, you have the medium, in that case, a wire,

[00:05:52] right?

[00:05:53] And then actually kind of transducing.

[00:05:55] Transferring and switching mediums from the air to the wire and then back from the wire to the air

[00:06:02] by having the earpiece, right?

[00:06:04] And then, of course, you have noise.

[00:06:06] You have static, actual static that interferes in that medium space.

[00:06:11] And for a given message, you may have feedback from the other person to you, you know,

[00:06:17] responding to that message or letting you know that they had received it.

[00:06:20] And it’s perfectly fine if you hear that and you think, oh, that’s another message.

[00:06:25] That is absolutely fine.

[00:06:27] If you’re talking in person, then you may have multiple messages sending over multiple media.

[00:06:33] And I bring this up because the feedback in a person-to-person communication scenario is very

[00:06:40] often visual, right?

[00:06:42] So the media that I’m using to communicate to you is through the air.

[00:06:46] So you hear me speaking and I can watch you as you hear my message, right?

[00:06:52] As you receive my message.

[00:06:55] Respond, perhaps by nodding your head or even involuntary body language lets me know that you are hearing what I’m saying.

[00:07:04] So that’s kind of the, you know, outside looking in perspective of a communications model.

[00:07:11] But that’s not all there is to the story.

[00:07:13] And we’re going to talk more about how you can understand communications models right after we talk about today’s sponsor, Rollbar.

[00:07:20] With Rollbar, you can see what errors lurk in your code.

[00:07:25] We’re talking about communications.

[00:07:27] We’re talking about, you know, how communications can become really difficult, especially when you’re dealing with communications through code.

[00:07:35] This is a difficult medium to communicate through because it’s not really natural.

[00:07:39] It doesn’t come normal to us.

[00:07:41] So what that means is we’re going to have a lot of bugs in our code.

[00:07:45] The computer may not agree with what I said in my code, right?

[00:07:50] So that’s going to have bugs.

[00:07:51] There’s going to be bugs in the code.

[00:07:52] So this is tough because, you know, we’re going to have a lot of bugs in our code.

[00:07:55] You know, when you have errors in your code, a lot of times they go unseen until a user gets really upset and they reach out and tell you about that bug.

[00:08:04] Maybe they had it multiple times.

[00:08:05] Maybe you’re losing users before you ever even hear from them.

[00:08:09] And Rollbar is going to tell you the very first time that error is encountered.

[00:08:14] You don’t have to dig through logs.

[00:08:15] You don’t have to rely on users to report it.

[00:08:18] Rollbar works with all of your major languages and frameworks, and you can start tracking production errors in just minutes.

[00:08:25] I know because I use Rollbar.

[00:08:27] It’s very easy to set up.

[00:08:28] You can also integrate it into pretty much everything you already use.

[00:08:31] Of course, all of your messaging applications like Slack or HipChat.

[00:08:34] You can link your source code in GitHub, Bitbucket, GitLab, all of those remote repository systems.

[00:08:40] They support Rollbar as well.

[00:08:42] You can turn errors into issues in your issue tracker.

[00:08:47] So JIRA, Pivotal Tracker, and my favorite, Trello.

[00:08:50] Customers of Rollbar include Heroku, Twilio, Kayak, Instacart.

[00:08:55] Zendesk, Twitch.

[00:08:56] I used Instacart yesterday, by the way.

[00:08:58] So these are things that are really, really big systems, and they’re relying on Rollbar.

[00:09:03] And I can guarantee you Rollbar will work for you.

[00:09:07] Go and check out what Rollbar has to offer.

[00:09:09] Specifically, they’re going to give developer T listeners the bootstrap plan.

[00:09:13] That’s free for 90 days.

[00:09:16] Rollbar.com slash developer T.

[00:09:18] Rollbar.com slash developer T.

[00:09:20] That’ll get you the bootstrap plan for free for 90 days.

[00:09:23] Thank you again to Rollbar for sponsoring.

[00:09:25] Today’s episode of Developer T.

[00:09:27] So we’re talking about communications models.

[00:09:29] We already set up this idea of the sender, the receiver, the media, the feedback, and finally, the noise.

[00:09:38] But there’s more to the story than this.

[00:09:41] And that’s because we’re kind of looking at this from the outside perspective.

[00:09:45] If you take yourself into this model and you become the sender or you become the receiver,

[00:09:53] then you can recognize that.

[00:09:55] There’s more to the story.

[00:09:56] So the first thing that I want to identify is the expanded concept of noise.

[00:10:01] We talked about noise being kind of an interference in the medium.

[00:10:05] So, for example, static or, you know, if I can’t hear you speaking very well, then that can be a problem.

[00:10:13] This is particularly true over a digital media kind of device.

[00:10:18] If I had poor audio quality, then you would have difficulty hearing this message.

[00:10:23] But there are other types of noise.

[00:10:24] For example, if you are distracted, let’s say you’re trying to listen to this podcast and you’re trying to code at the same time.

[00:10:33] This is something that I don’t recommend, by the way.

[00:10:36] If you found a way to make it work, then good for you.

[00:10:38] But most people have difficulty actually focusing on what I’m saying and on the code that they are writing.

[00:10:44] If you had to recall the last 30 seconds worth of what I just said and you’re coding right now, you probably wouldn’t be able to do it.

[00:10:52] And that’s an example of noise.

[00:10:55] Another example of noise might be the semantic noise.

[00:10:59] In other words, if I use really difficult to understand words or if my enunciation is strange or maybe you aren’t used to, you know, my particular accent or my choice of words, then those differences can act as noise as well.

[00:11:14] There’s other noise.

[00:11:16] For example, if you’re hungry or if you have a bias towards or against the sender.

[00:11:23] This is different.

[00:11:24] This is something that can go undetected.

[00:11:26] You may not even know that you have a bias towards or against a particular person.

[00:11:30] Maybe you identify with them because you know that they come from the same place that you were born.

[00:11:36] Or maybe they look like somebody that you had interpersonal conflict with in the past.

[00:11:42] And so you’re using that, you know, unconsciously using and drawing on that experience to have a negative bias towards that message sender.

[00:11:51] So we aren’t commenting on whether or not this is a good thing or how to.

[00:11:54] Eliminate those biases, but rather that they exist and that it’s important to understand that those kinds of things exist.

[00:12:01] All of this is examples, more graduated examples of noise in a communication model.

[00:12:08] And the final concept that I want to call out in today’s episode.

[00:12:11] And once again, this doesn’t cover, you know, all of the bases of communication models of communication theories.

[00:12:17] You know, there’s tons of research that has been done, especially in the last hundred years or so.

[00:12:22] And I recommend that you go and at least peruse.

[00:12:24] Over some of that research.

[00:12:25] But for the sake of today’s episode, I want to call out, you know, two more concepts.

[00:12:29] And really they’re the same concept.

[00:12:31] But it’s the concept of encoding and decoding that message.

[00:12:35] So I may have a message that I want to send to you.

[00:12:40] That I want to communicate to you.

[00:12:42] And in my mind, I have some kind of meaning that I want to convey.

[00:12:46] There’s multiple ways that I can communicate with the people who listen to Developer Tea.

[00:12:51] Obviously, the most obvious one is.

[00:12:54] Is the one that you’re listening to right now.

[00:12:56] This medium of me recording an episode.

[00:13:00] And then, you know, a week or two weeks later, you hearing that episode.

[00:13:03] And so there is an element of time shifting that exists here.

[00:13:07] But this encoding is not.

[00:13:09] We aren’t talking about, you know, audio encoding here.

[00:13:12] We’re talking about me taking these ideas.

[00:13:14] And translating them from something that exists inside of my head.

[00:13:19] All of my memories and all of the learning that I’ve done.

[00:13:22] All of the associative things.

[00:13:24] Things that I have in my mind.

[00:13:25] I take all of that and I create a message that I convey to you through spoken word.

[00:13:33] And this is not a trivial part of communication.

[00:13:35] And in fact, this is probably the part that requires the most practice.

[00:13:40] Because the way that you encode a message has a profound impact on the substance of that message.

[00:13:48] Let me say that again.

[00:13:50] The way that you encode a message.

[00:13:53] Effectively.

[00:13:54] Creates the content of a message.

[00:13:57] If you take from your brain something that you understand and try to convey it in a way that is confusing.

[00:14:04] Or if you convey it in the wrong language, for example.

[00:14:08] If you speak a different language than me and I encode my message to you in spoken word in the wrong language.

[00:14:15] That’s the most obvious example of encoding and decoding not really matching up.

[00:14:20] But the process of encoding.

[00:14:22] If you want to be.

[00:14:24] A communications expert.

[00:14:26] When you send a message.

[00:14:28] When you formulate a message.

[00:14:30] To be decoded by another person.

[00:14:33] A receiver.

[00:14:34] It’s important that you think.

[00:14:37] For a moment.

[00:14:38] About how they will decode that message.

[00:14:41] This is why understanding another person’s motivations.

[00:14:45] Like for example, understanding the client’s motivations.

[00:14:48] Or understanding your boss’s motivations.

[00:14:51] You know, we’ve said this multiple times on the show.

[00:14:53] People ask all the time.

[00:14:54] You know, how can I get a raise?

[00:14:55] This is a very common question.

[00:14:57] How can I approach the conversation of getting a raise?

[00:14:59] How can I get hired?

[00:15:01] How can I get someone to believe in me enough to pay me or to increase my pay?

[00:15:06] This is a very common question.

[00:15:08] And the most important answer that I can give you is to understand your boss.

[00:15:12] Understand the motivations, the goals of your boss.

[00:15:17] And if you can find a way to communicate your alignment with those goals and what that means.

[00:15:24] This is formulating a message.

[00:15:25] The internal message to you may be.

[00:15:28] I want to communicate my alignment with my boss’s goals.

[00:15:32] Or with my potential employer’s goals.

[00:15:35] Formulating that message internally and then encoding it in a way that the boss or the potential employer is going to understand and ultimately act on.

[00:15:45] And that’s really kind of the measurement of your communication effectiveness.

[00:15:50] Can I communicate an idea well enough to persuade?

[00:15:54] Can I persuade someone to act in a particular way?

[00:15:57] To make a particular decision?

[00:16:00] Not in a manipulative way.

[00:16:02] Right?

[00:16:03] That’s not what we’re talking about.

[00:16:04] If you use these tools of understanding communication in order to manipulate other people in sinister or otherwise self-interested ways, then that’s not what we’re proposing here.

[00:16:16] I’m not a proponent of doing that.

[00:16:19] And eventually that’s going to come around and bite you.

[00:16:21] Somebody’s going to recognize that you are manipulative.

[00:16:24] Instead, if you use these communication tools to better empathize, to better understand other people.

[00:16:32] So that encoding process is not about you creating a message that you would understand.

[00:16:38] That’s the important thing.

[00:16:40] You already understand your own message.

[00:16:42] There’s no value to be gained by you if you encode a message for someone who is like you.

[00:16:48] Instead, encoding your message should be focused on the deep end.

[00:16:54] Recognizing who your audience is is an incredibly, perhaps the most important and fundamental step in bettering your communication.

[00:17:04] So encoding your message intentionally with reference to what this other person and what they’re going to decode that message with.

[00:17:13] Understand their experiences, their motivations, their personality types.

[00:17:17] Really getting to know the people you work with.

[00:17:19] And this is why it’s so important as a developer that you don’t fall prey.

[00:17:24] To this idea of isolationism.

[00:17:26] It’s why it’s so important that you don’t become cynical.

[00:17:28] That you don’t shut off the other people that you work with.

[00:17:31] That you start to understand that other people who are not developers.

[00:17:35] That they affect your job too.

[00:17:38] Thank you so much for listening to today’s episode of Developer Tea.

[00:17:41] I hope that I’ve encouraged and inspired you to start thinking more about communication models.

[00:17:47] To go and do your own research.

[00:17:49] To actually put some time in to better your communication.

[00:17:53] To better your communication.

[00:17:53] To better your communication.

[00:17:54] To become a communications expert.

[00:17:56] This is truly a trait that all great developers share.

[00:18:00] Thank you again to Rollbar for sponsoring today’s episode of Developer Tea.

[00:18:04] Once again, Rollbar is going to help you uncover errors in your code before your users do.

[00:18:10] Go and check it out.

[00:18:11] Rollbar.com slash Developer Tea.

[00:18:13] You’re going to get 90 days for free on the bootstrap plan.

[00:18:16] Thank you again for listening.

[00:18:17] If you don’t want to miss out on future episodes.

[00:18:19] Including more traits of a great developer.

[00:18:21] Part of the Developer Career Roadmap series.

[00:18:24] Go and subscribe in whatever podcasting app you’re using.

[00:18:27] That’s the thing that’s playing your podcast right now.

[00:18:31] Go and subscribe in that thing.

[00:18:33] Thank you so much for listening.

[00:18:34] And until next time.

[00:18:35] Enjoy your tea.