I've been debating where to put this. Maybe the Community Center. Feel free to move if necessary. I'm sticking it in Software Development because it has to deal with Software Development, but it's more of a general topic involving different levels of expertise and familiarity, what one's "lane" is, and dealing with people diplomatically.
I'm currently trying to soothe over some hurt feelings and trying to solve some issues purportedly involving computer expertise, but I think it really has to do with something deeper, ie human dignity.
The specifics aren't too important, but I and some other programmer types taught a few C++ basics and used a few libraries like Allegro, basically creating a wrapper so we could teach some of the basics of programming, give them an API to use, etc., etc. They would be programming in C++, but basically using C++-lite, a subsegment of the language and our API so we could get them off and running quickly and they would not be overwhelmed. As intended, the wrapper has public, private, and protected access, encapsulation.
I recently fielded phone calls from a programmer and a business owner who were very upset with each other. I had made the introduction and they seemed to be getting along well until the business owner was getting frustrated with his program not compiling and asked the programmer why. Apparently he'd been trying to access a private data member/function, so the programmer explained public/private/protected and how he had made that code private "to protect you from yourself so you can't screw anything up. Just don't touch it. You don't need to touch it or know about it or care about it. It's for me, not for you." Then he pointed to the public function and explained that that was the way to do what he wanted.
I think it's partly a lingo problem. "Protect you from yourself" and encapsulation/hiding details arren't insults and aren't intended as such, but to a non-programmer and a BOSS, it rubbed him the wrong way. From the boss's point of view, he's the boss, he's paying for the programmer's time, it's on his computer in his office, he's the guy using it, it's a legitimate question, so why is the guy he is paying to answer questions not answering them? Previously, the people in the office were getting infected with malware because they were poking holes in the firewall not understanding the danger, so he fixed everything up and changed it so they couldn't do that anymore. The next time they tried, they were blocked and couldn't change things around. Only he could. From his point of view, he was doing his job. From their point of view, he's changing around THEIR computers and not telling them how and why. It was a respect thing.
I imagine I can mediate all this and this is actually a miscommunication. I know both of them and I doubt they intended to piss each other off. The business owner is feeling dissed and the programmer is puzzled as to why and that's getting in the way of the actual communication. Like a lot of programmers, he can be blunt and is not that great at explaining things to laymen, so he's probably figuring they're challenging his professionalism and resents it, plus he can't imagine why they care and why they're poking holes in firewalls and messing around with code when they don't know what they're doing. He IS protecting them, plus he's the guy who's stuck fixing whatever they screw up.
Anyway, longer post than I intended (as always), but I'm wondering how often other people run into this problem and how they handle it.