Over a million developers have joined DZone.

What skills should a Core Java Developer have?

DZone 's Guide to

What skills should a Core Java Developer have?

· Java Zone ·
Free Resource

I have been trying to put together a list of basic skills a Java developer should have to move on to being an advanced Core Java programmer.



  • can write code on paper which has a good chance of compiling.
  • can use a debugger to debug programs and profile an application.
  • are familiar all the primitives types and operators in Java.
  • understands the class loading process and how class loaders work
  • can use multiple threads both correctly and can prove this improve performance or behaviour. e.g. wait/notify/notifyAll, SwingUtils.invokeLater, the concurrency library
  • can use checked exceptions, generics and enums
  • can time a small benchmark and get reproducible results
  • can write a very simple client server TCP service
  • have an understanding of garbage collection, when is it triggered, what can you do to minimise it
  • understand when to use design patterns such as Singleton, Factory, Fly-weight, Builder, Object Pool, Iterator, Strategy, Visitor, Composite


Suggestions on how to get these skills

  • read Java Concurrency in Practice (http://jcip.net/)
  • write a simple client server TCP service such as chat
  • read up on Design Patterns and try to use them. http://www.oodesign.com/ so you can learn when they help and don't help


From http://vanillajava.blogspot.com/2011/12/what-skills-should-core-java-developer.html


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}