Have you ever heard of Douglas Englebart?
If yes, I know right?
if no, here’s a recap:
Douglas Engelbart was brilliant engineer and inventor. He held an event that will be dubbed “Mother of All Demos,” where he showcased video conferencing, internet file sharing, and collaborative real-time editing. In freaking 1968.
To give you context, this is how Minicomputers look like those days:

Oh also, did I mention he invented and demoed the mouse? Yes, that mouse.
That demo was, and probably still is, the best presentation an inventor ever gave for their inventions.
Presentation is a skill—one not easily recognized by everyone.
The Importance of Communication
Another example where this skill plays a crucial role is when someone tries to get an idea across. It doesn’t matter how brilliant an idea is if you cannot get others to understand it.
I’ve seen situations where a group of engineers was trying to solve a problem, and they missed someone’s brilliant solution just because that person couldn’t present it well.
I am not immune to this either. Once, I was writing a technical spec for a “new” feature in a new service. I had written the code before in another service and had been refining and optimizing it for a while. So, I came in thinking that I knew the perfect solution and that others would immediately understand it. The problem? I didn’t know enough technical jargon, and the spec was going to be reviewed by senior engineers with many years (some decades, even!) more experience than me.
I sent my technical spec for review smugly, already preparing to write the code. And to my horror, the spec was bombarded with criticism and finally deemed not good enough. A senior engineer with less expertise in that particular area took the lead and implemented the feature another way.
To be clear, it wasn’t just because of jargon. Jargon is important, especially to unify ways to convey complex ideas to diverse people (think about how mathematicians from different areas of expertise use the same math notations). I didn’t give good enough context for how my solution could solve problems.
Tips to Improve Communication
Based on my experience, here are some tips that you can use to improve the way you communicate your ideas:
1. Give Context
Most of the time, the other party that receives your idea, written or verbal, does not have the same context as you. Unless you are absolutely sure, it is always best to over-communicate. Assume that others do not know what problem you are trying to solve and why that problem is important to solve (and if you also don’t know, it would be a good exercise to always ask for clarifications).
The worst type of not giving context is to immediately offer a solution. Imagine someone suddenly comes up to you and says, “I am going to turn off your DB.” Your response would be, “What? No! Why?” Even though that might be a valid solution—for example, because that DB is not used or that the person figured out that using a cache made more sense in that case.
Taking it even further, I have stopped some code from being merged because the engineer had already implemented a huge solution without writing a spec or consulting others beforehand. I knew it took hard work to make, and I knew the code most likely solved the problem we had. But a tech spec will surface if there is a better solution, and especially, the team who will inherit the code will have a better understanding if they need to make modifications in the future.
2. Prepare Some Data
One of the worst things to help others make a decision is a sentence that begins with “I think” or “I feel,” especially if not accompanied by any data. If you are an expert who commands some respect, that is even more dangerous. You have your biases, and others will believe you.
Spend some time gathering data. Or write some throwaway benchmarking code to get the data yourself. Even though code is deterministic, your specific problem might have special needs.
I have found cases where going the extra mile of data collection eventually speeds things up. For example, get a cost comparison between contending solutions on top of their benchmarks. Sometimes there are different angles you can present to help you convey your ideas. It won’t be easy or obvious to figure out from the start, so spend enough time to do your research!
3. Be Prepared for Discussions
One of the greatest gifts from scientists of the past, from ancient Greece up to the Renaissance, is the scientific method. In it, you must be prepared to present your idea for peer review and eventually admit if you are wrong.
Unless you are working alone, discussion is inevitable. So be prepared for it, and have disagreements professionally (and more importantly, backed by data!).
The Aftermath
What happened to the feature? Fast-forward several months, and we had to implement optimizations based on my original feature from the past because the new feature was not performant. Had I packaged my spec better, we could’ve saved a lot of headaches.
Communicating ideas well isn’t just about knowing the right solution—it’s about helping others see it, too.
Leave a comment