I only have had my surface for a few days but I will give you my take on it.
So far I usually have done my programming work in a laptop (m11x r2) so I am somewhat already used to a small form factor. Granted if I am working at home or the office I usually have an external monitor going.
Here's my take on the surface so far (this is not necessary a complete list since I've used the surface for such a little time span):
Pros:
- I love the portability. Just yesterday I was able to work with no power for about six hours and I still had battery left. This is amazing.
- When working with no external monitor I thought the space might be too limited but it has actually worked OK. I really like the screen a lot, everything looks super sharp. Granted I don't do split screen as often as when I do have an external monitor but it is perfectly workable.
- I like typing on the type cover.
- Having the two levels of inclination has been extremely useful.
Cons:
- Because you have to set high dpi settings (I guess technically you don't
have to, but if not, everything on the surface will look too small, or at least it does for me), when using an external monitor (24" in my case, 1920x1080) everything looks just too big. I think Microsoft really needs to work on this kind of scenario. At the very east they should make it so that it is not necessary to log off when changing dpi.
- This probably won't affect a lot of people and it is minor but the type keyboard has no insert key. Since most of my programming work is done directly on a server through ssh I use putty/kitty and the paste command happens to be <shift+insert>.
- I wasn't sure if to list this as a con or just as a general observation but it is definitely worth it to spend a bit on getting a Bluetooth mouse if you are used to having one. I don't find the track pad in the type cover to be that nice, it does its job and it's OK for when you don't have (or want to have) anything else. But if you are used to a mouse it will be rough not having one (so it really just depends on what you are used to do).
Because most of what I have been doing so far has been server side I have not really been able to stress the surface performance wise. This week I will have to work on a few large projects we have setup in Eclipse and then I will find out what this thing is made of, hehe.