Yeah, learning C++ and Java is good.
But don't overlook the high-level interpreted languages like Python, MATLAB and others for development of systems.
I like Matlab. I basically work from within Matlab and call Java and C-Mex as needed. Its easy to write an interface to your broker API.
IB has a Java API and I have developed mixed java/matlab functions that connect Matlab to the IB API via java sockets. No complilation necessary unless I want to send p-code versions to my friends (p-code is not human readable). The code is mixed and its a little blurry where Matlab ends and Java begins.
You can also use JMatlink to call Matlab from Java.
C++ is a little different. You can use C from within Matlab but it must be compiled with the Matlab compiler. Matlab supplies C-engine functions that let you call Matlab from C. But recent versions of Matlab have speed up many operations to the point where C-mex isn't any faster than m-code for some stuff. The reason you might call Matlab from C++ is for its matrix functions or perhaps plotting etc.
My entire ATS is written in Matlab. I run a cluster over my lan with one machine collecting tick data and storing it in a flat file structure. The same machine stores my retail-purchased historic data and slings this data upon request from other cluster elements.
Another machine runs the trading interface to IB and manages orders, manages the account, monitors the connection, monitors the UPS, manages risk, deals with trading anomalies and responds to the analysis cluster element to initiate and close trades.
The last machine is a dual-processor hotie and runs the backtesting, statistical evaluation and system development instances of Matlab. This element generates trading requests based upon the current trading system that is running. I develop my system(s) here and test 'em out. This was the hardest part to write because one has to accept many assumptions about executions like slippage and commissions. I spent 99% of the time writing the backtesting and statistical functions and 1% of the time developing my system.
Unfortunately I have to stop trading. This afternoon I'm signing an NCA and NDA that finishes my short trading career. Yep, I'm gonna be a HF quant-developer weenie.

And yes, this is my last post.
I'm a little sad to leave my engineering career and am terrified of my new position.
Anyway, dont forget to learn some high-level language along with your C++ and Java work and the next thing you know you'll get a call from some HF or IB or make the money on your own (or bust out

). You might be surprised how fast that happens. A year ago I didn't know what an ATS was.
Good luck and good trading to all!
377 Ohms = the characterstic impedance of free space
