California has a huge advantage in the form of no non-competes: https://www.vox.com/new-money/2017/2/13/14580874/google-self..., NYC has a huge advantage in the form of the subway and sheer size, and so on. It's surprising to me that more states don't outright ban noncompetes and build out subway networks, but they don't.
DC's non-compete ban should go into effect later this year https://www.jdsupra.com/legalnews/d-c-mayor-signs-bill-to-ba... and they have a subway network. Will be really interesting to see what affect this has (though of course it'll be difficult to tease out).
One problem is the dc metro tech industry is, on the balance, in Virginia, some in DC proper and a small amount of non-Federal in Maryland (less probably due to the taxation in MD).
GA modified their constitution in 2011 in order to make non competes broadly applicable and enforceable. Software engineers probably fall under their "company professionals" category that allows for non-competes. They also removed time limits on the non-compete; non-competes can be valid for as long as the trade secrets you were exposed to are still trade secrets (so can be forever).
GA in general bends over backwards for corporate rights at the expense of the commons. It's probably one of their biggest issues holding them back economically these days IMO as someone who grew up in GA.