aspose file tools*
The moose likes Jobs Discussion and the fly likes What to learn to become J2EE developer? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "What to learn to become J2EE developer?" Watch "What to learn to become J2EE developer?" New topic
Author

What to learn to become J2EE developer?

Chris Johnston
Ranch Hand

Joined: Dec 13, 2004
Posts: 85
I am not really sure which forum this topic should go into, so I picked the wrong one, could someone move it to where it belongs?

I am still in university and would like to get some opinions from those "in the trenches" as to what technologies/frameworks/concepts/etc you feel are the most important to learn in order to gain a career as a J2EE developer. There are some many things out there and I would like a little help in directing my learning. Below is my list of what I see as some of the top things being used in the enterprise world these days. Please jump in with your ideas.

Top things to learn (from my very humble and probably wrong veiwpoint) in no particular order:
  • EJB - with the possible exception of entity beans
  • Hibernate - this seems to be the OR-M tool that most people are using (or it is just the most talked about tool)
  • Struts - it seems like you can not make a web app without bumping into this one
  • JSP/Servlets
  • Web Services
  • UML - I am assuming that people in the java world use this for some part of the design process
  • AOP - not really sure what this is, but I keep seeing it talked about, so it must be important, or at least controversial
  • SOA - I have read that this is suppose to be the next big thing in application design
  • xDoclet


  • I am sure I am missing lots of stuff that I really need to learn and I am also sure that the list above probably contains things that should not be there.


    www.fuzzylizard.com
    peter wooster
    Ranch Hand

    Joined: Jun 13, 2004
    Posts: 1033
    First ask yourself if "Enterprise" is where you really want to be. J2EE has been described as "Cobol for the 21st century". If business apps are your field then this is for you. If not you might like to check out J2ME and the upcoming revolution in embedded logic.

    If you answer that your idea of a challange is to build yet another shopping cart for the next instant billionaire's online business, then the obvious skills are business, JSP, Struts and more business.

    UML is useful for describing any of these, but most people seem to use an small subset of it (class diagrams and use cases), drawn on a white board and accompanied by a lot of hand waving. BTW "UML Distilled" is all you really need, Larman is good for more detail and a good intro to UP.
    Marc Peabody
    pie sneak
    Sheriff

    Joined: Feb 05, 2003
    Posts: 4727

    Your list looks like you've looked through job postings for buzz words.

    That's a lot to study before graduating. Don't burn yourself out!

    JSP/Servlets - A good start. Make sure you understand how html over http works first.

    Struts - Only tackle this after you've learned JSP/Servlets. JavaServer Faces should catch on soon too.

    EJB - Worth learning.

    Hibernate - Also worth learning, but not more important than EJB.

    Web Services/SOA - These are the same family and are about as fun as paint drying. They're not good starter topics for learning Java. Avoid them for now.

    AOP - I think AOP would catch more on if it were added to the Java spec, which might happen in Dolphin (Java 7). Read this article if you want to at least hold a conversation with someone on the topic.

    UML - The Larman book is pretty good that Peter suggested. Starting developers aren't expected to write UML because they usually aren't involved in project planning. You can get away with not knowing much about UML to start.

    xDoclet - Aaah, the other AOP. This is a tool to assist development using attribute oriented programming. It doesn't do much good until you learn how to develop. Save this for after you've learned everything else.

    Anyway, here's what I did. I got my SCJP certification Senior year and then my SCWCD shortly after graduation. I spent a lot of weekends at book stores (they make terrific libraries) glossing over the latest and greatest technologies.
    I also participated in topcoder.com and it really helped my problem-solving-under-pressure abilities.


    A good workman is known by his tools.
    Svend Rost
    Ranch Hand

    Joined: Oct 23, 2002
    Posts: 904
    Hi Chris,

    You mention a long list of technologies that you wish to learn.. that's fine.

    How about the basic skills? Have you had a course in component based system
    development?

    It's my humble oppinion, that the basic skills are what matters. Atleast
    that's what you should be thourght at your university - not JSP.

    /Svend Rost
    Svend Rost
    Ranch Hand

    Joined: Oct 23, 2002
    Posts: 904
    A comment:

    The "road map" that Marc shows you is pretty good, however:

    Starting developers aren't expected to write UML because they usually aren't involved in project planning. You can get away with not knowing much about UML to start.


    I strongly disagree. Which university, that teaches systems development, software architecture ect., doesn't put emphasis on knowing UML - the language
    which we communicate through ?

    /Svend Rost
    [ February 19, 2005: Message edited by: Svend Rost ]
    K Riaz
    Ranch Hand

    Joined: Jan 08, 2005
    Posts: 375
    UML is not really that useful. Simple rectangles with class names is the only useful feature when designing OO systems. Everything else seems overkill. But as a Developer, you should have some knowledge about UML as they are bound to come up in a technical interview. I remember when I first learnt UML at University, almost everybody just drew the classes, implemented the system and then went back to draw all the other pointless UML diagrams because we did not find it helpful during the implementation.
    [ February 19, 2005: Message edited by: Kashif Riaz ]
    Chris Johnston
    Ranch Hand

    Joined: Dec 13, 2004
    Posts: 85
    Originally posted by Svend Rost:

    How about the basic skills? Have you had a course in component based system
    development?

    It's my humble oppinion, that the basic skills are what matters. Atleast
    that's what you should be thourght at your university - not JSP.


    Can you expand on this a little bit more? What exactly do you mean by "component based system development"? I know, I know, what are they teaching at university these days?!?!?!? However, the phrase that you used, without more context, is rather vague and can mean a lot of different things.

    What exactly are the basic skills? If the list that I placed above is too far beyond a student like me, then what are these basic skills that I should be concentrating on?

    In addition, what kind of skill level do employers look for from a student just out of school? I was under the impression that we are treated like everyone else and the more skills we can put on our resume the better chance we have. If all I have are basic skills, is that enough to get me a job?
    K Riaz
    Ranch Hand

    Joined: Jan 08, 2005
    Posts: 375
    Originally posted by Chris Johnston:

    In addition, what kind of skill level do employers look for from a student just out of school?


    They are looking for an understanding of the language. Things such as Object Oriented Programming [inheritance, ploymorphism, overloading/overriding, classes, interfaces etc] as well as the usual programming knowledge such as access modifiers, variables, passing by reference/value (difference), arrays, Data Structures, Multithreading, client-server paradigm, SQL, various control structures and methods. It would be very unreasonable if they expect everythig in your list for an entry-level candidate.

    Many people (including myself) try to learn all the advanced topics without verifiying and validating the prerequisite core knowledge. Don't try to run before you can walk. Employers know that if you have good understanding of the core API and the language, then it is not difficult to pick up other related technologies or frameworks.
    Reza Ravasizadeh
    Ranch Hand

    Joined: Jun 08, 2004
    Posts: 177
    I think after reading answers in here you are going to be more confuse, I had your problem last years too, try to follow certification they realy help you be professional (+ experience) I start with SCJP now I want to take SCWCD because every company looking for JSP and WEB then..... I don't know wich one is better.
    If you want to find job every body ask about UML I think basic knowledge of UML is enough.

    Reza R
    ----------------------------------------------
    OCA9i , SCJP , OCP9i(in next week )


    Reza
    Anselm Paulinus
    Ranch Hand

    Joined: Sep 05, 2003
    Posts: 389
    Be prepared to defend what ever you put in your resume. Basically a good interviewer will not go outside what you have in your resume.
    Marc Peabody
    pie sneak
    Sheriff

    Joined: Feb 05, 2003
    Posts: 4727

    Originally posted by Reza Ravasizadeh:
    I think after reading answers in here you are going to be more confuse, I had your problem last years too, try to follow certification they realy help you be professional (+ experience) I start with SCJP now I want to take SCWCD because every company looking for JSP and WEB then..... I don't know wich one is better.
    If you want to find job every body ask about UML I think basic knowledge of UML is enough.


    I agree that those certs are a good roadmap. That's what I did.

    UML - I agree not to ignore it completely but the extent of what you should know (as an entry-level) can come from reading a couple articles on the topic. The entire point of UML is that anyone can read it without having to learn how to read it.
    Chris Johnston
    Ranch Hand

    Joined: Dec 13, 2004
    Posts: 85
    There are a few interesting points listed above, one of which is certification. There where several people who suggested getting SCJP certified and then moving onto the SCWCD certification.

    I am hoping to get SCJP certified this summer, but my question is how helpful the various certifications really are? I hear a lot of people saying that they are useless and a lot of people saying that they provide a good way to get your foot in the door. Who's right? Is there any true value in getting certified?
    Marc Peabody
    pie sneak
    Sheriff

    Joined: Feb 05, 2003
    Posts: 4727

    Originally posted by Chris Johnston:
    I hear a lot of people saying that they are useless and a lot of people saying that they provide a good way to get your foot in the door. Who's right? Is there any true value in getting certified?


    Certification does not guarantee you a job though it does help.

    The true value of certification is the knowledge you gain. The exam objectives lay a strong foundation of knowledge that you will rely on and appreciate over the course of your career.
    Jesse Torres
    Ranch Hand

    Joined: Mar 25, 2004
    Posts: 985
    Since we are discussing Sun Java Certifications, how important is the SCJD Certification? I first completed the SCJP and then moved on to the SCWCD Certification.
    Andre Mermegas
    Ranch Hand

    Joined: Jun 20, 2001
    Posts: 158
    Originally posted by Marc Peabody:


    The true value of certification is the knowledge you gain. The exam objectives lay a strong foundation of knowledge that you will rely on and appreciate over the course of your career.


    I agree, completely.

    As far as technolgy goes, here is a "path" you can follow if you are interested.

    elementary J2SE:
    1. Learn the Java its API and OO Basics, I mean really learn it, the nuances of it are very important in order to move forward. The BEST way since you don't have a job is to prepare for the SCJP and you may even want to do SCJD exam too, its a real project and will give you some good experience along the way.

    elementary J2EE:
    2. Learn the servlet api backwards and forwards, this will help lay the foundation for higher level web framework abstractions like struts,webwork,tapestry,etc... best way to learn this is to prepare for SCWCD.
    3. Learn SQL and JDBC. Make sure you understand the basic RDBMS concepts, inner joins,outer joins, a little bit about stored procedures, etc...

    advanced J2EE:
    4. Refresh your HTML skills if needed, learn JSTL/JSP2.0 expresion language and Struts.
    5. Get an understanding of EJB, its not very difficult once you sift through all the rubbish and get down to the core of it. Once again, preparing for SCBCD is an excellent way to really get a handle on this technology.

    6. get a job

    I personally reccomend highly ALL of the "Heads First" books. They are fantastic.

    - forget about AOP,SOA,xDoclet,Hibernate,UML for now.


    --=( Andre Mermegas )=--
    Ritu varada
    Ranch Hand

    Joined: Sep 08, 2004
    Posts: 117
    I am not sure if certifications actually help you get a job in total but I think one of the reasons I got selected for a job was because I was going to pass my SCWCD certification. IT did not matter to them that I hadn't actually done it but just showing interest doing it. A couple of my previous managers have also reacted favorably to it. It probably just tells the management that you are interested in honing your skills. I am still intent on getting my SCWCD with a few days even though I found my dream job!


    SCJP,SCWCD(1.4)
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: What to learn to become J2EE developer?