Good news for the start of 2013

I’ve got a feeling that despite all my gloomy predictions at the end of last year, 2013 is going to be a good year for the City of London. I started to think that things might not be as bad as I had thought they would be when within a few days of being back in the office we started to get some interesting roles being released. Now, 17 days into the year we have about as many live roles now as I did at my busiest period at any point last year.

A healthy number of roles is always a good sign, but IT recruitment tends to be a “bellweather” for how the financial markets are doing, as opposed to an accurate indicator. For instance lots of roles in January could just be a sign that it’s the New Year and companies wanting to test the market to see what the quality is like, rather than actually having a need to hire.

Good news from the States means good news for us

But there has actually been some low level good noise floating about since the summer, I refer mainly the Oil and Gas boom in the USA. Their enthusiastic adoption of “fracking” has revolutionised their national energy landscape, which is going to help their economy recover, leading to surprising stories that the US is now a net exporter of oil and that they expect to export more oil than Saudi by 2020 flying around.

The US economy is flying

Then last week I read this article in the BBC news Bank of America to pay Fannie Mae billions to settle mortgage claims. Now that Bank of America, Citigroup, JP Morgan and Wells Fargo have settled their dispute with the US Government (Fannie Mae), the toxic debts they acquired in the lead up to 2007 / 08 will have been cleared off their liability books, which will improve their balance sheets at a stroke, meaning that they can now lend more, pay more dividends and be in a stronger position for the banking standards currently being implemented (i.e. Volcker and the rest of Dodd-Frank). Now they don’t have set aside so much capital to meet these liabilities many of the banks can start chalking up bigger profits.

And today the front page of City AM sees JP Morgan announce, alongside Goldman Sachs, that profits are up 12%. And even better news was that Goldman Sachs recorded a 19% rise in total revenues in 2012. As these two top investment bank do well, we should start to see the other banks also starting to do well. And with all the cost cutting the banks have been doing since 2011, they should be in a place where profits can come quite quickly.

Which can only mean good news for Java developers in the City of London and Finance Technology recruiters like myself. Hopefully this recent spate of jobs will be the beginning of a more successful period than recent years!

On an aside I just can’t help but think what a shame it is that whilst the US banks have been able to sort themselves out, the UK still seems to lag behind. How long do we have to wait for our own banks to move on from the quagmire of 2008?

Advertisement

January

January

Not a great quality photo for January, I’ll try to get a better one later in the month.

My predictions for the Java development market in 2013

It appears that in 2013 the economy will continue to remain largely flat, with hiring continuing at the same slow rate that we saw in 2012. This year we saw hiring driven largely by regulatory changes, replacement of contractors by off shore and permanent resources, a rise in specific-tendered-for consultancy work and a limited amount of strategic projects driven by long-term, global business decisions.

In 2013 a number of high profile banks will be recovering from regulatory fines levied in 2012 and it looks as if we are yet to see the full fall-out from the Libor scandal. July 2013 will see the new Governor of the Bank of England, Mark Carney take control of Threadneedle street, I don’t know much about his approach but I have heard that he doesn’t like QE and that he is also likely to increase the base interest rate during his tenure.

So not great news to bear in mind during the festive season, but probably no surprise to anyone as no one has really been predicted a massive improvement in the economy in 2013. It is interesting to reflect that when the economy crashed in 2007, there were some hard-to-believe predictions that the economy would take 10 years to recover, 5 years later and it doesn’t look so hard to believe. Saying that I have started to hear that things will look very different in 2014, and that despite any national economic predictions, the City might well do very well indeed…

It is worth bearing in mind that every market has its winners and losers, and some people will be making lots of money this year, so my overall advice to Java developers for 2013 is to get your CV ready, so that you can capitalise on good opportunities when they come along.

My tips for 2013:

THE GENERAL RECRUITMENT SCENE

• Offers have been largely flat this year, so make career choices that will pay off in the long run rather than the short term. Opportunities that will increase your technical portfolio, your business skills or project management experience will all help your career to continue to develop during these difficult financial years

• If you have a want to achieve a big pay rise – say you believe you are being paid about 10 – 20k less than your market worth – you are unlikely to achieve it with one career move. HR and procurement are looking closer than ever at percentage increases on basic salary / daily rate, and large increases are becoming much rarer. So making a strategic move in 2013, with a view to moving on again the year after, will be more likely to get you where you want to be, rather than simply waiting for the economy to pick up in 2014

• Many budgets will continue to remain flat and BAU work will reign. This will make opportunities to work on greenfield projects will hot property

