Category Archives: CV tips

Top 5 Things To Get Ready For Your Job Search: NUMBER ONE, Work Out What You Want To Do

Whether you’ve got a job right now and you’re looking to take your next career move, or whether you’re beginning your search from a standing start, here are my top 5 things that are going to help you get ready to begin your search.

Getting ready

This is aimed at software engineers looking for a permanent position (PAYE), most of the things I’m talking about will be applicable to day-rate contractors, but not 100%:

NUMBER ONE: Work Out What You Want To Do

As anyone who’s recently finished looking for a new job will tell you, it doesn’t take many conversations to work out that you actually need to have a really good understanding of what you want to do next before you start to talking to anyone.

The key point here is that for the hiring managers the interview process is all about risk. Working out which candidates are going to be worth interviewing from their CVs is an obvious example (which candidates looks like they’re least likely to be a waste of time interviewing). But for the hiring manager it isn’t just the time spent on the initial search for the right candidate, what’s also at stake is the huge amount of time that stands to be wasted if the candidate they hire never really wanted the job in the first place. If the successful candidate goes on to leave after the first couple of months, then that’s potentially hundreds of hours of time wasted, involving training, mentoring, showing them around the company, including them in future plans, wasting the hiring manager’s time, their colleague’s time, their team’s time, their boss’s time…, reputational damage, their judgement and competency questioned, a huge amount of budget potentially wasted, IP at risk, etc, etc, etc.

Which means that during an interview when you’re asked “what kind of job are you looking for” or “what are the main things you want to get from your next job”, you’re going to want to have worked this out already. Because the man who walks into an orange fruit shop and starts talking about other fruit they’ve had in the past that they liked, and “that they really don’t mind what kind of fruit they buy because they’re just hungry”, or even that “actually their most favourite kind of fruit they ever had was an apple, but as they’re here now they’re happy to consider oranges”, isn’t going to go down as well as the man who confidently tells the shop keeper “I’m an orange-kind of guy. I like oranges and I’m here to buy oranges.”

So, going into the job market armed with nothing more than a bunch of vague ideas about what you kind of job you’d like to have is not going to help you.

Operational Hypothesis vs Re-iterating

Have a good think about it, talk it over with someone else, and then be comfortable with the idea that you’re probably going to refine your idea of what you’re looking for after you’ve started your search, but time spent working it out before you begin will be time well spent.

Some Food For Thought:

To help get the brain juices flowing, here are some ideas. You could say a Software Engineer can go in 1 of 3 general directions with their career:

  1. Team Management
  2. Sales and Product
  3. Architecture / Technical SME.

Here is a simple list of the main factors that Software Engineers’ tell me they’re looking for:

  • How much time you want to spend hands-on coding? Do you just want to code, or do you want to be paid for other things as well (design, architecture, requirements gathering, scrum mastering, stakeholder facing, client facing, deployment, support, testing, code reviews, people management, project management, etc)?
  • What size of company do you want to work for? A big corporate? A mid-tier company? A start-up? A small company?
  • Would you discount a company that had lots of problems, or would you see that as an appealing factor?
  • Does it matter if the team is all located in the same office or is spread around the world?
  • Are you looking for technical authority?
  • Is formal training and investment important to you?
  • Is any the “package” element of the job important to you (pension contributions, medical insurance, nice office, flexible working hours, working from home, lots of colleagues etc)
  • What kind of office locations you want to commute to / are you prepared to get to?
  • Is a new (“greenfield”) application important to you?
  • Is working with the latest and greatest tools and technologies important to you?
  • Do you have some kind of preference for the people you work with (senior to you so you can learn from them, same age as you so can easily get along, etc)?
  • What kind of industry/industries do you want to work in? Does it matter to you?
  • Is it important that the application you work on is something you find exciting or high profile?
  • Do you want to work for a well-known company?

Idiot’s guide to writing a CV


Idiot's guide to writing a CV - example

Getting writer’s block sprucing up your CV? Try this fool proof technique:


State the name of the company and what dates (MM/YYYY) you were from and until.


State your job title.


Say what challenge your team was tasked to solve, in one sentence.


Say what the solution to that challenge was, in one sentence.


Say how that solution was implemented and what technologies were used to implement that solution.

SIXTH LINE (if appropriate):

Explain how you took ownership or responsibility for anything.


CV tip: what to include in the technologies list

It’s just occurred to me that a lot of java developers get the technologies list part of their CVs all wrong.

