Wednesday, 3 September 2014

Two Point Guide to CV Writing

**Please, please, for the love of God, do not put everything in boxes**

It was only a matter of time until this post was written.. I know there's a lot of these out there, but I think I might as well add my two pennies' worth! I see a huge number of poorly structured and written CVs so this is still a problem worth addressing.

I know the market is evolving, and for a lot of developers you'll use code samples, github, stackoverflow, network to find a new job. However, for many people - whether because they're further down the career ladder, or new to the London market - CV writing is still a key part of the application process.

Though some things are a matter of preference, but I would say follow these basic principles and your CV will stand out to recruiters who know nothing about technology as well as technical employers.

1. Make sure the tone is Achievement Led


  • Include a section near the start with Key Achievements. These should be the top 2-3 things you're most proud of. If you're starting out, pick side projects or work experience challenges.
  • Broadly speaking, the STAR approach works at any level (Situation (setting/context), Task (what you were asked to do personally), Approach (what you did, and any challenges you had to overcome), Result (achievement - did you deliver in time, in budget, and what did that mean for your team and company?).
  • Make sure you don't lose your personality when you do this - there is no substitution for simple passion. I come across CVs with bios like 'I have been programming since I was 13, and it is my life', and I still love reading them. I know sometimes that kind of thing might sound a little trite, but it actually normally reads as very genuine, because it is. A combination of personality and achievements is a winner.
  • I would count good spelling and grammar as part of this tone you're trying to set. Spell check your text, get someone else to read it. I've rejected CVs for not doing so and have seen many employers do so as well.

2. Remember to KISS (keep it simple, stupid)


  • I would recommend the following sections and this is my preference of order:
  • Name, contact details > Short Profile (a few sentences) summarising your career history and objective for next role > Key Achievements > Technical Skills (technologies you've used and level you're at) > Professional Experience > Training/Education/Qualifications > Hobbies (anything relevant to your career path is highly relevant to put here). Only exception I'd say is with fresh graduates, where I would put 'Education' straight under 'Profile'.   
  • For Professional Experience, use the STAR approach (above) and outline specific things you did, not your team, though frame your achievements in the context of the wider project and say how it impacted the business. Outline briefly 3-5 key projects/tasks you undertook in the role.
  • If written efficiently, your CV should really not go over 2-3 pages, regardless of level. You only need go into detail for your last three most relevant roles. If you have relevant experience from years back, highlight it in your Key Achievements section.
  • Formatting - a professional looking font (calibri, TNR, arial etc), size 10-12, and **please, please for the love of God, do not put everything in boxes**. Recruiters will send your profile with a couple of others, and will make sure they are all formatted to look the same. This is just professionalism, and we will always talk through your individual suitability in detail over the phone. You will save us both a lot of time if you just keep the formatting simple. If you want to show your design skills, include a link to your portfolio, or have two versions of your CV at the ready.
Any questions or additions would love to hear them, as always!

Friday, 1 August 2014

Oh 'Appy Day!

Apologies for the terrible pun. It's probably a good thing I didn't become a serious journalist.

I wanted to write a post about mobile development for several reasons - I got very confused by this initially and I'm probably still pretty confused (if anybody wants to correct the technical info in this post please do!), but I had a wonderful conversation with a CTO yesterday and thought it was worth pondering with my new found revelations!

Essentially there are three main ways to develop mobile applications, Native, HTML(5) or Hybrid, which sort of straddles both.

HTML(5) Applications are quick and easy to create because they are written as normal web app. They will be available over multiple devices, but will probably have performance issues as available only via the web browser.

So you can wrap them, to create a Hybrid Application, using a wrapper like PhoneGap/Cordova (probably best known) to embed it into a native app. Worth thinking about how you want to market your app, because apparently (I was told during my degree never to reference Wikipedia...) the wrapper sometimes doesn't make the performance sufficient for it to be 'native' enough for the Apple store.

Native Applications run faster than web (HTML) apps because they use a specific language for a specific platform (so Java, C, C#). No translating or compiling has to be done to make this happen. The disadvantage is you have to build separately for iOS and android if marketing your product to both platforms, but result will be fast and more responsive.

Useful chart

If you're interested in reading in more detail than this snapshot, then this is a great article! 'Appy Developing Folks!

Thursday, 10 July 2014

The Technical and The Personal

This point seems to be coming up in my job a lot at the moment – people with excellent technical profiles being rejected for roles because of ‘culture fit’, or bright people being rejected because they don't quite fit a job spec. 
I thought it might make an interesting post, especially off the back of a point I mentioned in my last post, made by Mazz Mosley when she spoke at PrimeConf last month (about what qualities should be important triggers in the decision to promote someone to a leadership role).

Should the person adapt to the job, or the job to the person? How important are hard skills, tech, experience, and how do they weigh in compared to attitude and personality; culture fit?
These are challenges many companies face every day, both when they hire new staff and when they direct existing staff. It’s also a challenge technical people face when they interview, many finding that their technical skills can easily stagnate unless they stay fluid in the job market. If you work at a company that uses a specific set of technologies but not, say, angularJS (which, for better or worse, everyone wants right now… that’s a whole other post…) then you might find it hard to move on to a company using angular. Increasingly, candidates are looking for new roles where they can learn new tech, whilst companies only want to hire people who have already been using this tech.


In some cases – when work needs to be delivered quickly, or expansion is so rapid that it’s hard to find training time, or there’s simply nobody able to train staff internally, for example in an early stages start-up – then of course I can see how there is a need for somebody who brings significant experience. 

Courtesy of Dorothy Dalton
In other cases, however, the decision to look at the technical profile and not the person can lead to hiring mangers missing out on an excellent developer because they are limited by that person’s last job role. It’s something that recruiters get accused of a lot (only looking at the last job role or tech skill, not the person’s complete history/aptitude to learn), but actually I think technical hiring managers can lack that vision too.




Another argument is that, if you only ever hire people with the same skills, you’ll only ever have the same skills in your team… and that’s not good in a market which is evolving fast and competitively. A senior contact of mine recently made this point actually – he’s interviewing currently, and noted that many companies focus too much on the user interaction, (which doesn't translate well into larger systems development and delivery) whilst many others have the opposite problem of not understanding digital and customer experience at all. Few companies are getting the balance. He could have brought a huge amount of wider systems knowledge into a frontend-focussed creative agency, for example, but they only wanted someone with an existing agency background.

In an ideal world...
Personally I think that talented people are at the crux of any successful business plan and so, in an ideal world, you would hire good people first and allow them to define the direction your business takes. You would use the technology that makes most sense for the job, not just the one you were last using. If your employees are talented then they would be able and willing to learn the best tool for the job. Culture fit is a difficult one to pin down, but in my experience if people fail here it is often to do with their ability and desire to learn, or how open-minded they are about trying something a different way. The best companies I work with - or at least the ones who perform consistently above their competitors, who can attract the top 5% of developers and whose developers do not want to leave - create this kind of culture and business model.

Friday, 20 June 2014

PrimeConf - Best of British

I've only just got around to writing about this - which happened last Friday - but it was an incredible day so glad to have the time now!

PrimeConf was hosted to celebrate the best in British Technology, and championed Britain as a hot spot of technical innovation and talent. Held in the beautiful Royal Institution, and with (sorry, but there was..) incredible food(!) the whole day was impressively organised with an interesting and diverse line up.

I thought I'd pick out a couple of talks that got me thinking and discuss them, so here goes!

Warming up for the conference..

Mike Bracken and Russell Davies from Gov.uk
This was really quite amazing...

I hadn't really thought about how awful the government websites were until I listened to this talk. This replaces DirectGov and Business Link, and essentially unifies all the separate departments and creates one interface which works and looks the same way.

In addition they're working really hard to try and make processes digital which would previously have been paperless, so you can apply for permits/rights online, rather than having to complete reams of paperwork.

One point they made which really made me think was that this kind of thing is not just a nice-to-have, it's actually essential if you want to create a democracy people really trust. When it comes down to it, making legislative issues easier for people to access and understand is a fundamental part of providing a good government service. Long overdue I think but it's looking fantastic!

Educational!
Mazz Mosley - Technical Leadership 
Now this one was particularly interesting to me because it's a problem I come across a lot in my work.

Essentially Mazz outlined the difficulties which come with the title 'lead' and the sense of 'entitlement around the title' that she's come across in the industry, well supported by examples from her own experience.

When a developer reaches a certain level of experience in their career, Mazz posited that they start to assume the next natural step will be to a lead role - that the most experienced person in the team has a natural right to assume leadership, regardless of actual leadership skills. She went on to consider how difficult leadership actually is, and how it takes an entirely different set of skills to those needed to be a good developer. She highlighted how lonely it can be when you're leading, and how actually other leaders might not want to cooperate with you due to internal politics...

I think we've probably all been in work environments where we've seen people in leadership positions clearly really resenting being so hands-off. When that person is your direct report, or worse, line manager/team manager, the consequences can be awful for the productivity of the whole team. A good leader has to be prepared to put the team's welfare above their own code, and that's no small ask.

Amy Mather - aka Mini Girl Geek!

This was really inspiring, particularly since I'm learning to code myself, and Amy got to a really high level in just (I think it was) 2 years!

I used to do a lot of public speaking when I was younger, and I was so impressed at the way she spoke - she's very young and is addressing big audiences on a regular basis. She was really likeable and had the whole room laughing at her jokes, but she came across as somebody who was also really in command of what she was saying about technology and getting young people involved.

I heard on the radio this morning that schools are using MineCraft to help children learn, and there was general debate over whether or not this was real learning..
Amy's reached a high level in programming because it's something which really engaged her, and made her want to constantly practice until she got better. She found coding addictive - I reckon if teachers have found a way to make learning addictive by engaging children through the digital world in which they're already immersed outside of school... then that surely can't be a bad thing?!

Anyway, better get back to the business of recruitment... but it was a great day, and thanks to everyone who put it together. Would definitely recommend is there's a follow up event.

Tuesday, 3 June 2014

GameOver Zeus

It seems that no sooner has the internet community recovered from Heartbleed than it's hit by yet another threat! GameOver Zeus has been well publicised but I thought I'd do a quick post to summarise what it is and what you can do to protect yourself in the next couple of weeks (in case you live in a social vacuum but religiously read my blog..!) Every little helps...

What is GameOver Zeus?
GameOver Zeus is a piece of malware (that's malicious software, for non-technical people like me) which compromises the security of computers. Zeus, ZeuS and Zbot are all types of Trojan (Trojan is malware which disguises itself to look like something socially useful, to encourage users to install it - now that's a Classical reference I can understand!) which are typically used to compromise computers in order to steal information/data. In this case, GOZ is an intricate piece of malware designed to steal bank details and therefore drain bank accounts. GOZ works by linking infected computers in a 'botnet', whereby any one of them can then be used to issue commands to the others. There are signs your computer is infected, but it might be hard to tell, especially since such malware is often spread in spam emails which most people are exposed to.

Where did it come from?
Malware is not new, of course, but this particular virus is very sophisticated, and is estimated to have cost victims $100 million globally. According to the FBI, the ringleader of the gang responsible has been identified as Syrian-born Evgeniy Mikhailovich Bogachev, who has still not been located but faces charges over GOZ and is on the Cyber's Most Wanted list. He's also believed to be the leader of the gang behind the CyberLocker virus.

Who is affected?
Users of Microsoft computers... which is a lot of people. It is believed that 15,000 people in the UK will be affected, and an estimated 500,000-1,000,000 machines infected globally.

Symptoms and actions
A full report of actions can be found here, but some easy action points...
- Use anti-virus, and make sure you update it
- Make sure you update your OS and application software
- Change all your passwords, which may have been compromised (make sure you don't use the same one for everything)
- Use specific anti-malware tools (which can be found at the above link too)


Well I know what I'm going to be doing this weekend. Brace yourselves and see you on the other side.

Friday, 16 May 2014

The Curse of the Tech Recruiter

I recently took a client company's team out for drinks - someone I'd worked with for a while and where I'd placed good candidates; someone with whom our track record was good. The more the beers flowed, the more opinionated certain team members became about the behaviour of recruiters, and it made for interesting listening. 

I have a kind of paranoia about this anyway. I got into recruitment with very little idea about how the industry was perceived and, being a bit of a people-pleaser by nature, the idea that some people were cursing my existence before I'd even finished saying my name really bothered me. I got obsessed with trawling the web for articles and comments by developers about recruiters. Initially, it was market research - I wanted to understand the inner thoughts of the people I was trying so hard to work with. I wanted to avoid the mistakes that other people had made, and be a better kind of recruiter that worked in the way that made most sense to candidates and was helpful. But the more I dug, the more I realised we're commonly looked upon as ignorant, arrogant and careless, with no loyalty or sense of decency, and that's the stereotype I now arm myself to battle every time I pick up the phone or write an email!

The problem was that, when a member of this company's team started reeling off his dislikes, many of them were understandable yet largely unavoidable. Two main points he made that I'd like to discuss are:
1. Linkedin has become a free-for-all for unwanted cold contacts
2. Receiving an email at your work address from a recruiter is disrespectful

Both fair points - for a good developer, who is perfectly happy where they are, recruiter contact is unneeded, unsolicited and unwanted. When we argue that Linkedin/an email to a work address we know is valid are sometimes the only way to make contact with somebody we really wish to speak to, a developer might argue (and he did) that there's a reason we can't contact them and we don't have their details - they don't want us to get in touch.

The problem with this is that it's not always the case and, once you've had a success story from using one of those methods, you tend to feel that the slight annoyance caused to the majority of people is worth it if a few people get to advance their career in a way that really benefits them, taking an opportunity they'd otherwise never have known about. It's a kind of reverse utilitarianism in a world (recruitment) where you're used to the majority of your effort coming to nothing, but I've had many candidates thank me for making contact, even though it was unsolicited. Many didn't even consider moving, until they saw what they could be moving for. In fact, most of the placements we make are people who weren't actively looking; that's the nature of the current market. 

That's not to say that all recruiter contact will be like this and yes, probably, in most cases, the contact goes unreturned. And of course, another problem is the volume of emails you get which are long AND mailshotted (and I get them too so I know how annoying it can be - I'm currently being spammed by some dutch company where all the writing is in dutch (which I don't speak..)), but some of them will be genuinely well thought out and targeted towards a specific person and their career history. True, I can't know what a developer wants before we've spoken, so I do have to guess based on past experience, but if they never reply to me then I never will know I'm wrong. 
 
And if somebody replied to me and told me never to contact them again, I wouldn't. So I guess what I'm trying to say, in a very long (though not mailshotted) way, is that I'm sorry if anybody receives an email or a Linkedin message from me and it pisses them off, but it's my job, and I do it because there are many people who, as a result, get a fantastic new job that they love. And also - if it pisses you off, I'd love you to tell me it does, and tell me why!

Thursday, 24 April 2014

The Rise of the Citizen Developer

I've been seeing a lot of articles about this recently and I thought it was worth a post, since it's something I have been noticing in my day job, too.

When I left University (granted, with an English Degree, but I think this applies to Computer Sciences too), and throughout the course of my education both at school and University, I was told how much value my degree would add to my job hunt. I was told employers wouldn't look at my CV if I hadn't got at least that 2:1 and I'd been to a red brick. Personally, I was always sceptical about the value my, almost entirely self-taught, literature degree was going to add to a career that wasn't research or teaching, and that's a concern I think was justified given the cost of a degree. What my degree (with its 4 contact hours a week) did allow me to do was broaden my extracurricular activities and actively make myself more employable. When I got into recruitment (a career, by the way, which doesn't normally require a degree), I realised that a degree is often similarly irrelevant in software development job hunting.

When I screen a CV on a first glance I'll look at most recent relevant experience and technical summary, and I won't even notice education on a first look unless it's something for which I'm specifically screening. I would rate an obviously strong github profile or a clearly passionate summary paragraph above a 2:1 in Computer Science where the person had not been coding outside of that. And that's because from my experience I think employers do too.

I was reading that Google announced last year they were no longer looking at GPA scores when they select candidates, preferring portfolios as a better benchmark of future job performance. Thus rises the "citizen developer" (coined by tech company Gartner). There's an argument to be made that all developers are in a sense citizen developers, because personal improvement is a continuous thing, even once you've secured a job, so I guess the crunch point centres around how you enter the market - as someone formally educated or as a freelancer turned full-time.

This doesn't happen just on a junior level (i.e people getting into their first job), and I'm seeing an increasing number of people career switching around the age of 30 to pursue their true passion which had, up until that point, only been a recreational hobby. People are training themselves either by freelancing or through formal courses from Sales backgrounds, Teaching backgrounds, Linguistic backgrounds. Most people going for a complete career 180 in this way seem to go down the formal route - I'd speculate because it seems time efficient, structured, and because they can afford to. A career change of that nature is a serious decision and I guess a formal educational course seems like a decisive and serious action point to support that. For entry level roles however, I'm sceptical about the advantages a formal education provides. I think more value is added by coding courses (like Makers Academy, General Assembly, Coderwave etc) than traditional degrees, as they are cheaper, more targeted and more intensive in many cases, besides which they will almost guarantee finding strong performers a job afterwards (based on my experience of University careers services I feel they are weak at this kind of post-study support).

I would suggest that young development hopefuls think very carefully about their path into employment, and really do their research, particularly given the hike in University fees the year before last. University, in my opinion, gives the student more in life experience than in educational experience. Before you get stuck in, consider your options and remember there is more than one route to life experience!