Member-only story
Bad Messengers Will Be Shot
(and their messages burnt)
Last month I wrote about That Crabby Engineer, whom managers hate but are often crabby because their managers have failed them. Despite the article being written for those managers, a lot of the feedback I got was from engineers. The description of the misery when you want things to be great, but can’t make them great struck a chord it seems. And not a few of those engineers asked me how I would do things differently if I were the manager, or how they could help themselves.
First things first, if you’re a crabby engineer who is having a conflict with your boss or your team, you should work with them. They’re the ones you’re having friction with, not me. And while I’d love to tell you that all managers have reasonable expectations for their staff, it just ain’t the case. Listen to your manager. Ask them what they expect. Ask them how you can do that. Keep your resume up to date, just in case.
Good? Good. With that in mind, I’m going to go over one of the most valuable things I’ve learned over the years. Not the most valuable thing I’ve learned, but top ten; maybe top five.
But we’re going to take a little tangent before that so that you can have some context. We’re going to talk about Information Theory for a moment. Not formal, proper Information Theory — just my mental model of it which will hopefully help you understand the advice that comes after.

Information theory is the study of information (duh). How it’s stored. How it is communicated. How it is measured. Pretty much every engineer knows that a bit can represent two values (usually true/false) and that you can combine bits into exponentially more possible values. Most engineers understand that compression algorithms can’t infinitely compress data, since you need some encoding that contains all of the information you want to store. And some engineers understand that human languages follow the same sort of system (encoding around 39 bits per second when spoken).
What is your goal when you communicate? For computers, this is pretty straight-forward: you have some sequence of bits on one computer and you want to replicate that sequence of bits on another computer. You want to copy information from one place to another.