In each description of the jobs they have had they seem to want to tell their potential employer what all of the technologies their team was using… what’s the point of that? Rather than telling them what you are good at, all you’ve done is invite an interviewer to ask you questions about technologies that you don’t know much about. It’s much better to simply list the technologies that you are skilled at. And I think a good rule of thumb is, if you wouldn’t rate yourself as a 7 or above on a skill, you shouldn’t include it in a job description – that way your CV is giving a true representation of what you are good at rather than making you look like you’ve got an ego problem. If it’s an interesting technology that you have some exposure to, it’s much better to put it in your Technical Skills box at the start of your CV. In this case, less really is more.

Less is more

Take this technologies list I found in an old CV for a 3 month contract:

Java 6, Flex 4, Parsley 2.2,  Spring Framework 3, Spring Security, Spring-Flex, Hibernate 3.5 (JPA), Weblogic 10, Tomcat 6, Oracle 10g, SUSE Linux, Maven, Nexus, Team City, SVN (Subclipse).  LDAP security integration (Spring-LDAP), Reuters IDN-SELECTFEED (RFA), Fidessa (live streaming), Cairngorm Granite ActionScript generation (GAS), Ehcache, BlazeDS, Dozer, Apache utils (commons, math), integration with Oracle Coherence caches, Web Services, remote databases (SQL Server, Sybase, DB2), data streams.  Fully automated unit and integration testing using TeamCity, Spring TestContext Framework, JUnit, Mockito, HSQLDB.

I mean, really??? Really?? In 3 months? Pull the other one. All this guy is doing is setting himself up for some tough interview questions on technologies that he’s only got a high level understanding of.

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.

My advice for Java developers considering moving to UK

The London UK market is currently fantastic for developers with extensive Java development experience. There are lots of jobs and therefore lots of opportunity to find a really good position with a good salary. Of course you will need a visa, and I wouldn’t recommend anyone come to the UK without the right to work in this country, but if you do have that visa, then there hasn’t been a better time all year than now.

Coming to work in the UK can be an exciting, challenging and rewarding career choice that will give you an international experience that can’t get anywhere else in the world, and will shape your career for the rest of your life; however if you aren’t properly prepared you will struggle to get what you want.

What you will need:

The right to work in the UK
It is still next to impossible to be sponsored by a company in the UK, as such if you do not have the right to work here, it is advisable to not relocate to the UK.

The technical skills
Check on the English job websites that you have the right technical skills for a role in the UK. Some countries tend to still be using the old “EJBs and app server” model which is generally (although not totally) defunct in the UK today. Unless you have extensive low level core Java (think writing your own threads, TCP/IP sockets etc) you will also need at least basic Spring. If you don’t have it, getting an online certification will be very useful. In general you should brush up on all your technical skills and make sure there is nothing on your CV that you would not be prepared to be grilled on in that first interview. One good tip is starting your own blog and posting some of your best bits of code / ideas on there, this can be very helpful to candidates without an established track record in the UK

The English
The London IT market, especially in finance, is probably the most international job market in the world – it is not simply that you will often find yourself in a team where everybody comes from different countries, but its not uncommon to find teams without a single British developer in the team. So communication skills are EXTREMELY important. Basically if you can’t understand spoken English and speak it easily and fluently, you will not find a programming job easily and if you do, it won’t be very good. A good rule of thumb is whether you can answer a set of technical Java questions reasonably easily. If the standard of your spoken English is poor, you should either take a course before you leave or one better – if you can afford it – relocate to the UK and don’t start your search until you have improved it.

A Curriculum Vitae
(The word Resume is American, and is best left on that side of the Atlantic) Globally there are roughly 2 types of CV, the Curriculum Vitae that many of us know and love and the “Europass” CV – hated by all in London. Hated of course because it is completely useless as a professional document in this country. As a recruiter I need to know what companies you have worked for, what dates you were there for, what you were doing for each company and which technologies you used. Instead the Europass is a hideous piece of bureau-bum designed EU-construct aren’t-we-so-different cr@p which is genuinely completely useless and many a good developer has been over-looked simply because their experience was delivered in the utterly indecipherable format of the dreaded Europass. If you have one AVOID, REWRITE or FORGET it

Most hiring managers can get through the first and often the second stage interview in their process on the telephone or through Skype. However no-one is going to employ someone they haven’t met and therefore an appetite for coming over to the UK for interviews and being flexible about it will be very helpful. Today it is rare occurrence that a British company will pay for a candidate to fly over to the UK for an interview. Any good recruiter should help to arrange the process to make it as easy and cost effective for you as possible but you have to realise you are competing with developers who are already in the UK – afterall what is the point of companies paying to see you when they don’t have to pay anyone who is already in the UK. You will also need to have made up your mind that you really do want to relocate to the UK and be prepared to move over as soon as possible once you secure that dream job. Talking it through with wives / girlfriends / Cuban-US-visa-seeking-lovers before hand will be a very good idea.

