Recently, we've lost a few staff to our partners and even our own customers. Is it a good idea to add restrictions to our customer and partner terms to avoid this happening in the future?

— Anonymous

While losing staff to customers and partners is pretty common in B2B SaaS, I would advise against having any sort of non-compete/anti-poaching clause in your standard customer and partner terms.

First of all, this is bad for your employees. As an employer, you should be competing in talent market by providing a great place to work, with fair compensation and benefits, not trying to lock them in with contracts they don't have any influence over and may not even be aware of. If an employee wants/needs to leave, and their best prospects are with a partner or customer, it's unfair to limit their options.

Strategically, this still doesn't make sense. Diligent businesses will not sign non-competes, especially if they are not mutual. So, chances are you will be restricting your own ability to hire staff from partners and customers, which as your customer and partner bases grows, could become very difficult to manage and ultimately harm your recruiting pipeline worse than it helps your retention rate. You will likely eventually get some of your best employees, who hit the ground running because they already know your product, from customers and partners.

Most B2B SaaS businesses benefit from a strong ecosystem of service providers and integrated solutions. Losing staff to other businesses within your products' ecosystem may hurt in the short term, but it will also likely contribute positively to the overall ecosystem for your product. For example, it can be really difficult for service providers, who are recommending your product and implementing it for customers, to train their staff as thoroughly as you can internally. Occasionally losing staff to partners who are servicing your customer base could actually be a better use of their experience in the ecosystem for your product, especially if your employees are leaving for more senior roles at companies that work with your product anyway. This is especially beneficial when your staff are leaving to start their own businesses within the ecosystem.

Another thing to consider is whether your staff would've left regardless of whether a customer or partner offered them a role or not. There's a good chance that these employees left because of unrelated reasons, and simply chose a role with a partner or customer because it seemed like a logical way to apply what they've learned during their tenure with your business. From this perspective, if you were to make it difficult for them to do this, they'd probably be more likely to work for a direct competitor, as an alternative pathway to reapply their skills. So, your former employee now works for a competitor, rather than a friendly party from within your ecosystem. Not a good outcome!

In the end, while I understand this can be disappointing and feel like a betrayal, staff churn is inevitable, and movement of talent around the ecosystem you're building for your product can be a really positive force. For all of these reasons, anti-poaching clauses are a bad idea.

Note: This is not legal advice and doesn't consider whether these types of agreements are even lawful or enforceable, which will vary by jurisdiction.