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, …)

JavaOne 2014 keynote ends awkwardly

Today we watched the JavaOne Technical Keynote at my workplace and the content was fine but a little stale, mostly rehashing last year’s messages, some might even say JavaOne 2014 was “off to a timid start“.

The technical keynote was the final part of a day of keynotes on Sep 28th. Mark Reinhold (Java Platform Architect) looked back at the history of Java, talked about Java 8 and briefly about Project Jigsaw (modules for Java). Then Brian Goetz (Java Language Architect) was finally starting to talk about exciting new initiatives for Java 10 and beyond.

At that point the keynote ended almost rudely, as Reinhold first told Goetz to speed things up, just to then cut him off a few minutes later, taking the slide clickers from him, quickly skipping through remaining slides in awkward silence and ending it with a curt “Have a good week” to the audience.

How unprofessional! Reinhold could have at least smoothed it over by saying that Goetz was trying to explain cool stuff like Value types and refer to a JavaOne session that will go into the details.

Or allow for 10 extra minutes, but maybe Oracle management was too inflexible for that. What a shame and how ironic that the longer term future of Java technology was not important enough. What was the motto of the conference again? “Create the future”? But don’t talk about it for too long, I guess.

Open Source / Free Software : Beware the Black Duck

I usually refer to the OSI list of popular Open Source licenses when someone asks me which FLOSS licenses are relevant and recommendable.

Recently someone pointed out the Black Duck list of popular licenses as a “more recent” reference list.

After some reviewing, I would strongly recommend against that Black Duck list, for several reasons:

Lack of neutrality

Open Source Initiative (OSI) is the foundation that first officially defined the term “Open Source”, as a non-profit, vendor neutral organization, free from any commercial goals.

Black Duck Software is a venture-capital-funded, for-profit entity with strong ties to certain big software vendors.

Irrelevant licenses

The licenses that Black Duck added relative to the OSI popular licenses list, include several unpopular, problematic licenses with less than 1% market share, like for example:

Misinformation

Black Duck has been repeatedly accused of bias against copyleft licenses like the GPL and having spread misinformation about the popularity of those licenses.

Questionable patents

Black Duck has managed to be granted patents on trivial “software methods for detecting and resolving open source software licensing conflicts”. This not only contradicts the spirit of sharing and software freedom by most definitions of common sense but also illustrates the aggressive for-profit focus of the company.

Professor Bradley Kuhn from the Software Freedom Law Center (SFLC) went so far as to say: “Black Duck again shows itself as a company whose primary goal is to prey on people’s fear of software freedom.” (quoting from an article on arstechnica.com)

Open Source games using libgdx

There are these demos.

And I found a list at the bottom of the main libgdx documentation page and used it as a startting point for the list below. I haven’t verified yet whether their respective licensing is covered by the OSI Open source definition.

I am actively maintaining this list, so feel free to send me additions or corrections:

I have also asked for a more comprehensive list on the libgdx forum and on libgdx lead developer Mario Zechner’s blog.

Using libgdx for cross-platform app development

I am looking for a framework that allows me to develop modern apps (mobile, web, desktop) all from one Java codebase. I prefer Java because I know it very well, it is already cross-platform and a statically typed language that allows IntelliJ, Eclipse and Netbeans to be better than any dynamically typed scripting language editor could ever be.

Currently my favorite is libgdx. I am planning to use it with IntelliJ Community Edition and with Maven.

By using RoboVM, libgdx even supports iOS.

For user input (forms) libgdx provides the scene2d.ui widgets. I hope that will be sufficient for most of my UIs. Now I just have to get OpenGL to work on my Linux box …

Blogging in the open

In many ways it is a step in a good direction that many companies use internal “collaboration portals’ with chat forums, wikis, etc. But it also segregates these corporate communities from the public web. Certainly, company-internal proprietary knowledge and business discussions belong behind the firewall, but that is only a fraction of the knowledge sharing going on at work.

It is unfortunate that even non-proprietary conversations about Open Source tools and technologies get separated from the public internet. I think at least the so-called “personal blogs” that many corporate collaboration portals offer belong into the worldwide “blogosphere”, not on intranets or other “walled gardens” systems.

Judging from my own experience with oldoldo.wordpress.com, bloggers and professional software developers actually benefit from using public blogging services. Platforms like WordPress are very good at making articles findable via search engines like Google, allow categorization, attachment management, feed update notifications into Twitter, LinkedIn, etc. And on the whole, a public blog generates more useful feedback and discussions than limiting the same thing to the people who happen to work for the same employer.

To directly notify coworkers about new posts on my blog, I simply post the link (i.e. the hopefully permanent URL) on my employers collaboration site, not the content itself.

And if I ever change jobs, I will still have access to my own posts. That certainly helps an older guy like me, with a weak memory for details … :)

Uncertain future for Excito Bubba home servers

I own an Excito Bubba/2 file and print server, running Debian Squeeze. Mostly I am quite happy with it.

Now recently the CTO of the Swedish manufacturer announced that Excito is shifting focus, the Bubba/3 product is not marketed on the main excito.com website anymore, but sold off at discount prices on their web store.

This shift seems to be a logical step given the split of the originally 4 founders of the company a few years ago and Excito’s ongoing struggle to support the versatile Debian based Bubba servers.

Tor Krill
and PA Nilsson, the two founders who left Excito a while ago formed OpenProducts and were planning to take over support of the B3, but recently decided to cancel that takeover.

It is uncertain if Excito’s Bubba product line and its customized Debian distribution will survive. Open-sourcing their proprietary Debian packages would certainly be nice. I have tried to initiate a discussion on the Excito forums about this.