Java is definitely not dead. As others have said, it is alive and very much kicking in Enterprise systems. Infact, if you or anyone reading this has an inkling to live overseas and few years experience and is at Senior Engineer or Team Lead level (corporate titles) it is great to leverage. Offshored locations around the world (note, I don't say Outsourced, still within the company) cry out for people with experience and international experience to inject to their teams for 1-n years.
First you said a few years experience then you said Senior Engineer... so which one is it? I'd imagine by few you mean 1-5 years, is that enough to get Senior title?
Yes. Corporate titles. JSE 0-1 year experience, SE 2-4, SSE 5-7 typically. There would be multiple SSEs on a team, a team 10-20 in size. So yes, SSE in 5 years is reasonable as a corporate title in multinational type companies.
Above that would be a Team Lead (late 20s/early 30s). A manager would manage 2-4 team leads. A Director / AVP 2-4 Managers. Technical Leads (senior non managers - perhaps what you're thinking) would be dotted around as needed.
But a lot depends on the product and business line. A business line with a simpler product would typically have everyone at 2-3 levels up the hierarchy above a business line with a simpler product.
I come across many legacy systems that use JavaEE in my sysadmin work.
After a bit of searching I found that the jobs typically may be found by searching for "Java Enterprise" - surprisingly nothing turned up for me with the search term "JavaEE". Of course, it depends which job board you are using in your search - I tried Monster & Seek.
If you want to work in a big corporation or bank, then Java (or even C#/.NET) is a good thing to have. If you want to work at a startup, it's not that valuable.
For the past few weeks, recruiters have been calling me a few times a week saying that they have Java positions that they need to fill, so it's absolutely not 'dead'.
And old offshore companies. I've been doing some research, startups usually ask for some web-framework (Laravel,RoR,Django,Sails) or "big/traditional" companies want J2EE expertise (and SAP).
Define dead. Oracle and IBM continue to make a lot of money with their appservers in Fortune 500 companies. It fits their large bureaucracies well.
In the open source world things have been looking better. When Oracle dropped commercial support for GlassFish so did interest in GlassFish drop. Some of them migrated to WildFly / JBoss AS/EAP. TomEE has been the only new entry in recent years and from the outside it seems they are struggling to deliver a Java EE 7 (which is two years old) compliant server. Geronimo will be closed down soon. Resin is in its on niche.
The other question is how you define Java EE. If you're using JPA in Tomcat, is that Java EE? If you're using Bean Validation in Spring Boot, is that Java EE?
But then again, has there ever been a time when Java EE had a good rep even with Java developers or was it always something they had imposed on them by "enterprise architects"?
I am not sure people are responding to your question because it is not clear. Would you consider a servlet application server and an app that uses it JavaEE even though it is not technically that? Google app engine uses it extensively , Spring framework is built on it.Dropwizard is very popular for building REST servers and Jersey too (and it is part of JavaEE 7) but these can also be used with a JavaSE stack and a fast servlet server.
I guess the definition of JavaEE itself is ambiguous then. What was introduced to us in school was Wildfly, EJBs (Session Beans), JSF, Hibernate... That kind of stuff.
For example you can use Hibernate with projects that are not JavaEE and it's certainly not wasted time , almost all Java job descriptions ask for Hibernate knowledge.
If it's dead, someone should tell the recruiters that keep spamming my inbox. I've had four in the last month asking if I'd be interested in working on some JavaEE projects, even though I have no experience in that (they probably see Java and run with it)
OP here: I don't get why this question is getting so many down votes.
If you're an experienced dev this might seem trivial to you. But for someone who just finished a 48 hours course called "JavaEE workshop" it isn't.
Forget J2EE, Java itself is dead. It got a bit of a shot-in-the-arm when Google chose it as a language for Android and it's had some activity around the JVM (e.g. Scala and also Twitter's fork of OpenJVM). But it's dead.
Whats interesting is if you look at the graph on that page... its as if all the languages are losing popularity (all have somewhat of a downward trajectory). One could argue that all that loss has gone into other not-index languages...