Big picture vs big picture aka why do developers misunderstand each other so often?

Tamy Nagy
Nerdeller
Published in
3 min readJun 27, 2023

When talking about code, the big picture — that is taking a step away from the actual executable task and having a bird’s-eye view — is very important. But what exactly “big picture” means? Even though it is used a whole lot of time, there is not one widely accepted definition. What even more interesting is that big picture means different things for people at different level.

When you have limited experience and limited understanding of how a whole complex software is being built, your big picture will be very narrow — while on the other end of the scale, someone with architectural experience will have a bird’s eye view that is so wide and complex, it is intimidating for beginners.

It is normal and completely understandable. We can not include things we don’t understand or don’t even know exist in our big picture. But no matter how obvious and natural this is, it leads to misunderstandings and miscommunication.

The importance of ubiquitous language

It is not easy and not even always possible to talk to everyone in a level and language they would understand. It is especially hard for seniors with decades of experience to remember how juniors or even mediors perceive the world of programming.

I mentioned the “big picture” in a recent article and got a feedback from a senior with architectural experience, that the big picture means something different for them. It does. If I am being honest, it means something different for me too. But I was thinking about the people I mentor, the people I help to get to the next level — not myself. Writing with them in mind, I used the big picture as it would be their understanding, not mine.

This is a very small and unimportant misunderstanding — but it does highlight the root of all misunderstandings. When we use words and expressions that can be a subject of different interpretation, we fail to communicate clearly. If it is just an article on the internet, it doesn’t really bear much weight, may even feel like nitpicking on semantics. But we do the same things in our daily work, where you don’t have time and space to explain every word and your interpretation of it.

There should be no “my understanding”

A successful team is where each member of the team have the same understanding of an otherwise unubiquitous sentence. It may mean a bunch of different things for outsiders, but it means the one exact same thing for everyone in the team. Not having clear guidelines of communication, not having a shared language in your team is a sure-fire way to misunderstanding and conversations about “what I meant was…”. It is a waste of precious time and energy, it is PRs that are open for days on end because there was no shared understanding and everything needs to be revamped.

A shared ubiquitous language used across the whole company — including the business team as well as the development — provides a safe environment. Once everyone knows how to say their piece and be understood entirely, they will feel safe to speak up and share ideas without being afraid of having to go into a discussion about what certain words and expressions mean for them personally.

It unlocks the potential of the whole team, raises everyone to the same level when communicating, it is honestly the best thing you can work on to make exchange of information a breath of fresh air instead of frustrating talks in circles — and to make your team as productive as possible.

--

--