• The contractor share of the developer market will continue to suffer as employers continue to look to make savings by hiring permies and outsourcing.

• 2012 was not a good year for experienced developers in general, be they contractors or permies, with juniors being in especially high demand. I don’t think 2013 will see any change

• Offshoring and nearshoring will continue to increase, with countries like Poland and the Ukraine being the main beneficiaries, whilst Hungary, Romania, Israel, Vietnam, India, Singapore, China and Russia also benefiting. A knock on benefit of this will be continued demand for dev managers with offshore and Agile experience.

FINANCIAL REGULATORY REFORM

This year we have seen more a dramatic increase in stringent regulatory requirements coming from Dodd-Frank, Basel III and the FTT, I think a rule of thumb will be:

• The French Financial-Transactions Tax (FTT) or “Tobin Tax” is threatening to wreck the Euronext market, and therefore much of the UK high frequency trading market, taking a large chunk of UK revenues from FX and equities trading with it

• Basel III will wreak serious damage to the fixed income business, as new capitalisation rules mean many bank’s revenues from fixed income trading will be down

• Dodd-Frank will seriously limit the ability of the investment banks to make money out of derivatives products and exotic swaps (continuing to reduce the effectiveness of the OTC derivatives market)

HOT TECHNOLOGIES

• Java 8 will be released in the summer providing Java developers with the ability to write Lambda expressions into their code for the first time, a feature that has been widely enjoyed by C# developers since 2007. Java 8 will also include the final components of Oracle’s new Rich Internet Application package “JavaFX” which was otherwise released with Java 7

• 2012 now looks like it was the year of Big Data and NoSQL, and I expect both technology veins to continue to do well in 2013. Both were picked up to varying degrees by the financial markets and were largely used for their analytics features in response to regulatory reporting requirements

• Scala is still gaining in popularity with many developers in the City having learnt it in their spare time and 2012 saw an increase Scala projects led from top down. I suspect the trend will continue in Scala’s favour over 2013.

• Adobe’s CQ5 UI suite really took off in 2012 and I suspect it will continue to do so in 2013.

• HTML5 is now practically considered an industry standard and will continue to solidify its position in 2013

• Mobile and web applications will continue to grow in importance in 2013 – I don’t think this market has reached its potential by any stretch. As security measures improve for iOS we will continue to see increased utilisation of smart phones and tablets for business purposes by sales teams, portfolio managers and traders

That’s all from me for 2012. See you in the new year!

Image

December

December

Another post-Agile methodology

Following on from my previous blog about Programmer Anarchy, I was doing some more research into post-Agile concepts and came across a new methodology called “Programming, Motherfucker” by Zed A. Shaw. Here is a link to his site.

Zed’s methodology is a new way of programming which focuses on pure coding as the main form of development, and rejects the utility of most management roles in the same way that “Programmer Anarchy” does, but does include space in the team for Management, Asshole (which I had also concluded was the primary weakness of Programmer Anarchy).

The “Programming, Motherfucker” philosophy solves problems, tests its code and completes tasks on time and under budget all using the same methodology: “Programming, Motherfucker”. At the same time “Management, Asshole” takes responsibility for tasks like finding out what client wants by asking them, providing the programmers with the right tools to code and then feeding back to the development team when the client is happy or not with the product.

In the words of Zed:

It’s awesome because it does the one thing that actually gets software up and running.

Makes sense to me. If you think so too, or want to learn more about implementing this post-agile methodology in your office, visit Zed’s site (and maybe even buy a t-shirt).

What is Programmer Anarchy and does it have a future?

A developer I know recently told me that he wasn’t interested in any new opportunities in the short term because his team were about to adopt Fred George’s post-agile concept of  Programmer Anarchy. Having piqued my interest, I started to explore and thought I would share my findings.

From what I’ve found I think he’s a bit mad, but he thinks it’s a good idea and at least 2 major UK companies are using it, so there must be something to it.

* Frequent visitors to this blog will notice that I use the term “Programmer” here a lot, as opposed to the usual “Developer” – that’s simply because Fred George uses that term, and he probably uses it because he’s American.

WHAT IS this Programmer Anarchy?For those of you who don’t have their ear pinned to the techie ground, Programmer Anarchy is a concept that has been around for about the last year, is considered “post-Agile”, has so far been evangelised by Fred George and says that software development is more productive when programmers are “self organised”.

