Learning a new Language

All the projects I have ever worked on have never been technically difficult (in fact I think that most of them in the world are not). The biggest challenge I find is learning the language that all the people who work daily on the project speak in. To put this in context, after rolling onto my newest project, my biggest problem has been trying to understand what it is exactly that everyone speaks of because, to me, it almost seems like a completely different language. There are certain patterns that I am trying to use to come up to speed quicker. I am sure that there are established learning patterns, but I thought it might be useful to share some of the ones that I use.

Decode the Acronyms – Most languages have an abbreviation for extremely repetitive terms that are important to people in the domain. Decoding acronyms helps with the next pattern of Defining the Vocabulary.

Define the Vocabulary – Think of the ubiquitous language from Eric Evans’ Domain Driven Design and simply put, is used to translate special terms people involved with the domain into something a person who does not know anything about the domain can relate to. Fortunately for me, the Vocabulary on my current assignment has been documented pretty well. I find that repeating them in daily conversations with people who know about the domain (and can correct me) is a useful technique for truly understanding what they mean.

Adopt the Grammar – Common words are especially dangerous on a new project because they are things you assume mean one thing but when put together in a special way or in a different context, can mean something totally different. Adopting the grammar is a lot more readily accomplished once you have learned the vocabulary.

Discover the History – New languages emerge because once they are understood, they can be a more effective communications mechanism for operating in the same context. Discovering the history is about finding out where the vocabulary and terms come from, and why they are used in the way that they are. These factors can come from many sources including technical, political, environment or just conventional.