Grouping Java skills by categories

I would like to group skill items from typical Java developer resumes – aka CVs – in a somewhat standardized way. See this jsfiddle for some work-in-progress.

I came up with the primary and secondary categories listed below, each with some sample items.

Your feedback is highly appreciated. Please comment on this blog post.

  • Java features and APIs:
    • Configurable JVM feature (Garbage collection, Remote debugging, JMX, etc)
    • Java language feature (Generics, Threads, Annotations, Enums, Lambdas, …)
    • Java SE API (Collections, Date/Time, NIO, java.util.concurrent, …)
    • Java EE API (EJB, JMS, JPA, JSF, JSP, …)
    • Java SE UI (Swing, JavaFX, WebStart, Applets, …)
    • 3rd party Open Source web frameworks (Struts, Wicket, Spring MVC, …)
    • Other 3rd party Open Source framework (Spring, Hibernate, …)
    • Closed-source vendor technology (Java based but no JSR)
  • Java Tools/Servers:
    • Application Servers (Websphere, Weblogic, JBoss, Glassfish, Tomcat, Jetty, …),
    • Developer Tools (IntelliJ, Eclipse, Netbeans, …)
    • Build automation tools (Maven, Ant, Jenkins, Teamcity, Bamboo, …)
    • Profiling and test tools (JVisualVM, SoapUI, JMeter, …)
  • Methodologies (software engineering approaches and practices):
    • Project level: Agile, Waterfall, RUP, …
    • Engineering level: Dependency Injection (DI), Object-Oriented Development (OOP), Continuous Integration (CI), …
  • Relevant non-Java technologies:
    • Web technologies (HTML, CSS, JQuery, JavaScript, SVG, …)
    • Scripting languages (bash, Perl, ksh, Groovy, ruby, etc)
    • Operating systems (Linux, MacOS, Solaris, …)
    • Database servers (Oracle, MS SQL server, Sybase, …)
    • Team tools (Confluence, JIRA, Crucible, …)
    • Other programming languages (C, C++, Cobol, Fortran, Scala, …)

Looking for a Senior Java developer position?

At my workplace we are currently looking for a Senior Java developer with potential to grow into a Team Lead role.

The work is server-side Java development of event-driven reference systems for a large client in the investment banking domain. Our Java team enhances existing systems, adds major new feature sets and builds system integration components like trade event feeds. Production support is currently not part of our responsibilities.

The team is in Halifax, collocated with Project Management, a QA team of dedicated application testers and a UI side team of DotNet developers. Our methodology is a lightweight, flexible waterfall process, with us participating in analysis, providing design, construction and testing.

As a trusted partner in the delivery of larger pieces of work, we work closely with our customer’s Business Analysts and Technical Leads on a daily basis. We follow a quality oriented approach with mandatory code reviews, continuous integration and extensive QA testing cycles.

The technologies we use are core Java 7, XML / JSON messaging via Tibco RV, JMS and web services, Apache Camel, persistence in Oracle via JDBC or JPA, Maven builds on Jenkins build servers, SVN for version control (maybe Git in the future) and Intellij as our Java IDE of choice. Other standard libs include JUnit, Mockito and Slf4J/Logback.

We do not use any JEE or Java web containers for most of our processes. The Spring framework is used in existing applications, but usually not for new light-weight processes. Due to this Java centric, container-less nature, our developers have to be well-versed in all levels of Java SE, remote debugging, JDBC, Oracle SQL and working on the command-line.

The deployment environments are Linux boxes, so Unix and bash scripting skills are a plus. We also use Cygwin on our Windows VMs.

If you are interested, please email [oliver].[doepner] at [cgi].[com] – remove the ‘[‘ ‘]’ brackets and turn into valid email format.