I'm a Java software developer (please don't cringe

Btw, I had studied OS at an under-graduate level and know the basics about process scheduling, file systems, etc. but it has been a while since I've done any coding in C or Assembly. [Edit - I've also been delving into the linux source code and reading up on OS stuff, on and off, over the past two years.]
I do use Linux as my primary OS at home and run FreeBSD on a virtual machine. And I also intend to go back to school and get my Masters degree in Comp Sci. next fall - if this has any bearing on the issue at hand.
So - Linux or FreeBSD or ... maybe ... something else altogether?
Thanks,
Tapti.
[Edit - Changed the post heading.]