Language imprecision
One of the nice aspects of a long-term relationship with someone so different from me is that I have been immersed in my wife’s approach to life - an approach very different from my own. One such difference between Karishma and me is how we use language. I’ve always sought to be precise to make my meaning as clear as possible. Karishma spends much less time trying to be precise. For years I was frustrated with her usage of language. Why won’t she just take the time to be clearer? I’m less hung up on it now, thankfully, but it is still a source of friction more often than I’d like it to be.
Precision
While I have always thought of myself as a precise communicator, at times I feel like a sloppy communicator in software engineering. There are lots of software engineering terms that I haven’t always been able to remember or define on-the-spot. I forget exact terms easily, but I remember aspects of a design pattern or technical concepts, and these are usually enough for the other person to understand what I mean. Luckily software engineering culture is heavy on writing, so I can take the time to make my points clearly and with the right language, consulting the internet as often as I need.
Time is a factor here - I can say a directionally correct but likely imprecise thing quickly, or I can more slowly say a very precise thing. I find that the longer I work with someone, assuming we get along and mutually respect one another, the faster and less precisely I communicate. As trust increases, I spend less time worried about precise communication.
I know people who are always ultra-precise in their communication, no matter how long we’ve known each other. I also know people who are never precise; for them language is kind of like a body gesture, and they don’t seem to be bothered by other people correcting them or by needing a few rounds of clarification to get their point across. I’ve had to learn to be more comfortable with both types of people. With an ultra-precise person, I have to be prepared to get corrected, because for them they need that precision to be able to participate in the conversation. With a less precise person, I have to be prepared to give them the benefit of the doubt and to make more educated guesses of what they mean. The best case is that they welcome my desire to understand what they want to say, and they learn something from the process. They point at a direction, and I calibrate their intent.
The tradeoffs of language
The rules of language can constrain the full range of human expression. I’m currently reading The Creative Act, and Rubin talks about how he often makes up words. I love made-up words. Made-up words are no different than official words, we just all haven’t agreed to use the new word. In most cases we don’t, but some words become commonly used enough to be deemed acceptable and eventually added to a dictionary.
We learn language in school and agree on a set of rules so we can communicate and create laws in order to live together. But that doesn’t mean you can’t experiment with language and use it like a paintbrush. In fact, I find myself using different “versions” of the English language around different people. Accents can shift subtly; for example, when I go back home to Northern Nevada or visit the Eastern Sierra in California, I find myself speaking in a more clipped “mountain west” dialect. Talking to software engineers who care a lot about precision, I try to match their level of precision. Around international people, probably as a consequence of living abroad for two years, I speak more clearly and with fewer American sayings.
For some lines of work it’s more important to be precise, for others the limitations can get in the way. In software engineering, language precision is really important in order to create reliable systems and to have a shared understanding of how they operate. But at the same time, there is art in software engineering. The usability of a user interface or even a programming language don’t perfectly lend themselves to precise language. Certain things feel “easy” in one programming language but not another.
What’s the point of this
I don’t really have a conclusion for this post. I just find the topic interesting and wanted to write about it. Hope you enjoy it.