J2EE topics to study for mid-level programmer

Hi Experts,

I have about 4 years of J2EE experience in health care industry (mostly Struts 1) and have used hibernate for  a small application. Now, I am trying to expand my J2EE skills for a future job market  and I am wondering which topics I should study.

Currently, I am thinking to study JBoss seam(so, I can learn JSF and EJB3.), Struts 2 and building and configuring Apache+tomcat  in linux system.  I also took web services training course, but have not used it in real project yet. In the other way, I am thinking that I should study Java and understand deeply since j2ee  frameworks can be changed time to time and project to project.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


The programming market is very wide and there are many technologies, frameworks... and most interesting, new ones may come at any moment.
With 4 years experience in J2EE you should have a nice base to face any new job.
I think it's very difficult to become an expert in all java fields, and maybe in your new job tools and technologies may differ from project to project unless you're a strong specialist in some specific field.
If I were you I would look at job offers and have a look at the most common expertises described.
If you're centered in only J2EE you may have a look at JSP & tag libraries and XML processing (XSLT transformations). But if you're also interested in front-end applications you may have a look at AJAX (javascript technology).
I would also have a look at Spring framework and SOA (Service Oriented Architectures).

Anyone has any more suggestions?

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial

If you are only interested in expanding your J2EE skills than i agree that it would beneficial to you to have experience with JBoss and JSP. Having a solid understanding of Java, the language itself is a very marketable skill (especially if you can show a good work history too). Further experience/understanding of specific Java technologies ie JBoss, JSP, etc is helpful as well but some what more specialized. The more specialized you become the slightly less marketable you may be too. But if you are looking to stay within the J2EE framework than that is definitely where you want to focus.

As willyRD mentions the technologies continue to change and will continue to do so. That is one reason specializing in 1 technology/framework is difficult and not the best way to go. If your interest is to make yourself more marketable than i would suggest learning (or at least experiencing)  the .NET framework, I would start with C#. If you dont want to start a new Framework entirely than consider taking a look at PHP, AJAX (like willyRD mentioned), or Javascript would be good place to start. With PHP and C# you can also gain experience interacting with databases using SQL depending on which you choose, which is also nice.

Also, if you are accustomed to working in a windows environment, than linux experience is definitely something you want to have if you can. With whatever specific direction you decide to go with regards to a language/technology make sure it is something you enjoy, and that you are building sound programming habits/practices. I know as i have looked to both find jobs and employees what seems to the most consistently desired traits are the passion for what you do, the desire to continue to learn, and a sound work history (doing whatever it may be).

Hope that helps, let me know if you want further info about any specific part.

dkim18Author Commented:
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.