Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm the author of this question from a couple of months ago:

Java but no JEE experience

I thought about just editing this question, because this a bit of a followup to it - but it's actually a different enough context to ask separately. Answers would cross over and the thread would get messy if I do that.

Anyway, basically, in the past couple of months I've done a pretty intensive review of my JEE knowledge. Worked through a book, built apps from scratch, etc. At least in terms of a basic built-out-of-the-box Servlets/JSP CRUD app, I can say that I know how a JEE web application works now, how all the plumbing and configuration hooks up, etc. And I've got a much more comprehensive understanding of the JEE model in general than I had before.

Here's my question: I'm hoping to go into JEE (probably web development, but preferably more the data-driven back end side of things) and am wondering if this knowledge is sufficient to start applying for work in the JEE space. I get conflicting reports:

Some people say that good general programming skills + strong core Java are all that's needed, and others say that you actually need strong experience in the specific JEE-related frameworks and technologies for the given JEE roles. It's hard to get a good read on what's right - and I don't want to look ignorant for applying for things which I'm clearly not ready for. I have very strong core Java and almost a full decade of commercial programming experience, but really can't claim any of it as strong commercial JEE (only Swing, Applets, and lots and lots of core Java).

Note: If it helps, I can mention I don't mind taking a job a notch below what can be expected with my overall level of commerical experience - to get into JEE. All this is mainly because the market for Applets and Swing development is pretty much dead at the moment, and I need to expand my Java ecosystem experience.

share|improve this question

closed as off-topic by durron597, Dan Pichelman, Snowman, MichaelT, gnat Jun 4 '15 at 11:06

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, Dan Pichelman, Snowman, MichaelT
If this question can be reworded to fit the rules in the help center, please edit the question.

Have you considered mobile app development? Your Swing experience won't directly apply, but the techniques will. – kevin cline Jul 20 '11 at 2:01
@kevin I'm learning android development right now, and I can safely say that android is more XML than Java, and the rest is just the android API itself, which I don't think a core Java developer will be familiar with, even though android supports a subset of the standard java APIs. – Mahmoud Hossam Jul 20 '11 at 2:38
up vote 1 down vote accepted

Why don't you start talking to companies and recruiters, applying to jobs, and interviewing? That's really only way to be sure.

What you are doing currently definitely can't hurt. From here, you can also start to look into various frameworks and supporting technologies. For ideas, I would take a look at job postings for places where you want to work, see what they use, and begin to learn it. You could also (possibly) look at other things in the Java environment to show that you are a well-rounded developer - Scala, Clojure, and less enterprise frameworks such as Play can help you develop your problem solving skills, while still building knowledge of Java-the-platform. A project is a project (for the most part), and if you can read, do, and explain, then you are better off than someone who can't.

When you apply for jobs, read the job descriptions carefully. You probably won't hit all of the bullet points that they say, but that doesn't mean you should still apply. In fact, very few people cover everything that an organization wants when they hire someone. However, the more skills you have, the more likely you are to get through resume screenings, phone screens, and interviews and onto a new job. And be clever about relating prior experiences to things the company wants. Even if you don't have experience in X, maybe you did Y and it gave you some insights into X or will allow you to more easily learn X.

In terms of specific companies, different companies look for lots of different things. Some would take someone who is a good fit for the team with little experience in the particular technology stacks used or the domain the company operates in, while others focus more on the technical skills and having relevant experience and have very little weight on the fit of the candidate. Don't be afraid to ask questions about what the company is looking for, the job description, and (if you get rejected from one position), if the company has any other positions that might be more suitable for you.

Another piece of advice is to learn from failures. If you do get rejected from one position, ask why. Although some companies have policies against discussing the results of the interview, asking about the positives and negatives the company saw in you can help you prepare for your next interviews as well as identify any shortcomings and begin to work on improving them.

share|improve this answer
+accept. Thanks. This is essentially what I've started doing - with predictable results. Hopefully I'll eventually find a role which uses JEE but doesn't mind a bit of a learning curve on my part (and I'm openly telling recruiters that I'm willing to take a seniority and pay hit for this technology shift). Luckily I'm in a position where I can take my time to find something. :) – Bobby Tables Aug 15 '11 at 23:30

I agree with @kevin cline. JEE is a big big world in its own. There are helluva many things to even get a decent knowledge of the happenings.

On the contrary, learning Android/iOS app development and proving your creative and technical might, is relatively easier. In fact, learning Android application development should come very handy to you because of the following reasons:

  • Shorter learning curve (relatively). Hit the ground running, because you already know Java. However, please be aware that the Java API is only an abstraction that Google has brought up to make the learnings easier; there are many many things that you should know (like Intents, Processes, Threads etc), which you certainly will during the course of your application development.
  • Demonstration of your prowess to potential hires is easier with links to your app and its open-sourced code in git (or whatever repository). This is the trend these days.
  • Coming from swing background, you'll certainly find Android app. development very very exciting and interesting.
  • Android (or any mobile application development) is the trend these days. The earlier you prove yourself, the better for you ;)
  • Plenty of learning resources to aid your focussed learnings.

Heartily, wish you great fun learning Android, and a great job that you enjoy! Peace.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.