20 Things Every Experienced Java Developer Must Know

Things Every Experienced Java Developer Must KnowJava technology has evolved and has become really huge in last decade. There are just too many things and its almost impossible for one person to master all of them. Your knowledge about Java technology will depend completely on what you working on.

In any technology say Java or some other language, it is more important and valuable to know the language fundamentals thoroughly (OOP concepts, interfaces, class, objects, threading etc.) rather than specific frameworks or syntax. It's always easy to quickly learn new technologies when you master the fundamentals.

Are you are beginner? Looking for some guidance on how to get started on this language, our exclusive article on How to Learn Java is a must read for you before getting started on Java.


Java developers knowledge expectation changes based on the profile. In this post I have divided it into 3 profiles:
  1. College Graduate,
  2. Experienced Java Developer,
  3. Experienced Java Web Developer.

7 Things a College graduate must know to get a Java developer job


If you are a college graduate with no job experience then as a Java developer you need to understand the following basic things.

  1. How Java Virtual Machine works? e.g. (Platform Independence, Garbage Collection, class files etc)
  2. What are the Object Oriented Programming Concepts Implemented in Java?
  3. Multi-threading
  4. Java Collection framework
  5. Good understanding of data types and few java.lang classes like String, Math, System etc. java.io stream concepts.
  6. Understand concept of Swing/AWT event based programming.
  7. Servlets & JSP concepts.

9 Things an experienced Java Developer must know to thrive


If you are a experienced professional then as a Java developer you may also need to understand the following basic things in addition to the ones listed above.

  1. Understand design patterns and its usage in Java
  2. Improvements on language from major version changes (Generics, Annotations, Enums, ...).
  3. Coding Conventions.
  4. Build tool (Ant) or Project Management Tool (Maven).
  5. Version control System like CVS/SVN/Perforce/Clearcase.
  6. Apache Commons Libraries & few other common open source libraries.
  7. Continuous Integration Tools and Unit testing.
  8. Fundamental understanding of XML
  9. Understand Business layer frameworks - like Spring

4 Things a Java Web Developer (JEE) Developer must know


If you are a experienced professional working on Web based development then as a JEE developer you also need to understand the following basic things in addition to the ones (7+9) listed above.

  1. Understanding of MVC Frameworks - Open source J2EE frameworks like - Struts, Webwork, Spring MVC, Tapestry.
  2. Fundamental understanding of Web Services.
  3. Good understanding of Web/Application server like Tomcat, Glassfish, WebLogic, WebSphere, Jetty etc.
  4. Unix environment - A working knowledge of Unix environment can be beneficial as most of the Java servers are hosted on Unix based environment in production.

Looking at the list of things it really feels difficult for a person to know each and everything in depth. As I already said it is more important and valuable to know the language fundamentals thoroughly and rest can be learned quickly when required.

Can you think of something which is not part of this post? Please don't forget to share it with me in comments section & I will try to include it in the list.

Related

Java 5131535968345673098

Post a Comment Default Comments

  1. Well this is still more of fundamental stuff, many other things can be required but are not always necessary.

    How about JMS, Connection Pooling etc.

    ReplyDelete
  2. Yeah I agree, also need to know an IDE like Eclipse or NetBeans or Jdeveloper for fast development environment.

    ReplyDelete
  3. This is such an inadequate list of skills. Young graduates in India know a lot more things than these, and they are ready to apply. We, as westerners, should do the same.

    ReplyDelete
  4. Wow.. I Know lots in the 3 Levels .. Yet I see my self a young java beginer :D !!!

    ReplyDelete
  5. I am glad to know that young graduates in India know more then this. But is it necessary? Companies have their expectations when hiring fresh graduates and someone knowing more then what is required may be considered as over-skilled for the job. My aim here is to let everyone know of the general level of expectation from a Java developer. Of course this may vary across companies.

    ReplyDelete
  6. JEE Developer need to know Web frameworks , such as Strut , Spring , AJax ... JDBC , and JPA /Hibernate , right ?

    ReplyDelete
  7. @JackyChan - Yes, a JEE developer needs to have fundamental understanding of Servlet API, JSP and few of the frameworks you mentioned (Struts , Spring, Hibernate etc).

    AJAX has many frameworks(jQuery,Dojo etc) so a basic understanding is good.

    ReplyDelete
  8. Wow, this is pretty interesting. Inspiring, as well. Thanks for sharing such inspiring experience with us. Great blog, congrats.!

    ReplyDelete
  9. Hey, Thanks a lot. You paved a way for me.

    ReplyDelete
  10. Hey dude . . lot of thanks for this post. . bcz it shows every person that how they are in java . . nice . . :-)

    ReplyDelete
  11. Hey dude . . Thanks lot . .
    It wil surely help to everyone that how much they are in java, so everyone should learn learn learn lot . .

    ReplyDelete
  12. Hello,
    I have 6 year of experience in Application Support on Unix and Oracle. I am pursuing my master in computer Science. So after my graduation I'll be looking for Java developer profile. Could you please let me know what are the things i need to know as a java developer and what profile will suite to me in as java developer.
    Thanks

    ReplyDelete

Individuals who comment on FromDev at regular basis, will be rewarded in Top Commenter section. (Comments are selectively moderated so please do not spam)

emo-but-icon

item