In this post, I would like to share my thoughts about one particular presentation by Rob Zuber, with Circle CI, about Ubiquitous Language.
Being an avid reader during my childhood, I have been always interested in words. I remember reading for a whole day during the summer vacations. It was magical how a bunch of symbols became words and then, stories in my mind. Suddenly I wasn’t reading anymore but I was falling through a rabbit hole or in the attic writing plays for my sisters.
Later as I was learning a new language, I was amused by how vocabulary can transmit complicated ideas and represent different cultures. Our language can also shape the way you think. It is very interesting how Lera Boroditsky, a cognitive scientist, describes some examples in this TED talk.
Today, being a native Spanish speaker living in the Silicon Valley area, I can understand the impact of this. I’ve experienced first-hand how the lack of proper language skills can temporarily change your personality. I had always considered myself a funny person (at least, I always make fun at my own jokes). When I first moved to California, it was really tough, especially with my sense of humor, based on sheer silliness. I was so frustrated when a joke came to my mind and I was not able to express it, or even worse, when no one laughed at it.
That’s why Rob Zuber’s presentation on ubiquitous language caught my attention.
The concept of ubiquitous language in software is not new. It was coined by Eric Evans in his “Domain Driven Design” book, where he describes the practice of building up a common, rigorous language between developers and users.
This idea is still relevant today. It is extremely important to create a framework to talk about words/entities and share understanding among the stakeholders of any project.
Building a common language and understanding is particularly significant because multicultural teams are the norm in the technology industry. Therefore you also need to consider the language barrier variable. So to help avoid misunderstandings and improve communication, it’s important to set aside some time at the beginning of the project to build a common glossary of the project domain.
Another good practice is to build a book club and meet to talk about new methods and techniques that could improve the team’s performance. This simple action will assure that every member is on the same page before introducing any changes in the dynamics.
Last week at Tech Crunch Disrupt, the winner was a startup called Forethought. They are looking to reshape enterprise search with AI and natural language processing and understanding. Although I think this tool will be extremely useful, and also very exciting because it solves a problem we face everyday (finding information buried in companies workflows), I can’t help thinking that AI and automated processes still have a long way to go to understand human interpretation differences – or in other words, the “nuance” that we take for granted in our own native languages (and that, as I’ve found in my experience, is hard even for humans to obtain, when speaking another language!)
Amongst this discussion of language, I have a happy ending for this blog post and my language experience. Last week one of my new friends, who is a native English speaker, told me: “Oh my goodness you are so funny” (joke too silly to tell here).