I agree, and this is a good thing.

However, there are reasons for this. It's quite difficult to gain admission to a top law school, but the people who apply tend to come from very low attrition majors like history or literature. Furthermore, attrition rates from elite law schools are vanishingly low - less than one half of one percent. Lastly, interviews in law firms are actually interviews, not a series of oral exams.

You don't need a degree to be a programmer, but it helps. Think about what you had to go through to get that degree. The curriculum is relatively standard and is highly rigorous at all "reputable" schools - and by that, I don't mean elite, I just mean real CS departments. Attrition rates for CS majors is very high. At the graduate level, attrition rates remain quite high - PhD programs have an attrition rate of 35%-50%, depending on the field - and that is true of elite programs. Athough MS attrition rates are lower and I've found less data on them, what I did find suggested about 30% - and keep in mind, you have to make it through a high attrition major to apply.

On to interviews. I actually did go to Berkeley for an MS, though not in CS (I did the MS in IEOR and as a cs-ish math major for undergrad), and maybe that was instrumental in getting an interview at Google, but it sure didn't exempt me from the same technical grilling everyone else goes through! It was about 5 hours of what I considered to be genuinely difficult whiteboard exams. I actually felt OK (not great) about my performance, though it was ultimately a no-hire.

This is why I don't agree that programming has a low barrier of entry, especially if we're going to talk about a bimodal distribution. Where you went to school is less important, but that's because getting through is so difficult - we don't have these vanishingly low attrition rates in our field, even at elite programs. And the interview process is very, very difficult.

Great analysis from this post, and very interesting data, but I think it does miss the mark when discussing why programmers are well paid at the elite level. The claim that "U.S. immigration laws act as a protectionistic barrier to prop up programmer compensation" is indisputably true, but I don't think it explains much - if this is true for programmers in the US, it's just as true for every other field. In fact, it may be the reverse - programming does have the H1B visa, so if anything I'd say programming is subjected to a higher level of international competition for jobs located in the US than other fields that require "current right to live and work in the US".

Ultimately, I think people confuse the absence of formal barriers backed with the force of law with the absence of barriers in general. Considering what I went through to get my degrees (in high attrition rate fields), and the kind of problem solving, math, programming chops, poise under pressure, and presentation ability it takes to get through google-style interviews - you know, I really don't think we face considerably lower barriers to entry than law. Different, more porous in many ways, more fluid. In law, you must (in general) attend a law school, whereas in programming, there are multiple paths toward getting that knowledge and those top jobs. But it's actually not at all easy to break into the elite level of this field. I'd say barriers to entry are actually quite high.