Lately, the projects I've been on have had me taking on roles outside my comfort zone. (I'm not talking about downtown-Boston... with the "Boston Express" out of Nashua, I'm ok with that.)
I've always been most comfortable, myself, in cross-discipline engineering roles, especially in smaller teams where everyone's got good cross-discipline experience. The communications overhead is low. The integration friction is low. Everyone knows how it needs to be done, and people are busy building rather than negotiating aggressively.
These types of tight, focused teams have always had business focused folks who took on the role of principal consultant. In this type of situation, the principal consultant provides an insulation boundary between the technical team and the customer.
This insulation has made me comfortable in that "zone": I'm a technologist. I eat, sleep, dream software development. I take the ability to communicate complex technical concepts with my peers effectively and concisely, very seriously.
So like I said, lately the projects I've been on have yanked me pretty hard out of that zone. I've been called on to communicate directly with my customers. I've been handling item-level projects, and it's a different world. There is no insulation. I'm filling all my technical roles, plus doing light BA and even PM duty.
Somewhat recently, I emailed a solution description to a CFO. The response: "Send this again in user-level English."
It killed me.
I've gotten so used to having others "protect" me from this sort of non-technical blunder. In contemporary projects, the insulating consulting roles are simply not present.
Makes me wonder about the most important lessons I learned during my school days... In high school days, maybe it was retail courtesy, and retail salesmanship in a technical atmosphere ("Radio Shack 101"). In college days, the key lessons might have been how to courteously negotiate customer experience levels, (from "help desk 101").