If you want to do anything worthwhile in the future, learn C++ which is practically extended C.
And git, and svn, and some good scripting language, Python IMHO, and SQL, and some way of networked IPC like CORBA but I prefer ICE.
Also talking about grid why not learning MPI, and also some CUDA or OpenCL if your prefer the open way.
And of course you should learn about general threading, I would say to go the standard C++11 or boost way, but this can be slower on certain platforms (Windows).
And now that we are on it, perhaps you should learn about hi-end solvers and linear programming, what about the free COIN-OR Lemon? (also boost provides too)
But if you want to go professional about this you should probably try the classics CPLEX or the today's popular GUROBI.
And...
Wait, what did you want to program?
PS: What I try to make evident here is that there are MANY things you could learn, all very useful for specific tasks. And actually you could do things way faster, more productive, more error free WITHOUT C++. You can do many worthwhile things in the future and most of them probably will not be C++ related, but knowing C++ is always a plus of course (I still think it is not a good first language anyway).
PS2: I know I am awful at trying to get my point across.