Who

Code is Comms

Name a team sport where the players work together at peak mental condition to defeat another team with the same intent.  Basketball, football, soccer, volleyball, hockey, field hockey, … the list goes on… e-sports, CTFs, airsoft…

Now answer this: Thinking about the best teams and best players, what’s their communication like in-game? 

Is it vague? Is it drawn out? Is it cryptic or ambiguous? 

Duck no. 

Communication efficiency is not just essential but critical to be at the top. 

Top-performers - sports and otherwise - don’t just get their comms out there efficiently, they also understand comms efficiently. 

Efficient communication requires accurate understanding, too.

When somebody yells “Through!” in a soccer match, every pro knows exactly what is happening and how they are supposed to respond in that instant. 

When somebody yells “Monster!” in a CS:GO match, every pro knows exactly where the opponent is and their role in the team’s response. 

When somebody reads this.newUser$.pipe(take(1)).subscribe() they haven’t the slightest clue about the intent behind the code. 

Code is the language developers use to communicate with each other.

Yet somehow communication efficiency takes a mulligan just because our means of communicating is restricted to an arbitrary machine language syntax.  As if that’s different from any other language. 

It happens that the language is also meant to be interpreted as execution instructions, but that’s because it’s inefficient to repeat those instructions and it becomes more likely for them to get out-of-sync when we’ve written it twice. 

Effective programmers go beyond the “write-code-to-get-it-to-work” mode and spend their time in the “write-code-that-communicates-what-was-intended” mode.  Mostly because time spent in the latter reduces future time spent in the former (multiple times over). 

Code should communicate efficiently to the people reading it. 

If you want to be a top-performer or if you’re trying to build a top-performing team here’s the real advice: spend time on comms. Code is comms. Programmers especially, our code isn’t shouted in the middle of a break-away to the basket, transient and shortly inapplicable because of an every-changing context. Our code is written, persisted, version-controlled, backed up, and ultimately read and changed by us and other programmers many times over. A small inefficiency in a programmer’s comms is compounded - taking everybody’s time, multiple times.