Hey, I've been working with Java a bit, and I think I'm getting the basics, but I want to be able to use it effectively as a job. Are there any specific things that every Java programmer should know? Are there any specific things that really help? Or any technologies that complement Java?

I've wanted to "break into the business," but I'm a bit overwhelmed. I've looked at freelancing sites such as oDesk, but for every job...