@phamENG Yes, I had seen that the ruling left those in place, which seems more fair to me as those are less one-sided and more of a mutual agreement. I agree that a key employee/shareholder/partner abruptly leaving for a competitor or dying, etc. can have serious ramifications for a company.
However, when I left my company it hardly caused a ripple. I had spent a fair amount of time transitioning my clients to the "next generation". When I left, my former partners encouraged me to open my own business despite the non-compete in our shareholder's agreement(because I still wanted to do a little consulting, not suddenly stop being an engineer), but we all knew I wouldn't be directly competing with them. As a one-man shop, I can't take on the types of projects they do. I still work for some of the same clients, but on their small jobs that are profitable for me (a guy with little overhead) but not for them (who can do projects for 10x the fee). The small jobs I'm doing are just distractions for them, but they would often take them to keep the clients from going elsewhere.
Which brings me to my tangent: I'm a big supporter of mentoring the younger engineers who work for you. When I started my career, I had a senior engineer who would check in multiple times if he was on a long weekend, vacation, etc. It was slightly insulting because it implied he didn't trust me to be able to handle things. When I started my own company, I always felt that if I needed to check in when I was away, it meant that I hadn't mentored the younger engineers adequately. They should be able to handle any issues that came up. Certainly there are unusual situations that arise (and I made sure they knew they could contact me if they did) but I would be a little disappointed that I hadn't taught them enough if they needed my help while I was gone for a week or two (unless it was one of those unusual circumstances).