Effective communication

Greetings everyone!!

Can you good people recommend a book on effective communication? Being a good communicator is an essential part of being a good software developer! Effectively explaining a technical issue is not so simple as it seems. This is something I sometimes struggle with.

I wonder if Codecademy would consider having such a course on their catalog, if one is possible…

Peace :heart:


Do you mean explaining technical concepts to a non-technical audience?

1 Like

Hi @lisalisaj.
In a work environment and also to a non technical audience, since both cases will be mostly likely to happen. We will sometimes be explaining issues to a coworker that in which case we want to be as clear and concise as possible and sometimes to a client in a manner he can clearly understand.

Gotcha, and I’ve been there, on both sides. :slight_smile:

Whenever I have to explain something technical to someone non-technical I try to remember to be empathetic and understand where the other person is coming from & what they already know. I found/find that if I explain things using concepts that they already know, then they’re more likely to make connections and understand where I’m coming from. I also think about how when I learn something new…my brain scans what I already know and looks for correlations to the new material that I’m presented with. It might also be worthwhile to ask a few questions of the people that you’re going to present to/talk to to see where they are; know your audience.

I found some articles that might be useful for you:
this is more about writing for developers:


This too. It’s a few years old:

And this too:

I also bet there’s a bunch of good videos on YouTube that could help.


@lisalisaj Thank you for the great advices and resources :pray:


Sure, no problem! :slight_smile:

It’s good that you brought this up as I’m sure there are more people here who have the same questions that you have had.


Hi there!

I work as a Training Analyst and have been getting my feet wet with the full stack development side of things. I have experience with coding as a database developer, and I used to teach a communication training to IT professionals. In practice, while it might be “more efficient” to separate people based on audience of “technical” and “non-technical”, I’ve found this to be not all that useful. Instead, I think what @lisalisaj mentioned is very effective for all audiences.

When meeting someone new, I always start out by asking them what do they know about X? That helps set the stage for what level of complexity we can get into. From there, it’s all about tapping into things they already know and making connections for them as much as possible. I usually like to say, if you can’t explain something so clearly that a 5-year-old could understand it, you probably don’t understand it well enough yet. The last thing you want to do is assume more technical expertise than they actually have and overwhelm them with complexity. If you start speaking over someone’s head, they’ll quickly get lost and may disengage if they’re not motivated to continue listening. Keep it simple, silly. Leave the complexity to the computers, and let us humans enjoy our more flexible communication styles. Even fellow developers appreciate other developers communicating in simple terms.

The last thing I’ll mention when things are getting really complex is - “when in doubt, draw it out.” I’m a big fan of flow diagrams and stepping through what you want to happen or what you believe is happening. Doing this in a visual form is a great way to have others follow along and share their thoughts as you go and you can course-correct if you’ve missed a detail along the way. This is really useful for pair-programming too to make sure you’re both on the same page.

Anyway, those are a few thoughts I had on the subject. I’m a big fan of Alan Alda’s book “If I Understood You, Would I Have This Look On My Face?” which gets into creative communication methods for scientists and technical people. We might think that offering a very accurate technical overview is helpful, and it might be for our own understanding, but when sharing information with others, it’s important to keep in mind, what do they really need to know about the topic, and then finding a way to connect with them using their own experience as a base.

I’m always up for talking more about this topic too, it fascinates me! :smiley:

  • Mike

Thank you so much for sharing your experience on this!
Great advices! :+1: