Engineers and programmers in particular are generally recognized by popular culture as being different from others. Which implies that other people are different from us. It's worth keeping in mind, when communicating with non-engineers you should always understand your audience.
Non-engineers are smart, but aren't as good at creating technical things as we are. We do things. They sell and handle things, count and manage things, but they are not manufacturing experts. They don't work as well as a team as engineers (there are probably exceptions). Their social skills are generally as good or better than those of engineers in environments where people are autonomous, but their jobs don't always require practicing the kind of intimate and precise communication and careful subdivisions of the tasks we perform.
Maybe non-engineers are too eager to please, and you might intimidate them. Just like us, they might say “yes” without really thinking it, to please you or because you intimidate them a bit, and then go back on their words.
Non-programmers can understand technical things, but they don't have what is so difficult even for us: technical judgment. They understand how technology works, but they cannot understand why a certain approach would take three months and another three days. (After all, programmers are also horribly anecdotal about this type of estimate.) This represents an excellent opportunity to create a synergy with them.
When talking to your team within your php development company, you will mindlessly use some sort of shorthand, abbreviated language, which is effective because you share a great deal of experience with technology in general and your product in particular. You have to make an effort not to use these shortcuts with those who do not share this experience, especially when members of your team are present. This vocabulary creates a wall between you and those who don't share it and, even worse, wastes their time.