It is a good market in the UK for good Java developers and its rare that I hear of foreign candidates who have the right to work in the UK, the marketable technical skills, good English communication skills, a proper Curriculum Vitae and flexibility to attend interviews going home having failed to find a job. However, nothing good comes easy in this world, and no matter how active the market is you will always take a couple of weeks or maybe even months to find the right position for you. So be brave, be tenacious about your applications and have patience that the right role will come along.

How to write a perfect Java developer CV

This is it boys and girls… the real thing, all you need to know about writing a good CV.

What is a CV for?

To get you the first interview. And nothing more. When you are writing (or re-writing) your CV, bear in mind that Java developer CVs are reviewed on the following criteria:
– does this candidate have the necessary intelligence?
– do they have the necessary skills?
– how have they applied those skills?
– have they done anything interesting with their career that makes them stand out?
– what is the ratio of achievement / career progression to years of experience?
– are they going to stay in my team for enough time to make it worth me hiring them? (minimum 2 years)
– are there any warning signs on this CV?
Hiring managers value one thing above all at this stage: honesty. So if it looks like you are trying to hide something or can’t get the dates right, that is an instant reject.

Writing the perfect CV for a Java developer comes down to two things: Format and Content. I like to start with the Format first, because it gives you a skeleton to hang the rest of the CV on.

Formatting, believe it or not, is probably one of the most important things about your CV and one of the most consistently ignored by developers. Most of all your CV has to be easy to read and a well formatted CV will deliver the most important information in the most accessible way. The trick is to keep the formatting logical, uniform and simple.

At the CV weeding stage hiring managers will have somewhere between 20 and 50 CVs to get through. At this stage they are actively looking for a reason to reject your CV, so if your CV is not clear and easy to read you put a question mark above your name. Any question marks get put in the same pile as the rejected CVs after all what is the point of following up on a strange CV if you already have 5 good CVs you want to interview.

So it needs to be easy to read and answer all of the questions above.

When ordering your CV I suggest you stick to the following section headings:
– Introductory Paragraph
– Education (with training and certifications as a sub heading)
– Technical Skills box
– Career history
– Interests
Both the introductory paragraph and the Personal headings can often be deleted.

No automatic spacing. No text in boxes. No boxes at all. Under NO CIRCUMSTANCES use any colour other than black. No italics. No boxes. No Certification badges at the top. No underlining. No dividing lines. No highlighting of key words in sentences. No random use of font sizes. No different use of fonts. No random paragraph alignments. No photos and no banner pictures at the top. No hyperlinks to or descriptions of companies that are household names.

You can convey everything you need to using Arial, font size ten, bold for section headings, justify all paragraphs, bullet points and good use of the English language.

If you fill your CV up with all the word processing cr@p that Word has to offer what you have got to say about yourself will be lost on the intended audience as their eyes struggle to negotiate the kaleidoscope of diversion you have hidden your experience in. Many hiring mangers tell me that they purposely don’t even read the keywords that have been highlighted with bold or underlined.

What to write:
– only the truth
– no hyperbole (don’t bulk it out with waffle, less is more).
– try to repeat yourself as little as possible. Does it make any difference if you send the same letter twice? The message only needs to come home once
– try to describe each job in this format: Say what challenge was that the team was addressing, then say what the solution to that challenge was (including main technologies) and then say what part you played in that solution.
– Gaps in your experience – explain them! Don’t leave question marks on your CV, just explain any gaps.

How to write it:
– write in a professional tone but keep it in normal English, don’t get flowery or rely too much on jargon. Use the first person. If you are struggling to find the right tone, try writing your experience down as if you were explaining it to a friend in the pub
– write your CV in the best English you can – if you want a job in an English speaking city you are going to need good English communication skills.

How to stand out:
– examples of when you have taken some initiative
– facts and figures (latencies achieves, volumes handled, deadlines hit, impact of solution on the market, etc.)
– what you did that you are proud of and explain why
– examples of programming in your spare time, including details of any web and mobile applications built
– events, conferences, meetups attended. Competitions you came pole position in

How many pages should it be? If you can get it down to one page, great, if not 2 or 3 is average. To justify writing any more than 3 you should have quite a lot to say. So if you have 10 years experience and a PhD, then I can see all of your skills, experience and work academia possibly justifying 4 pages. But no more. Remember the more you pages you have less chance you have of anyone actually reading them!