I too am a programmer, and Cherry MX Browns are the perfect programming switch (IMO).
I spent most of my career coding and don't see why Cherry MX Browns would be "the perfect programming switch". They may be your favorite switch, but I don't see how that would have anything whatsoever to do specifically with "programming". I consider the keyboard layout to be of supreme importance for coding, with different types of coders having different preferences there. As to the key switches, I would think it comes down to which key switch you like personally, but I don't see how, beyond your personal preference, any switch has any advantage with respect to coding.
I personally love the IBM buckling spring boards. Of those, my favorite is the Model F AT, because of the numpad, without the cursor pad. Actually I use the cursor keys on the numpad, and the regular number keys up top when I need to use numbers - or in the case of extensive number inputting, switch the numpad to the numeric mode. Tenkeyless boards do not work nearly as well for me, because of the lack of the "numpad" where the cursor keys are laid out in a perfect position for coding, in my opinion. When coding, as opposed to just typing text, I find I use the cursor keys VERY extensively. They, along with the positioning of certain heavily used symbols, are the absolute most important factor with respect to layout.
Now perhaps different coders use different methods of moving the cursor around. For me, I use the mouse very little. I constantly am jumping around in a file, up and down, to the beginning and end of line, etc. using the cursor keys. Take a look at the standard cursor pad. The Home/PageUp/PageDown/End are separated from the Up/Down/Left/Right keys. It is in effect 5 rows of keys your fingers have to cover while cursoring. Now look at the cursor keys on the Numpad. Those keys are laid out in a perfect 3x3 matrix, which is absolutely the best layout possible in my opinion for extensive cursoring. The Ins/Del keys are on the 4th row if you need them, of which I personally sometimes use, but not so extensively.
During a typical day of coding (20+ hours in my case), many hours would be spent just cursoring around. Those extra two rows and a not so logical layout of the cursor pad mean much more fumbling around and spending much more time. If I'm 30% faster with the numpad cursor keys, that means I'll save more than an hour a day with it over the cursor pad. Quite a huge difference in my case.
So back to my personal preference, the IBM AT, it isn't a perfect layout, being it has the F keys on the left, not up top, and doesn't have F11, F12. What it does have (actually doesn't have) is no useless cursor pad hindering me by having to skip over that area when switching between the regular keys and cursoring. However, if I had to lug a keyboard between work and home, an IBM AT board would be way down on my list. I'd probably be much more inclined in that case to go with a standard IBM Model M, and live with the useless cursor pad. But even then, a full-size Model M is pretty bulky and heavy. I guess I'd probably spend more time in figuring out how to buy two and be able to leave one at the office.
If I was designing my own keyboard, with coding specifically in mind, I would make a keyboard which had the cursor keys laid out in the numpad layout, but transposed over the standard area and accessible as a layer (such as over the 'UIOJKLM,." keys). With one key to toggle the cursor mode on, do my cursoring, without the need to relocate my right hand any, then toggle the cursor mode off to go back to regular typing. Some boards have something similar, but unfortunately for me it doesn't duplicate exactly the numpad layout, and even if it did, the standard staggering of the keys I think would create some problems. So ideally, I'd need to add to that keyboard an "ergonomic" layout where the two halves were separated, and there was no staggering. Something like the uTron, but with full-size keycaps, not the reduced-sized ones they use which I think my fingers would have some problems with.
Ok, that's a long explanation as to why I prefer a certain board for doing coding. I don't expect everyone to agree with me, but for someone who hasn't yet become fixated on a particular layout, it's something to consider. Just for fun, you might want to do a test...time yourself for doing a certain cursoring task with the cursor pad, and then with the numpad. Of course if you're already predisposed to one over the other, it might not be a valid test.