Not sure if you're trolling or you are that rare breed of person who likes things like a convenient proxy factory bean superclass for proxy factory beans that create only singletons. Beautiful.
Seems you are conflating Java with Java + old Spring (not that older J2EE was any better.)
I find modern Java really nice and the only things that annoy me are runtime type erasure (scheduled to be fixed in Java 9 IIRC) and some niceties such as LINQ.
What drives me away from other cooler alternatives is if not high-ceremony then at least the unfamiliar and annoying (IMO) ceremonies they require.
Java has Maven, which for all its warts is quite stable and mostly just works. Switching between compiling for version 5, 6, 7 or 8 is a one-liner (but we never do anyway because everywhere I deploy I can use 8.)
>Did you learn to program in school or teach yourself?
School, I had a few credits to fill out my Econ degree and thought the CS intro classes would be interesting.
>Did you do unpaid work to establish yourself?
Nope, but I did work for pennies. $11.50/hr writing code at my first job, and then later $1000 for an Android app with another $500 to port it to IOs.
>Roughly how long did it take you from day 1 of learning to day 1 of being paid?
Six months.
>What was your first gig?
Working on campus making Salesforce magic happen. I graduated recently and now work as a Salesforce/Java/web-backend developer.
As idealized as being self-taught might be I think there's a lot of value in getting your base knowledge in the classroom. Data Structures and Algorithms especially is a great course to learn with a professional as a resource.
Ex .mil graduating with a degree in Economics. One year's development experience dealing mainly with Java. I'd prefer to do something mobile or web front-end related. Currently picking up Objective-C, and JS. Fluent in Dutch/Flemish.
I have an Android project in "the second 90%" that you can check out here, excuse the mess while I refactor some stuff. https://github.com/Brabon/MACSv1.0