So Programmer Anarchy is…

  • At the start of the day the programmers choose their own work during daily stand-up meetings
  • There are no PMs, Iteration Managers, BAs, QAs / testers or “managers of programmers” – all the normal rules of managing software development in a professional environment are gone. This is on the basis that formality and rules are constraining to creativity and productivity
  • It runs on the concept that with no managers to give power to their programmers to go ahead and develop (managers “empowering” their teams), programmers go ahead and take total responsibility for the success of each project in a form of self-organised “anarchy”
  • Integral to this is the adoption of the mindset “what if you were guaranteed not to fail” and the idea that disagreement and failure is expected, and both are ultimately productive outcomes. They want programmers to lose the “fear of failure”
  • Programmers work directly with the customer, which builds more trust and understanding about how the SDLC is affecting delivery
  • And to top it off Programmer Anarchy is still Agile Manifesto compliant:
    o Individuals and interactions over processes and tools
    o Working software over comprehensive documentation
    o Customer collaboration over contract negotiation
    o Responding to change over following a plan

For more detail here is link to a presentation Fred George gave, and a link to the slides.

What has Fred George done with it?

Fred George’s experience of Programmer Anarchy has been at an internet advising company called “Forward” where they got “40 geeks together” and instituted the new methodology. They work for a number of high profile clients, including “Search” a big energy company. And they report not only happy programmers but also some impressive statistics:

So this “programmer’s Nirvana” is going to be the next big thing then?

I don’t think so. I think it’s a great idea, but ultimately I can’t see it being a game-changer.

Agile is a big tent concept that allows lots of different implementations under the same name and has been widely adopted for different reasons. On the one hand it’s a good PR tool that breaks down the wall between producer and user, and on the other hand it improves productivity when correctly implemented. I also don’t think it’s any co-incidence that the popularity of Agile really picked up at the same time that the big tech reliant companies started to make their offshoring models work successfully. Paired programming can produce higher quality code when people work collaboratively, but it takes up two developers’ time and that can be hard for some projects to justify.

Agile is implemented in a wide variety of ways, from a kind of religious dogma, to a model that is fairly close to waterfall but with stand-ups and scrum masters through to the “Thoughtworks approved” approach. One thing I have found as a recruiter is that it takes a team of very high quality developers to make a truly Agile methodology work successfully. I know a team at Credit Suisse that have successfully implemented something fairly close to this (a team of 20 developers, one BA and one PM) and they took a long time to recruit the team because their entry criteria was so high. You don’t just need a good programmer, you need one with good communication skills, one that understands the business enough to work with it productively and one that is savvy enough about why tactical and strategic decisions are made.

And so, I suspect, it is with Programmer Anarchy. Fred George’s experience of Programmer Anarchy was probably so positive because he was working in a team of high performance programmers, who, like him, could cope with the demands of self-organized development. The advantage of Waterfall and the less purist versions of Agile is that they can accommodate lower performance team members and still be productive. Take the example of a tester, or a 3rd line support analyst – in the main their ranks are filled with the below-par programmer. They help the process by reduce the programmers’ work load and don’t cost as much to the CFO’s bottom line. So if you get the division of labour right, you can produce the same result for less money and spend less time recruiting the team in the first place.

But I guess the real problem with Programmer Anarchy is that it takes away the central “leader” figure. Often in big projects not everyone contributing has dedicated their lives to the success or failure of this project. Programmer Anarchy presumes that everyone in the team is totally passionate about the project’s success, but in reality it’s often only a few members of a team who wholeheartedly take on the successful delivery of the project as a top priority in their lives. You find that many other members of the team prioritise their private lives more when it comes to spending time in the office, or that their minds are somewhere else when they are sitting at their desks. I wonder if Programmer Anarchy presumes everyone on the project is a natural pig and forgets about the chickens.

With a central leader figure you also get one person who has staked the next part of their career on the success of the project and they become the driving force behind it’s delivery. Programmer Anarchy presumes everyone is their own leader, but again not everyone is like that. Lots of people don’t want to take control or drive through the delivery, they just want to do a day job.

Finally I suspect that Programmer Anarchy has a tendency for “perfectionism-by-the-back-door”. On the face of it it has a kind of hacky feel, where programmers produce lots of work because they are all developing at their optimum rate. In practice I suspect there’s a bit of a bun fight for the best bits of work, with the least interesting bits going to the least outspoken members of the team and without a central “leader” figure no-one to enforce tight deadlines. And who organizes the stand-ups in the first place? In an environment where formal power has been removed, anyone with some measure of control over the process will start to exert their power. With a central leader there is someone who divides up work and ensure that deadlines are hit.

