One of the things about running a business is that regardless if it is a real estate business or not, you are going to have to fire people. It's probably the worst part of being the “boss” but it's necessary if you want to have any success at all.
I can tell you that those bosses who are too afraid to let go of ineffective employees don't succeed in this business or any other. People who aren't getting the job done, are dishonest or unethical, unwilling to play by the rules or are infecting the rest of your staff with a negative attitude are effectively stealing from everyone else.
It is not fair to you or the rest of your staff to keep that person onboard, and usually, it's not fair to the person you're firing as this job is obviously isn't the right fit for them.
The first thing I should say is I have almost never heard of someone firing too soon. It's almost always too late.
Once I read that the time you should fire someone is the first time it seriously crosses your mind. I think that's too fast, but there's a nugget of truth in it. People almost always wait too long. So here are my recommendations from my not so pleasant experiences letting people go:
1. Don't Just Assume Someone Is Doing a Good Job
It is important to have ways to measure performance. Some employees will try to hide information from you and this is almost always a bad sign. It makes them appear more valuable, but really they are hindering you. Bad employees will try to make you feel like they are irreplaceable or that the rules they are breaking don't matter (or that they actually didn't break them on some technicality). But where there's smoke, there's usually fire. If you are always having certain problems with a certain employee, it is probably more than a coincidence. Investigate it, trust your gut and don't be pushed around by a bad employee.
2. Don't Wait Too Long
As mentioned above, if you know they aren't working, it's time to make a change instead of hoping they will change.
3. They Should Know Beforehand Something is Wrong
It is always a good idea to meet with employees who are not getting the job done or have an attitude problem first to 1) explain to them the problem in hopes they change and more likely 2) make it clear they are on the edge. You certainly don't want to surprise them when you let them go. For unethical behavior though, skip this step and just let them go.
4. Don't Justify Yourself
There is an immense pressure to explain why you are letting someone go when you actually do it. Avoid this. You should have already done it, but even if you haven't, people don't want to hear that they have both lost their job and weren't any good at it. This will just make them defensive. Try to be as diplomatic and gracious yet as firm as possible. Words like “I have decided” and “it is no longer a fit” are good in these situations.
5. Don't Say It's Hard For You
No one wants to hear how hard it is for you to fire them.
6. Take Extra Care in Hiring
The easiest way to fire someone is to not have to. Make hiring a priority. Don't just look to hire when you need someone, always be on the lookout for A players. I highly recommend reading Who by Geoff Smart and Randy Street for a how-to-guide on hiring.
You will probably feel very anxious beforehand and have a strange mix of relief and guilt afterward. This is natural from what I can tell. Unfortunately, it's just part of doing business. Fortunately, those feelings will pass.