Monthly Archives: October 2012

QCon is coming…

The next QCon is scheduled for March 2013.

Tutorials are scheduled for 4th and 5th March, Conference for 6th, 7th and 8th March.

The speakers haven’t been announced yet, but if you register before 9th November you can get the early bird ticket price for £1,044… which seems pretty steep to me but I guess in the main its companies who buy the tickets for their employees, or really keen techies who can afford it. If you are neither but want to go you can actually volunteer to help and I think they’ll let you attend some days for free. Either that or there’s normally a free event or too on the last day.

Here is the LINK to the registration page.


Happy Eid Al-Adha

Eid Mubarak to all who are celebrating tonight and tomorrow!

Can Oracle keep the Java train on the tracks?

Since Oracle took over Java from Sun in 2009 their management of the Java software suite and custodianship of the programming language has been met with mixed reactions. About half of Java users are generally supportive and the other half seem to be critical. Traditionally the language is extended via new “versions” of the JDK and today Oracle is planning the 8th version of the Java language.

Java 8 is scheduled for release in the summer of 2013 and will include the final components of some of the features that were planned for Java 7 – namely their Rich Internet Application package “JavaFX” and “Project Coin” – and some new features such as language support for Collections and Lambda expressions.

Now it seems that Lambdas will be the interesting part. This feature is the only one of the two originally planned headline packages for Java 8 that is actually going ahead – the other being Project Jigsaw which is now planned for Java 9.

We’ll look at Lambdas in a moment, but so that you have a full overview of what we are talking about lets just look at Project Jigsaw quickly. This feature is planned to enable you to write “Modular applications” in JSE, which should make Java more scaleable and enable you to write Java applications onto small embedded devices like smart phones and tablets (I suppose to compete with Android, J2ME, Objective-C and the like). The reason for kicking this into the long grass is purportedly to ensure that version 8 is released as bug free as possible.

So on the face of it, it looks like Java 8 is going to be a bit of a damp squib. Ambitions have been scaled back and only one new feature is being released. What are they going to release that is going to be new?

Lambda expressions and PlayStation 3

Innovation in hardware has continued down the route of increasing performance by parallelizing computations across “several cores”, moving from a world of single core processors or a multi core world. Remember the fuss about Playstation 3? That was Sony’s move from a single core processor to a multi-core.

Today the corporate world of programming is starting to catch up on that technical lag and a demand has begun for a language that better utilises the performance potential of a multi-core environment.

Enter Lambda expressions and functional programming.

Lambda expressions, or anonymous functions, is a way of writing code that is functionally based. By adding Lambda expressions into the Java suite Oracle is looking to bring into their tent the functional features so far available on JVM with Scala and Clojure. Giving their clients a language platform that is more compatible than the existing JVM variants and utilises the increased performance of a multi-core environment.

Is this new?

