Quote from comintel:
I am not necessarily recommending IB over other approaches but programming FIX may take you a year or more.
FIX really isn't that difficult -- I ported all my connectivity to FIX in a couple of afternoons, and I'd never used FIX before, although I did have some background in sockets/distributed systems. In any event, I've found FIX far better designed, more stable, and more versatile than platform API's.
Quickfix is an open-source FIX engine available for free download, although many commercial systems claim higher throughput, etc.
But as you say, FIX is highly broker dependent. Many "retail" or "semi-pro" broker implementations of FIX look pretty shabby to me.
although we are aiming to provide an API accessible to programmers of (pretty much) all skill levels. For people like yourself it does offer advanced features, but getting the basics running should be straightforward for any programmer.