As a fellow developer, it's unfortunate but true that many non-technical colleagues find it difficult to communicate with developers. Developers often try to explain things from the internal structure rather than focusing on the final outcome, and this makes communication challenging. However, when developers are labeled as poor communicators, it can be frustrating. While it's true that communication means mutual understanding, and if communication fails, it’s hard to argue that the ability is lacking, I want to shed light on why developers communicate the way they do.
When developers explain things in a complicated manner, it's usually with the intention of providing a better, more thorough explanation. To build trust and communicate effectively, empathy is necessary. Developers often want to explain in detail the effort required and what needs to be sacrificed to achieve something, hoping to gain empathy from others. It might seem surprising that these 'machine-like' developers are seeking empathy, but they are. However, explaining to someone without technical background often forces them to go around the point with simple words, and most developers don’t put in much effort to simplify things, which can be a problem.
Why is providing better explanations important? Consider this: Many other teams might not care much about "technical debt," which developers need to manage. When planning business or services, developers might want to discuss the long-term risks of accumulating such debts. Non-developers usually focus on how quickly new features can be delivered to customers, which is indeed the most immediate concern. However, if you think that only the developers should handle technical debt and the business people should only worry about business, you're heading toward a problematic conclusion.
Looking at the success of global tech companies, it might be worth investigating why they succeed. Instead of writing off developers as poor communicators, wouldn't it be more strategic to give them a chance to speak up and involve them as part of the business team? I don’t believe developers are bad at communication. After all, they have gone through the same education and are now adults in society, so why wouldn't they be able to communicate? I've seen many developers who can crack jokes and lighten the mood during discussions.
I have had multiple collaborations with engineers from other companies, and before attending meetings, I often hear the following:
"Be careful, the CTO and engineers in that company are hard to communicate with, and their attitude is quite strong."
However, in all the meetings I’ve attended with these engineers, I’ve never felt uncomfortable. Even after attending dozens of such meetings, I never once felt that their attitude was harsh. When I proposed working problem-focused with logical reasoning, the engineers welcomed it without resistance. I felt they were relieved to finally meet someone they could communicate with.
Ultimately, communication is about understanding the background of the other person and adjusting your perspective to meet theirs. Developers, planners, and business people alike all need mutual respect and consideration.