I also bet “Programmer Anarchy” is exhausting as 100% effort is expected all of the time, when in fact normal development isn’t like that. As with any job there is an ebb and a flow at busy times and slow times. I would like to see a comparison between the productivity statistics that Fred George gives for his “Programmer Anarchy” team, and the same criteria for an Agile team who are working flat out to hit a tight deadline

I suspect that Fred George’s experience of Programmer Anarchy was successful because it’s the right methodology for him, with his level of professional and commercial experience and with his independent mindset. And I think that some teams will take this up and it will work very well for them, but in general its not right for everyone.

So I don’t think we need to start learning the words to any Billy Bragg tunes just yet.

OK, so what would you do then?

I think the most powerful idea in Programmer Anarchy is the idea that programmers take personal responsibility for the success of each project, the rest of it feels to me like a mix of good intentions, some feel-good Californian vibes and a heavy dash of Marxism. I think that any kind of team will always need a division of labour, a leadership structure to organize and motivate the team and a support function to allow the core part of the team to focus on doing what they do best.

A rough guide to Polish Universities

I have been doing some digging around recently into which Polish Universities have a reputation for turning out good Java developers, and as a rule the top 5 seem to be:

  • University of Warsaw
  • Jagiellonian University in Krakow
  • Politechnika in Wrocław
  • Gdansk
  • Poznan

In general all Polish Universities seem to have a high bar and I think that is reflected by the generally good standard of Polish developers in the UK.

Most cities seem to have a University and a Politechnika, which are divided on the same lines as the UK – the former providing more theoretical focused courses and the later more technical ones. Saying that the Politechnikas have a much, much better reputation than the British Polytechnics, and often the two institutions vie for the top place in that city. So for instance the Politechnika in Wrocław has a better reputation than the University of Wrocław. Politechnika tend to run courses that are more “electrical engineering” based and will have resources like micro processor labs onsite.

The top university in Poland is the University of Warsaw. Its got a reputation for teaching its students core computer science concepts and quite a lot of its students go on to do a PhD in algorithms or the JVM or similar. During high school students take Olympiad exams and the highest scoring students get to choose which University they attend, and many will choose the University Warsaw, with those who don’t opting for another top uni because it is closer to home. Students at the University of Warsaw also tend to score consistently well in global competitions like TopCoder and IBM’s ACM-ICPC, often beating the USA’s prestigious MIT. This institution is not to be confused with the neighbouring “Cardinal Stefan Wyszyński University”, which seems to be the “Oxford Brookes” of Warsaw – a good university in its own right, but not at the prestigious level of the city’s main institution.

For Gdansk and Poznan there is apparently not much difference between the Universities and the Politechnika – each have good reputations. I also don’t know much about the Jagiellonian in Krakow, other than it very prestigious and many Olympiad winners also choose to attend.

On an aside, it is interesting to note that there is no major Polish tech company. Most countries today where computer programming is a strong industry tends to have at least one global IT corporation but Poland doesn’t. I suppose that’s because for the last 20 years Polish programmers have tended to leave Poland to build their career in countries like the UK or USA in exchange for higher salaries, a higher standard of living and a more international working environment. Today Poland is catching up on all 3 of those factors, which I imagine will steadily work to stop the “brain drain” and we should see a major Polish tech company appear as that happens. Putting my money on the table, I am going to predict one appearing in the next 5 years.

Malaika Arora and the morning after…

During last night’s Diwali party I was introduced to the concept of the Item Girl and Malaika Arora:

For the un-initiated an “Item Girl” is a hot girl who comes on screeen during a slow part of a Bollywood film to wake the boys up – undoubtedly dragged there by their wives, girlfriends, mistresses etc. From what I can tell the Item Girl has nothing to do with the storyline what-so-ever, she is simply there because she is hot and can wiggle. A fantastic concept I think should be introduced to the western movie genre asap. He is another picture of Malaika in situ:

To see Malaika in her full glory click here.

Otherwise I think its fair to say that my Diwali experience last night was not exactly traditional – we only had 2 Dias – however we did have a very good time. We had some singing (starting with “Bipasha Basu” and then we had “Amay Rakhte Jodi” and “Tumi Kobe Ashibe” by Atul Prashad Sen) and then things went Bollywood-crazy. All in all quite a night! Thank you.

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.

Happy Diwali!

Happy Diwali to all those who are celebrating today! I am off to a Diwali party tonight – my first ever – so I am looking forward to finding what it is all about.