Computer science, software engineering, and HCI / Human Factors.
Like many here, I could describe myself as a "seasoned Java developer" but I prefer not to define myself by the programming languages I use. Why? Put simply, the questions "what should we build" and "how should we build it" are usually more challenging and interesting than writing and testing the resulting lines of code. Writing correct code is the easy part.