What are the technologies a Java developer must know?

Every Java Developer should know the following core java concepts -

  • OOPs Concepts
  • Abstract Classes and Interfaces
  • Constructors
  • File IO and Serialization
  • Collections - List , Map , Set
  • Access Specifiers
  • Exceptions - Checked , Unchecked
  • Generics
  • Java Keywords - Static , Final , volatile, synchronized , transient, this super etc.
  • JVM and Memory Management
  • Multithreading and Synchronization
  • Design Pattern

If he wants to be a network / distributed application developer , he should know the following technologies

  • Sockets
  • RMI
  • Interface APIs - JMS, JDBC
  • ORMs - EJB ( Session Beans , Entity beans, MDB's ),  Hibernate

If he wants to be a web developer , he should know

  • JSP
  • Servlets / filters / Interceptors
  • JNDI
  • Architectures - n Tier, MVC
  • Web Frameworks like Struts / Spring
  • Service Oriented Architecture / Web Services ( optional for SOA developers )
  • Web Technologies like HTML, CSS, Javascript and JQuery
  • Markup Languages like XML and JSON.

If he wants to be a UI developer, he should know

  • Applets
  • Frameworks like Swing, SWT, AWT

Every Java Developer is expected to have Database Knowledge so he should know -

  • Database Drivers
  • Normalization / Denormalization
  • SQL Queries - Inner Outer Joins, Group By , Having
  • Stored Procedures
  • Triggers
  • Cursors

Comments