Communication among humans consists of both verbal and non verbal components. The latter may sometimes express concepts or ideas not conveyable by the former. This is also true in Software Engineering. This paper first analyses theoretically the role of non verbal communication in software development teams, using the framework provided by distributed cognition as a conceptual palette and as a point of reference. Then, it presents an empirical investigation involving 38 IT professionals from Russia, sharing their experiences in communicating and interacting when developing software artifacts. The results of this empirical investigation are consistent with many of the ideas underlying a distributed approach to cognition. In addition, our findings provide valuable insights to make communication more effective in software development teams, while defining a new framework for follow-up studies.INDEX TERMS Software engineering, software development, non verbal communication, empirical studies.