Well it is for Oracle’s Java suite. Very new in fact. But in terms of programming, .Net adopted Lambda expressions 5 years ago in 2007 (as a feature of C# 4.0). F#, Lisp, Scala and Clojure already exist and are widely used. Oracle is actually playing catch up here, not breaking new territory.

Language vs platform

At this point it is useful to come back to the divide between the Java programming language and the Java software suite – interestingly Microsoft makes the distinction easier by calling the former C# and the latter .Net whereas with Java its just “Java”. Unlike Microsoft Java has a massive community building Open Source frameworks and features, adding a rich and sizeable driving force behind the language’s development. Oracle owns the software suite but not the language, and it’s from this Open Source space that much of the new functionality of Java has been developed. So Spring and Hibernate are both from the Open Source community, not Oracle. Since 2009 Oracle has “progressed” Java by adopting / absorbing these innovations, so EBJ3 is their version of Spring and JPA is their version of Hibernate.

So what is new with Java 8?

Developers already had access to functional features with Scala – an object oriented language with closures. And they can already write applications on embedded devices using android or J2ME or Objective-C (the point of Project Jigsaw).


Well the Lambdas is going to be very well received by Oracle’s big corporate clients. Small companies that use Java have probably already adopted a functional language if they wanted to exploit a multi-core infrastructure, the big players however are less likely to have done so because they are much more risk adverse and for them it makes sense to wait until you get an “official” version that is supported by Oracle.

But to everybody else, Oracle is spending a lot of time and effort standardising what already exits, instead of inventing new features they are consolidating the Java position.

I think the question is not,“Can Oracle keep the Java train on the tracks?” but “Where are those tracks leading?”

By absorbing the advances made by the open source community Oracle is taking Java down a track that will eventually look like this: Oracle don’t own the Java language, but they do provide support for it. By writing each JDK they also determine what features will be compatible with “their” software platform, and it doesn’t take a genius to see that before long they can exclude Open Source features that they now have a version of (JPA and EJB3 for example) and withdraw support for technologies they don’t own. Effectively dictating what is going to be compatible with their platform and what isn’t, finally asserting the ability to control the Java world they purchased in 2009.

Fine, that’s what corporations do – make money from stuff they own – but in doing so surely they are going to push out the Open Source community which is what defines Java from C# and that has for the last 3 years been the only driving force for innovation?

Is Oracle going to crash their own train?

Not quite. I suspect that they will continue to fudge things, potentially pushing out the little companies, continuing to lose support in the OS world but ultimately not withdrawing support for the legacy JDKs because too many big companies (such as the Investment Banks) rely upon OS technologies like Spring and out-dated JDKs like 1.5 and their business is too integral to the income Oracle makes on Java. And Lambdas in Java 8 will be popular with their big fee earners. So we will see increased the capitalisation from ownership… but not world domination.

Speak like a recruiter 103: “Bullet”

bullet (spoken)
a candidate who is such a good fit for a client that he/she is will open doors for your recruitment business, win you clients and progress to offer stage quickly and easily.
Gavin: How are you doing with that tough role you’ve got? Sandy: Don’t sweat it no more, I got a bullet
Etymology: Golden Bullet, one shot kill
See also: Golden Bullet, legend, walking invoice

Friday fun: find out where you sit on the political spectrum!

Follow this link to the Political Compass website  and follow the questions to find out where your political views sit compared to modern leaders’ political beliefs. Its quite fun because rather than the usual one dimensional left / right line, it rates your views on an economic scale and a social scale. So if you believe individual property is theft and that there should be a CCTV camera on every street corner you will sit at the opposite end of the graph to someone who believes in free trade and has a live and let live approach to society.

You also get to see how your views compare to Hitler, Stalin, Margaret Thatcher and Mahatma Gandhi:

It takes about 5 minutes to get through the questions, but stick with it because its quite interesting seeing what your results are, here are mine:

As you can see from the graph below, my political views sit no-where near any of our global leaders’ political beliefs. I don’t think that’s because my views are so unusual, I just think that most political leaders have authoritarian views because they think they know what’s better for you.

So follow the link and let me know where you come!

Why the Europass is bad for your career

Europass is a European Union (Directorate General for Education and Culture) initiative to increase transparency of qualification and mobility of citizens in Europe. It aims to be a “Lifelong Learning Portfolio” of documents containing the descriptions of all learning achievements, official qualifications, work experience, skills and competences, acquired over time, along with the related documentation.” (Wikipedia)

The Europass was invented by a European Commission directive in 2005 with the very best of good intentions. Unhappy with the prospect of there being a part of their citizens’ lives they were not intimately involved in, the bureaucrats decided they should re-invent the wheel and do their bit for cross-border mobility at the same time by creating the Europass CV. This is what it looks like:

We’ll be looking at the Europass in just a minute but right now I feel I should make something clear and state my political standpoint on Europe. I love Europe, I like its people, its culture (food) and generally enjoy meeting people from other European cultures and comparing how some things we do are the same and how some things are different. I see my European neighbours as distant cousins who I am always pleased to see. However I fundamentally disagree with some elements of the political construct that is the European Union, and for me the failure that is the Europass and the damaging effect it has on its user’s career chances in London only serves to increase my disenchantment.

The Europass is now common for developers from Portugal, Spain, Italy and Greece. Interestingly the French largely ignore it, as do most other northern Europeans. It is also rare from Czech, Polish, Hungarian and Romanian developers.

So here are the reasons I have identified for why the Europass is bad for your career.


CV template wizard

The Europass is created by a CV template wizard that you add your details into it and it creates your Europass for you. The problem with this is that its takes responsibility for formatting away from the candidate, and as there does not seem to be an edit option (or rather people don’t use it) what you get is a badly formatted CV with the kind of mistakes you would never get in traditional CV. Take this example:

Here you can see that the education section – in this case as the candidate is a fresh graduate, the most important part of the CV – is split across the bottom of the first page and top of the second page.

Warped Priorities

Another sign that this is document was designed by someone who does not use a CV is that you get very warped priorities. Take the example of the graduate’s CV, surely their education should take up the majority of space on the page and be the most prominent part of the CV? Instead the education section is insufficient, and too much space is devoted to part-time jobs, often making it look like I’ve accidently received a waiter’s CV. With senior CV’s there is often not enough space dedicated to actual experience.

Here only the parts within the red boxes are useful information, as you can see about half of the page is wasted space. The whole left hand indentation thing is also completely pointless.

So not enough useful information, badly formatted and a document full of wasted space.

Poor quality job descriptions

The descriptions of the applications that you have built are the most interesting information that a developer’s CV should contain, yet invariably the Europass CV falls short in this requirement. Take this typical example of a job that this candidate had for 2 years:

Developer and analyst in a wide range of IT projects, typically application development projects. Functionally there projects were implemented through different industries, such as Government and Mail;

Requirements analysis, analysis, design and implementation of features;

Preparation of documentation”

Believe it or not, this doesn’t tell me anything about whether this candidate is going to be right for one of the roles I have. Each job you have had should be described in this format:

• Describe what the challenge was that the team was addressing,

• then describe what the solution to that challenge was (including main technologies) and then

• describe what part you played in that solution

So if the role of a CV is to show the reader that you meet the criteria for the role they are looking to fill and get you an interview, this document is a failure. If you think that just giving a tech stack and the relevant dates or that your CV just has to “look right” and you will get an interview on the basis that you “might be right” for the job you are mistaken. The London IT market is extremely competitive and candidates with ambiguous CVs get rejected because there plenty of better CVs to choose from.

Here is a list of other reasons why the Europass is poor quality document:

Career history often in the wrong order

The career history should start with the most recent job first, so that the reader can instantly tell what company you have most recently worked for.

Annoying boxes

A result of the template wizard is that when the document is converted to Word format you end up with a myriad of lines and boxes in the background which makes it harder to read.

Cr@p logo




Seriously. Look at it. This is a professional document that might well determine the course of your career, do you really want that yellow man thing prancing about the top of your CV?

Passport photo

There is actually a lot of debate about whether a passport photo should be included on a CV. I don’t think it should, in my experience people look a bit silly in these photos and that will not help you get a job.

The language box at the end

It’s too big! Your CV should be written in English for the London market, and I’m guessing you can speak it fluently otherwise you’re going to really struggle get a job in London. I can also guess you speak the language of your mother country, and if you speak any other languages you can put that in a short sentence at the end (along with any qualifications you have in it). Too much space is taken up by something that can be covered by one or two sentences.

“social skills and competences” section

There is a whole section dedicated to “social skills and competences” – was there ever a box so obviously contrived by someone who doesn’t understand how the real world works? Think about it, what objective information are you meant to put in here? I don’t think even the most honest socially-inept developer is going to come clean in this section, it just begs the question.

In summary the Europass does nothing positive for the individual and the poor quality of the document damages the candidates chances. If you want help with re-writing your Java developer CV get in touch and / or you can read my blog “how to write the perfect java developer CV” for more tips.

What good is EJB3 in the financial markets?

I know of only one team that uses EJB3 to build financial software in the London market. I get the impression that Spring did such a good job in the early days at convincing developers that their framework was the best and most accessible framework, that even when Oracle comes out with a modernised, updated framework with “as much” functionality as Spring (EJB3) – that no-one in finance still wants to use it. In fact developers with EJB3 still tend to be categorised as less creative developers who are less interested in the cutting edge Java technologies by many hiring managers – be it fairly or not. From what I hear, much of the Java community actually thinks that Oracle is doing a good job as the custodians of Java (for instance there is a lot of positivity about the latest concurrency and threading packages), but nevertheless EJB3 remains unloved by the financial markets.

In general I find EJB3 cropping up in consultancy work, and therefore its a common skill to find in European developers – an IT market almost totally dominated by consultancies – in the UK, its much less prevalent, although it does have its advocates. For instance whenever I ask the hiring manager for the one financial software shop that I know that does use EJB3, he quotes Superman Spiderman to me (!) and says “with freedom comes great responsibility” – meaning that with Spring you get a lot of creative freedom, but he thinks that not many developers actually know what to do with that freedom. So he sees the formal structure of EJBs as giving technical leads a useful tool to help ensure coding standards in their teams.

So what to do if I have only used EJBs and want to get into the financial markets?

I think it must come back to learning Spring in your own time. These days if you don’t have Spring then you are either an experienced developer who has been working on legacy Java projects that were designed 5+ years ago, or you tend to be from the continent. Either way you are missing a marketable Java framework on your CV. The solution in my experience lies in the fact that hiring managers really value pro-activity and passion for technology in candidates, so if you can learn Spring yourself, and then either get officially certified or build a Spring-based program at home (both is better) then you will have a powerful argument on your CV. It won’t make you a shoe in, but it will make a lot of difference.


NOTE: It was of course Peter Parker’s Uncle Ben who gave the freedom/responsibility quote, not Superman. Thanks to Matt for pointing that out. And Mark for pointing out that Uncle Ben was actually paraphrasing Ellie Roosevelt. I suppose that’s what you get when you write a blog for geeks – you get out-geeked!! I’m not changing the pic though. I like Superman much more than Spiderman, I was just disappointed I couldn’t get one of Christopher Reeve.

Donate to build a steam powered computer

It turns out that at some point during Charles Babbage’s life he drew up plans for a steam powered computer – complete with CPU, memory, a UI, a printer and a little bell to alert the operator if something went wrong. Unfortunately it seems he was your typical “mad-professor” type and was always starting things and never finishing them, so his plans exist but no part of it was ever built in his life time. And today only a very small component has been built by the national science museum.

Until now…! John Graham-Cumming is now working with a team of fellow computer scientists (and one or two steam train experts I’ll wager) on a project to build this “steam powered computer”.

Here are the links:

John Graham-Cumming explaining the project far better than I could to an audience at Imperial College TEDx,

His website going into even more detail…

And the link to donate so that you too can help make this crazy dream a reality.

Ludwig Wittgenstien, Alan Turing and the market

If all these PhDs are knocking about in the financial world, I wonder to what extent the quants the chasing the market and the market is chasing the quants.

Answers on a postcard please.

Contract Java roles!! Are we finally seeing the pick-up we predicted for September

I have had multiple contract roles come out for 2 major investment banks in the past 24 hours.

Hopefully that will put an end to all of my doom-mongering over the last few months!