SlideShare a Scribd company logo
How to write a 
Developer CV/résumé 
that will get you hired 
Peter Sergeant - pete@perl.careers - http://perl.careers/
All About Me
Who I am: Perl Developer 
• 13 years commercial experience with Perl 
• Gave my first talk at YAPC ~ 14 years ago 
• 15 CPAN distributions 
• Been a contractor, a permanent employee, and a 
freelancer
Who I am: Hiring Manager 
• CTO at an enterprise software company 
• Team of 40, most of whom were Perl developers 
• Spent a lot of time reading CVs, interviewing, 
hiring
Who I am: Recruiter 
• Run a recruitment agency called Perl Careers 
• Specialize in Perl developers in the UK 
• Please come and get a pen and a business card 
• They were expensive
Who I am: Who Cares? 
• The only recruiter who has been on all four sides 
of the table 
• Developer looking for work 
• Developer roped in to interviewing potential 
coworkers 
• Hiring manager 
• Recruiter 
• I’m going to show you how to write an awesome 
CV
The Gatekeepers
The Gatekeepers 
• Your CV has three types of people who read it 
• They have different requirements of it 
• You need to make sure it talks to all of them 
• They are…
HR Person / Recruiter 
• First person to see your 
CV 
• Probably non-technical 
• Decides whether or not 
your CV should be sent 
to someone technical
HR Person / Recruiter 
Questions (1/3) 
• Do you have appropriate skills for the role? 
• Keyword matching 
• “Sorry, you need JavaScript experience, but all I can see 
in the web development section is AngularJS and 
jQuery” 
• Pays to be explicit and verbose about skills, but more on 
that later 
• Vague understanding of the job specification by 
talking to the Hiring Manager
HR Person / Recruiter 
Questions (2/3) 
• Are you employable? 
• Does your work experience have large and unexplained gaps? 
• Do you have lots of jobs that weren’t contracts and lasted less than two years? 
• Do you say nasty things about previous employers? 
• Does your LinkedIn profile match your CV? 
• Does Googling your name bring up your blog about how you’re trying to overthrow 
the government? 
• Basically: 
• If they’re internal HR, they want to know if you’re likely to be a liability to the 
company 
• If they’re a recruiter, they want to know if they’re going to look like an idiot when you 
reveal in the interview that you were fired from your previous three roles 
• Later… 
• We’ll be covering how to make sure your mottled job history looks reasonable
HR Person / Recruiter 
Questions (3/3) 
• Are you eligible to work in the UK? 
• Is your current location listed as non-UK? 
• Have most of your jobs been in countries outside the EU? 
• If you have a “non-English” name, have you been clear about 
the citizenship you hold? 
• Because… 
• Most companies are too lazy to sponsor foreign workers 
• No-one wants to waste time on interviews for someone who 
can’t legally accept a job they’re offered 
• Later… 
• We’ll talk about how to make sure you don’t get excluded at 
this stage…
Hiring Manager 
• (Usually) Senior technical 
person 
• Quite possibly your future 
line manager 
• Has much better things to 
do than read your CV 
• Is it worth investing time 
in getting you in for a 
phone or in-person 
interview?
Hiring Manager 
Questions (1/3) 
• Do you have actual commercial Perl experience? 
• … or is Perl one of many languages you wrote a few 
lines of once? 
• … are you a sysadmin who has done terrible, terrible 
things in Perl?
Hiring Manager 
Questions (2/3) 
• Do you have the other required skills? 
• Knows which ones are important and which are not 
• Actually knows what the candidate requirements are 
• Hiring Manager secretly believes she could have just 
written “Senior Perl Developer”, and the right people 
would have applied 
• HR bullied her in to writing a job description
Hiring Manager 
Questions (3/3) 
• Bonus points: do you have any open-source 
work? 
• Not required, but usually a big win 
• Shows you actually care about programming 
• We’ll talk about how to dress this up later, even if you 
have very little
The Interviewing Developers 
• Your future coworkers 
• Often a random selection of 
developers who the Hiring 
Manager could lay her hands 
on 
• They have absolutely no idea 
what they’re doing 
• Probably the people with the 
most sway over if you get hired 
• Stave off boredom during the 
interview and form an 
opinion on if they would 
enjoy working with you
The Interviewing Developers 
Questions (1/3) 
• Do you know about Perl and programming? 
• This may well take the form of random trivia 
questions they recently learned the answers to 
• “What does this snippet of code I pulled from a Code 
Golf site do?” 
• All sorts of stupid questions about the comma operator 
• “What’s a Monad?” 
• You need to give them more interesting things to talk 
about instead, and we’ll talk about how in a minute
The Interviewing Developers 
Questions (2/3) 
• Could they work with you? 
• Are you friendly and do you smile? 
• Do you get irritated and flustered by inane technical 
trivia questions? 
• Do you smell funny, and did you wear a suit? 
• Or at least business casual 
• If you can’t be bothered to dress up a little bit for your 
interview, the Hiring Manager knows that you are going 
to be a huge pain in the ass to manage 
• True fact.
The Interviewing Developers 
Questions (3/3) 
• They don’t do this for a 
living 
• You need to help them find 
interesting things about you 
to talk about 
• They will be desperately 
scanning your CV for 
interesting things to talk 
about to avoid awkward 
small talk 
• Your CV should be full of 
interesting things about 
technology you want to talk 
about
The Gatekeepers: Summary 
• Your CV needs to help 
each of them answer their 
questions 
• Nobody enjoys reading 
CVs 
• The best anyone will do is 
skim it 
• Make it easy for them to 
answer their questions 
• Avoid any show-stopper 
bugs
Summary Section
Summary Section: 
How to get it wrong 
• A description of your 
character attributes and 
career goals 
• No-one cares 
• Recruiters and HR people 
think programmers are 
weird already, this won’t 
help 
• Hiring managers have off-the- 
charts cynicism, and 
know it’s a bunch of 
twaddle 
• Interviewing developers will 
think you’re an idiot. 
“I am a self starter and also a 
quick learner. I am highly 
motivated, with ambitions to work 
for a company whose high 
standards match my own. I am 
conscientious and experienced in all 
aspects of software development, 
including PERL, CGI, and HTML 
programming languages.
Summary Section: 
The Good News 
• It’s possible to do this well enough that people 
won’t really bother reading the rest of the CV 
• You can give each of the audiences something to 
read 
• You will need precisely 3 bullet points
Summary Section: 
HR Person / Recruiter 
• Help tell them you’re in the right place 
• Repeat the job title back to them 
• Throw in some of the skills that were 
listed as required 
• Help them to understand that they are, 
in fact, looking at a CV for a “Senior 
Perl Developer” by writing it down 
“I am a Senior Perl Developer with 
15 years experience, including 
exposure to Puppet and Chef and 
JavaScript, CSS and AJAX”
Summary Section: 
Hiring Manager 
• DEMONSTRATE UNDERSTANDING 
• Don’t just claim skills, prove them 
• Mediocre: “8 years of Perl, testing, DBIx::Class, Plack, 
Catalyst, CGI, Test::More” 
• Excellent: “I'm an active proponent of Modern Perl - I love the 
power of composing resultsets in DBIx::Class, using Plack to 
hide web-server implementation details, and the way that 
Test::Builder-based testing tools all interact well with each 
other” 
• Say what you like or dislike about the tools you’ve used, and 
observations on them 
• This is approximately a million times more convincing than just 
listing keywords
Summary Section: 
The Interviewing Developers 
• Give them interesting things to talk to you about 
• “My personal development projects include an automated cat 
treadmill using Arduino with a digital signal processing 
component written in Perl using the Event module” OR 
• “In my free time, I'm currently working on an app that 
converts photographs of crossword puzzles in to playable 
games” OR 
• “I teach an after-work class to my colleagues in using 
AngularJS” 
• The more interesting things you have to talk about, the more 
passion you’ll show about programming … 
• … and the less time they’ll have to ask inane brainteasers 
they read online
Summary Section: 
Summary 
Summary 
I am a Senior Perl Developer with 15 years experience, including exposure to Puppet, 
Chef, JavaScript, CSS and AJAX. 
I'm an active proponent of Modern Perl - I love the power of composing resultsets in 
DBIx::Class, using Plack to hide web-server implementation details, and the way that 
Test::Builder-based testing tools all interact well with each other 
My personal development projects include an automated cat treadmill using Arduino with a 
digital signal processing component written in Perl using the Event module 
• If you get this right, that’s all you really need to get an interview 
• And to have interesting things to talk about in your interview 
• Everybody hates reading CVs, so save everyone some time by 
putting the important stuff succinctly at the start 
• Just don’t screw up the rest of the CV 
• Alarmingly easy 
• That’s what we’ll talk about next
Skills
Skills 
The Basics 
• TALK ABOUT THE 
IMPORTANT THINGS FIRST 
AND AT LENGTH 
• If your experience with Java 
Server Pages takes up as 
much ink as your experience 
with Template Toolkit, you are 
DOING IT WRONG 
• If your experience with Java 
Server Pages takes up as 
much ink as the fact you once 
read the Class::MOP 
documentation in depth, you 
are STILL DOING IT WRONG
Skills 
Bad Example 
• Perl (7 years) 
• Java (2 years) 
• Linux (5.5 years) 
• CGI (2 years) 
• FTP (12 years) 
• T-SQL (1 year) 
• Only the HR Person / 
Recruiter cares 
• They don’t know what 
Linux or FTP are anyway 
• They have seen 5,000 
CVs like this
Skills 
Good Example 
Perl 
Testing 
I have a deep and broad experience with Perl's testing tools. Most general testing I have approached 
with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My 
Test::More tests are usually supplemented by Test::Differences because it provides a considerably 
better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more 
attention when extending test suites, but in my experience, chasing test coverage numbers leads to 
brittle tests. 
Web Frameworks 
I have extensive experience of using Catalyst, and have appreciated the development team's focus on 
backwards compatibility in several complicated upgrade situations. I have some exposure to both 
Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern 
web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's 
abstraction of the underlying webserver to be very useful, especially when it comes to some of the more 
interesting middleware. 
• Talk about your experiences as proof that you’ve actually used the 
tools you talk about, and have formed an opinion on them 
• Shows the Hiring Manager your experience really happened 
• Gives developers something to talk to you about
Skills 
Good Example 
Perl 
Testing 
I have a deep and broad experience with Perl's testing tools. Most general testing I have approached 
with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My 
Test::More tests are usually supplemented by Test::Differences because it provides a considerably 
better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more 
attention when extending test suites, but in my experience, chasing test coverage numbers leads to 
brittle tests. 
Web Frameworks 
I have extensive experience of using Catalyst, and have appreciated the development team's focus on 
backwards compatibility in several complicated upgrade situations. I have some exposure to both 
Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern 
web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's 
abstraction of the underlying webserver to be very useful, especially when it comes to some of the more 
interesting middleware. 
• Show off your battle scars 
• Insights you’ve gained from experience 
• (Make sure you’re actually able to say something interesting 
about this in the interview)
Skills 
Good Example 
Perl 
Testing 
I have a deep and broad experience with Perl's testing tools. Most general testing I have approached 
with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My 
Test::More tests are usually supplemented by Test::Differences because it provides a considerably 
better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more 
attention when extending test suites, but in my experience, chasing test coverage numbers leads to 
brittle tests. 
Web Frameworks 
I have extensive experience of using Catalyst, and have appreciated the development team's focus on 
backwards compatibility in several complicated upgrade situations. I have some exposure to both 
Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern 
web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's 
abstraction of the underlying webserver to be very useful, especially when it comes to some of the more 
interesting middleware. 
• Talk about something slightly contentious, or an interesting opinion 
• Gives the interviewers something to talk about that you can prepare 
an awesome answer to
Skills 
Good Example 
Perl 
Testing 
I have a deep and broad experience with Perl's testing tools. Most general testing I have approached 
with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My 
Test::More tests are usually supplemented by Test::Differences because it provides a considerably 
better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more 
attention when extending test suites, but in my experience, chasing test coverage numbers leads to 
brittle tests. 
Web Frameworks 
I have extensive experience of using Catalyst, and have appreciated the development team's focus on 
backwards compatibility in several complicated upgrade situations. I have some exposure to both 
Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern 
web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's 
abstraction of the underlying webserver to be very useful, especially when it comes to some of the more 
interesting middleware. 
• These are great weasel words for when you want to talk about 
something you’ve played with a bit, but aren’t prepared to answer 
detailed questions on…
Skills 
Good Example 
Perl 
Testing 
I have a deep and broad experience with Perl's testing tools. Most general testing I have approached 
with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My 
Test::More tests are usually supplemented by Test::Differences because it provides a considerably 
better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more 
attention when extending test suites, but in my experience, chasing test coverage numbers leads to 
brittle tests. 
Web Frameworks 
I have extensive experience of using Catalyst, and have appreciated the development team's focus on 
backwards compatibility in several complicated upgrade situations. I have some exposure to both 
Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern 
web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's 
abstraction of the underlying webserver to be very useful, especially when it comes to some of the more 
interesting middleware. 
• Putting certain skills in bold looks a little weird, but helps HR / 
Recruiters find keywords mentioned in the job spec
Skills 
More Skills 
Systems Administraction 
I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have 
used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term 
release policy. The website I run for my local cat-fancier group is setup using Puppet, 
running Postgres via nginx. 
Front-End 
I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a 
little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and 
have recently started dabbling with AngularJS in my free time. I am able to both describe and - 
with much practice - pronounce 'CSS specificity'. 
Other Skills 
I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, 
Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda 
calculus, and IP over Avian Carriers. 
• Use the same approach for non-Perl skills you want to talk about
Skills 
More Skills 
Systems Administraction 
I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have 
used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term 
release policy. The website I run for my local cat-fancier group is setup using Puppet, 
running Postgres via nginx. 
Front-End 
I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a 
little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and 
have recently started dabbling with AngularJS in my free time. I am able to both describe and - 
with much practice - pronounce 'CSS specificity'. 
Other Skills 
I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, 
Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda 
calculus, and IP over Avian Carriers. 
• Demonstrate understanding by giving opinions
Skills 
More Skills 
Systems Administraction 
I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have 
used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term 
release policy. The website I run for my local cat-fancier group is setup using Puppet, 
running Postgres via nginx. 
Front-End 
I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a 
little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and 
have recently started dabbling with AngularJS in my free time. I am able to both describe and - 
with much practice - pronounce 'CSS specificity'. 
Other Skills 
I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, 
Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda 
calculus, and IP over Avian Carriers. 
• Demonstrate understanding by highlighting interesting technical 
facets of things you’ve worked on 
• Again, this will give interviewing developers something to talk to you 
about
Skills 
More Skills 
Systems Administraction 
I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have 
used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term 
release policy. The website I run for my local cat-fancier group is setup using Puppet, 
running Postgres via nginx. 
Front-End 
I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a 
little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and 
have recently started dabbling with AngularJS in my free time. I am able to both describe and - 
with much practice - pronounce 'CSS specificity'. 
Other Skills 
I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, 
Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda 
calculus, and IP over Avian Carriers. 
• Nothing wrong with throwing in a little bit of personality 
• Especially as you’ll probably be nervous in the interview
Skills 
More Skills 
Systems Administraction 
I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have 
used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term 
release policy. The website I run for my local cat-fancier group is setup using Puppet, 
running Postgres via nginx. 
Front-End 
I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a 
little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and 
have recently started dabbling with AngularJS in my free time. I am able to both describe and - 
with much practice - pronounce 'CSS specificity'. 
Other Skills 
I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, 
Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda 
calculus, and IP over Avian Carriers. 
• Don’t go overboard with the personality though…
Skills 
More Skills 
Systems Administraction 
I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have 
used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term 
release policy. The website I run for my local cat-fancier group is setup using Puppet, 
running Postgres via nginx. 
Front-End 
I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a 
little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and 
have recently started dabbling with AngularJS in my free time. I am able to both describe and - 
with much practice - pronounce 'CSS specificity'. 
Other Skills 
I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, 
Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda 
calculus, and IP over Avian Carriers. 
• This is where you can finally tell the world about all of your 
experience with XSLT, Java Server Pages, and a bunch of other 
technology no-one hiring your for a Perl developer position cares 
about. Go wild.
Open Source 
Experience
Open Source Experience 
• Easiest way to prove you actually care about 
programming 
• One of the few pieces of “technical screening” a 
non-technical person can do 
• How much you have is going to determine how 
you should present it…
Open Source Experience 
“I am defined by Github”
Open Source Experience 
“I am defined by Github” 
Open Source and Community 
Test::BDD::Cucumber 
Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber 
now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. 
ziprip.js 
A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a 
(now defunct) start-up, and has found some use as part of various browser plugins. 
Template::Plugin::StashValidate 
A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. 
Other projects 
• I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ 
• I am active participant on various projects on Github: https://github.com/sheriff 
• I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs 
• I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events 
• If you have lots, this should be at least as prominent as your skills 
• For HR and Recruiters, it might as well be antique hieroglyphics 
carved on stone – no idea what it means, but pretty sure it’s 
valuable 
• Hiring manager will know you have “passion” 
• The Interviewing Developers will have lots to talk to you about 
• Let’s take a closer look…
Open Source Experience 
“I am defined by Github” 
Open Source and Community 
Test::BDD::Cucumber 
Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber 
now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. 
ziprip.js 
A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a 
(now defunct) start-up, and has found some use as part of various browser plugins. 
Template::Plugin::StashValidate 
A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. 
Other projects 
• I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ 
• I am active participant on various projects on Github: https://github.com/sheriff 
• I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs 
• I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events 
• Break out one or two of the more interesting pieces, rather than 
everything you’ve done ever
Open Source Experience 
“I am defined by Github” 
Open Source and Community 
Test::BDD::Cucumber 
Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber 
now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. 
ziprip.js 
A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a 
(now defunct) start-up, and has found some use as part of various browser plugins. 
Template::Plugin::StashValidate 
A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. 
Other projects 
• I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ 
• I am active participant on various projects on Github: https://github.com/sheriff 
• I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs 
• I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events 
• Name-drop the other stuff you do and link to your repositories 
• Top tip: if you don’t have anything on CPAN or in Github, don’t 
include links to your CPAN ID and Github page 
• People actually do this
Open Source Experience 
“I am defined by Github” 
Open Source and Community 
Test::BDD::Cucumber 
Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber 
now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. 
ziprip.js 
A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a 
(now defunct) start-up, and has found some use as part of various browser plugins. 
Template::Plugin::StashValidate 
A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. 
Other projects 
• I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ 
• I am active participant on various projects on Github: https://github.com/sheriff 
• I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs 
• I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events 
• Talk about any speaking or writing you’ve done 
• If you have a technical blog, and it’s coherent, link to it 
• You don’t have to point out that lightening talks were lightening talks 
• Again: if you have lots of this stuff, make it as prominent as 
the Skills section
Open Source Experience 
Part-Time Contributor
Open Source Experience 
Part-Time Contributor 
Open Source and Community 
I am an active participant on GitHub, and I maintain the `FooBar` module, originally by 
Graham Barr and Gisle Aas. I have been working closely with the "Perl Toolchain Gang", 
the maintainers of essential Perl modules like Module::Build, local::lib, and 
ExtUtils::MakeMaker - in the last month I've had 7 pull-requests accepted in to 
ExtUtils::MakeMaker, have raised numerous issues against other pieces of the toolchain. 
GitHub: http://github.com/L33tProgrammer 
CPAN: http://cpan.com/~1337 
Speaking and Writing 
In 2010 I gave a talk on Sprinkle::Form, a yet-to-be released CPAN module for frobinating 
the whizzbanger. I maintain a blog on best-practice software engineering via 
http://blogs.perl.org/ 
• Still put it prominently 
• It’s still awesome
Open Source Experience 
Part-Time Contributor 
Open Source and Community 
I am an active participant on GitHub, and I maintain the `FooBar` module, originally by 
Graham Barr and Gisle Aas. I have been working closely with the "Perl Toolchain Gang", 
the maintainers of essential Perl modules like Module::Build, local::lib, and 
ExtUtils::MakeMaker - in the last month I've had 7 pull-requests accepted in to 
ExtUtils::MakeMaker, have raised numerous issues against other pieces of the toolchain. 
GitHub: http://github.com/L33tProgrammer 
CPAN: http://cpan.com/~1337 
Speaking and Writing 
In 2010 I gave a talk on Sprinkle::Form, a yet-to-be released CPAN module for frobinating 
the whizzbanger. I maintain a blog on best-practice software engineering via 
http://blogs.perl.org/ 
• Which projects have you been working on? Name-drop them, and 
then talk them up 
• Reflected glory is still glory  
• Link through to CPAN and Github, assuming there’s code there 
• Did you submit a patch once to a big project? You’re a contributor!
Open Source Experience 
Part-Time Contributor 
Open Source and Community 
I am an active participant on GitHub, and I maintain the `FooBar` module, originally by 
Graham Barr and Gisle Aas. I have been working closely with the "Perl Toolchain Gang", 
the maintainers of essential Perl modules like Module::Build, local::lib, and 
ExtUtils::MakeMaker - in the last month I've had 7 pull-requests accepted in to 
ExtUtils::MakeMaker, have raised numerous issues against other pieces of the toolchain. 
GitHub: http://github.com/L33tProgrammer 
CPAN: http://cpan.com/~1337 
Speaking and Writing 
In 2010 I gave a talk on Sprinkle::Form, a yet-to-be released CPAN module for frobinating 
the whizzbanger. I maintain a blog on best-practice software engineering via 
http://blogs.perl.org/ 
• Speaking at a local Perl Monger tech-meet still counts as speaking 
• Got a Perl blog? Mention it 
• If it’s great, link directly to it 
• It it’s not so great, just mention it exists…
Open Source Experience 
Little or None…
tsk, tsk
Open Source Experience 
Little or None… 
• You should talk about almost anything you’ve 
done outside of work 
• “I’ve been programming for fun since I was in 
university, and developed a system to allow our 
department to xyz” 
• “I am interested in embedded systems, and have 
recently built a plant watering system using an 
Arduino”
Open Source Experience 
Little or None… 
• What did you learn? 
• “I’ve recently finished ‘7 Programming Languages in 
7 Days’ and was inspired by Erlang’s light-weight 
threading module to xyz in one of our projects at 
work” 
• “I recently attended the London Perl Workshop, 
where I particularly enjoyed Leo Lapworth’s talk on 
Plack middleware, which I have subsequently 
introduced in one of our projects at Foobar Corp”
Open Source Experience 
Little or None… 
• Any online courses? 
• “I’ve recently completed ‘An Introduction to 
Compilers’ on Coursera, and have applied the 
sections on state machines to building a business 
rules engine in my latest project”
Open Source Experience 
Little or None… 
• In Summary: 
• Mention anything you did that showed you enjoy 
thinking about computers outside of work 
• Talk about what you learned from it, and why that’s 
valuable commercial experience 
• But also… 
• Go adopt a module and get hacking!
Work Experience
Work Experience 
General Principles 
• Don’t list every job ever 
• Nobody cares you worked at Pizza Hut in 1967 
• Three or four most recent and most relevant jobs 
• Any others that are relevant as job title and dates only 
• Lump up non-technical jobs as a line item 
• “A variety of non-technical roles” 
• Your CV should be about three pages, try and get work 
experience to two pages max 
• Remember, no-one enjoys reading your CV
Work Experience 
Role by Role (1/2) 
• For each role, think about your three audiences 
• The HR Person / Recruiter wants some keywords 
to Ctrl+F for 
• The Hiring Manager wants to know it was an 
actual Perl programming role 
• The Interviewing Developers want something 
interesting to talk to you about 
• Each of them can have their own bullet point…
Work Experience 
Role by Role (2/2) 
Senior Perl Developer (Contract) 
NET-A-PORTER; Jun 2009 – Dec 2012 
Skills used: Perl, mod_perl, Catalyst, Test-Driven Development, SCRUM, git, Postgres, Test::More, 
Test::Class, HTML, Javascript, AMQ 
Role overview: Senior Perl Developer helping to design and architect an automated warehousing system 
for a major ecommerce brand. Originally employed to help build out their automated unit and system 
testing libraries, my role blah blah blah blah blah 
Interesting challenges: The system involved interacting with large, caged robots moving around a physical 
warehouse, via AMQ. As the system had to maintain total uptime during development and deployment, we 
employed a several-stage rollout, pulling the system out in to component services and then migrating 
those over one-by-one to the new system. 
• Keyword smack down
Work Experience 
Role by Role (2/2) 
Senior Perl Developer (Contract) 
NET-A-PORTER; Jun 2009 – Dec 2012 
Skills used: Perl, mod_perl, Catalyst, Test-Driven Development, SCRUM, git, Postgres, Test::More, 
Test::Class, HTML, Javascript, AMQ 
Role overview: Senior Perl Developer helping to design and architect an automated warehousing system 
for a major ecommerce brand. Originally employed to help build out their automated unit and system 
testing libraries, my role blah blah blah blah blah 
Interesting challenges: The system involved interacting with large, caged robots moving around a physical 
warehouse, via AMQ. As the system had to maintain total uptime during development and deployment, we 
employed a several-stage rollout, pulling the system out in to component services and then migrating 
those over one-by-one to the new system. 
• Short description of the actual job you did
Work Experience 
Role by Role (2/2) 
Senior Perl Developer (Contract) 
NET-A-PORTER; Jun 2009 – Dec 2012 
Skills used: Perl, mod_perl, Catalyst, Test-Driven Development, SCRUM, git, Postgres, Test::More, 
Test::Class, HTML, Javascript, AMQ 
Role overview: Senior Perl Developer helping to design and architect an automated warehousing system 
for a major ecommerce brand. Originally employed to help build out their automated unit and system 
testing libraries, my role blah blah blah blah blah 
Interesting challenges: The system involved interacting with large, caged robots moving around a physical 
warehouse, via AMQ. As the system had to maintain total uptime during development and deployment, we 
employed a several-stage rollout, pulling the system out in to component services and then migrating 
those over one-by-one to the new system. 
• Interesting things to talk about
Work Experience 
Padding and Gaps 
• HR Person / Recruiter is looking for red flags 
• LinkedIn and CV don’t match up for dates or job 
descriptions 
• Unexplained large absences 
• Lots of short non-contract jobs 
• The Hiring Manager will care too, but you’ll be talking 
to her, so you’ll have a chance to explain why these 
gaps or whatever exist 
• Make sure you have good answers at your finger 
tips to explain any of these things
Work Experience 
Papering Up Gaps 
• If you went travelling (or even on holiday) for a substantial 
period of a gap in your work history, list it as travelling 
• Say where you went – people can relate! 
• Don’t get defensive if asked about it 
• If you were unemployed and looking, call it “Job seeking”, but 
talk about productive things you did in that time 
• Anything you did with computers is fair game 
• Doubly so if you learnt something or played with a new technology 
• Date Fudging 
• Nov 2012 – Jan 2013 can also be written just as “2012 – 2013” 
• You should come clean about this in the interview, but at least in the 
interview you can explain why the role lasted such a short time
The Boring Stuff
Spot The Difference Between 
These Two CVs 
John Doe 
Education 
St Wilbert’s Secondary (2000) 
A-Levels: French (C), 
Economics (C), Maths (A) 
GCSEs: 12 GCSE’s A-C 
Jennifer Dear
Spot The Difference Between 
These Two CVs 
John Doe 
Education 
St Wilbert’s Secondary (2000) 
A-Levels: French (C), 
Economics (C), Maths (A) 
GCSEs: 12 GCSE’s A-C 
Jennifer Dear 
• Answer: John Doe doesn’t have a degree 
• Some recruiters will care 
• Unless you have something awesome to write, leave out Education 
• Awesome is you went to Oxbridge or did an awesome technical or 
math MSc / PhD
Visa Situation 
• If you are an EU Citizen, and eligible to work in the UK, write it in big 
letters at the top 
• If you have a right to work in the UK, write it in big letters at the top 
• If you need a Tier 2 visa to work in the UK, write it in big letters at the 
top 
• If you don’t live in the UK, but would like to relocate write “Looking to 
relocate to the UK” in big letters at the top 
• If an HR Person / Recruiter thinks that employing you will be a big 
hairy immigration deal, you will go to the bottom of the CV pile 
• So give them all the information they need up front
Interviews… 
• Read your CV, make a list of 20 questions you 
might get asked about them 
• Write out a perfect answer for each, and read it 
several times 
• Try and work your good answers in to any other 
questions you might get asked 
• This works really well for phone interviews where 
you can literally read your answers out
In Summary
Summary 
• Write your CV for all three audiences 
• If you are job-seeking, I will help you rewrite your 
CV – come and get a business card 
• Make sure it has interesting things to talk about on 
it 
• Keep it short
AN OFFER YOU 
MUST NOT REFUSE 
If you are job-seeking in the UK or EU, and you know Perl, I will 
rewrite your CV for you, so that I can send it to employers, so that I 
can make cash money. 
pete@perl.careers 
http://perl.careers/

More Related Content

What's hot

Spring と TDD
Spring と TDDSpring と TDD
Spring と TDD
Takeshi Ogawa
 
Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)
Scott Wlaschin
 
サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
 
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
Yu Yongwoo
 
모떠꿈매뉴얼 최종본
모떠꿈매뉴얼 최종본모떠꿈매뉴얼 최종본
모떠꿈매뉴얼 최종본
ThinkCafe
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기
Changyol BAEK
 
SSRF基礎
SSRF基礎SSRF基礎
SSRF基礎
Yu Iwama
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
Terry Cho
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能
TomomitsuKusaba
 
Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Scott Wlaschin
 
2018 종합선물세트 for 취준생
2018 종합선물세트 for 취준생2018 종합선물세트 for 취준생
2018 종합선물세트 for 취준생
Yu Yongwoo
 
頑張りすぎないScala
頑張りすぎないScala頑張りすぎないScala
頑張りすぎないScala
takezoe
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABC
Ho Gyu Lee
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
murachue
 
Testing with JUnit 5 and Spring - Spring I/O 2022
Testing with JUnit 5 and Spring - Spring I/O 2022Testing with JUnit 5 and Spring - Spring I/O 2022
Testing with JUnit 5 and Spring - Spring I/O 2022
Sam Brannen
 
Are Design Patterns Dead?
Are Design Patterns Dead?Are Design Patterns Dead?
Are Design Patterns Dead?
Yoshitaka Kawashima
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
golang.tokyo #6 (in Japanese)
golang.tokyo #6 (in Japanese)golang.tokyo #6 (in Japanese)
golang.tokyo #6 (in Japanese)
Yuichi Murata
 

What's hot (20)

Spring と TDD
Spring と TDDSpring と TDD
Spring と TDD
 
Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)Domain Modeling Made Functional (KanDDDinsky 2019)
Domain Modeling Made Functional (KanDDDinsky 2019)
 
サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦
 
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
나도 내가 뭘 말해야되는지 잘 모르겠어 (본격 스타트업 환상 부수기)
 
모떠꿈매뉴얼 최종본
모떠꿈매뉴얼 최종본모떠꿈매뉴얼 최종본
모떠꿈매뉴얼 최종본
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기
 
SSRF基礎
SSRF基礎SSRF基礎
SSRF基礎
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能.NET 7におけるBlazorの新機能
.NET 7におけるBlazorの新機能
 
Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014
 
2018 종합선물세트 for 취준생
2018 종합선물세트 for 취준생2018 종합선물세트 for 취준생
2018 종합선물세트 for 취준생
 
頑張りすぎないScala
頑張りすぎないScala頑張りすぎないScala
頑張りすぎないScala
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABC
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
Testing with JUnit 5 and Spring - Spring I/O 2022
Testing with JUnit 5 and Spring - Spring I/O 2022Testing with JUnit 5 and Spring - Spring I/O 2022
Testing with JUnit 5 and Spring - Spring I/O 2022
 
Are Design Patterns Dead?
Are Design Patterns Dead?Are Design Patterns Dead?
Are Design Patterns Dead?
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
golang.tokyo #6 (in Japanese)
golang.tokyo #6 (in Japanese)golang.tokyo #6 (in Japanese)
golang.tokyo #6 (in Japanese)
 

Similar to How to write a Developer CV/Résumé that will get you hired

How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical Interview
Perl Careers
 
Be the Captain of Your Career
Be the Captain of Your Career Be the Captain of Your Career
Be the Captain of Your Career
Jack Molisani
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016
Vishnu Prem
 
How to Build your Career.pptx
How to Build your Career.pptxHow to Build your Career.pptx
How to Build your Career.pptx
vaideheekore
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobsAndy Lester
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a job
Yung-Yu Chen
 
Hiring a developer: step by step debugging
Hiring a developer: step by step debuggingHiring a developer: step by step debugging
Hiring a developer: step by step debugging
Laurent Cerveau
 
How to build a winning Data Science resume
How to build a winning Data Science resumeHow to build a winning Data Science resume
How to build a winning Data Science resume
Brian Spiering
 
9 Tips on How to hire Tech Talent when you are not a Techie
9 Tips on How to hire Tech Talent when you are not a Techie9 Tips on How to hire Tech Talent when you are not a Techie
9 Tips on How to hire Tech Talent when you are not a Techie
Interview Mocha
 
Top 10 Things To Do If You Want To Get Fired Over A WordPress Project
Top 10 Things To Do If You Want To Get Fired Over A WordPress ProjectTop 10 Things To Do If You Want To Get Fired Over A WordPress Project
Top 10 Things To Do If You Want To Get Fired Over A WordPress Project
William Bergmann
 
Europython how to make it recruiting suck less?
Europython   how to make it recruiting suck less?Europython   how to make it recruiting suck less?
Europython how to make it recruiting suck less?
🤓 Iwan Gulenko 💰Powerful Geek
 
Resume and job hunting secrets that might surpise you
Resume and job hunting secrets that might surpise youResume and job hunting secrets that might surpise you
Resume and job hunting secrets that might surpise you
Jack Molisani
 
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
Elisha Tan
 
Hiretual webinar presented by Michael Doran 08/09/2017
Hiretual webinar presented by Michael Doran 08/09/2017Hiretual webinar presented by Michael Doran 08/09/2017
Hiretual webinar presented by Michael Doran 08/09/2017
Michael Doran
 
Recruiting the right people quickly public
Recruiting the right people quickly   publicRecruiting the right people quickly   public
Recruiting the right people quickly public
Ashley Frieze
 
Outsourcing - maximising benefits while minimising the risks
Outsourcing - maximising benefits while minimising the risksOutsourcing - maximising benefits while minimising the risks
Outsourcing - maximising benefits while minimising the risks
Onlineiq with Urszula Richards
 
How to get the tech job of your dreams
How to get the tech job of your dreamsHow to get the tech job of your dreams
How to get the tech job of your dreams
bibakis
 
TMA 2015 The Technical Mind
TMA 2015 The Technical MindTMA 2015 The Technical Mind
TMA 2015 The Technical MindSteve Levy
 

Similar to How to write a Developer CV/Résumé that will get you hired (20)

How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical Interview
 
Be the Captain of Your Career
Be the Captain of Your Career Be the Captain of Your Career
Be the Captain of Your Career
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016
 
How to Build your Career.pptx
How to Build your Career.pptxHow to Build your Career.pptx
How to Build your Career.pptx
 
Resumes and job interviews for tech jobs
Resumes and job interviews for tech jobsResumes and job interviews for tech jobs
Resumes and job interviews for tech jobs
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a job
 
Hiring a developer: step by step debugging
Hiring a developer: step by step debuggingHiring a developer: step by step debugging
Hiring a developer: step by step debugging
 
How to build a winning Data Science resume
How to build a winning Data Science resumeHow to build a winning Data Science resume
How to build a winning Data Science resume
 
How to hire frontend engineers
How to hire frontend engineersHow to hire frontend engineers
How to hire frontend engineers
 
9 Tips on How to hire Tech Talent when you are not a Techie
9 Tips on How to hire Tech Talent when you are not a Techie9 Tips on How to hire Tech Talent when you are not a Techie
9 Tips on How to hire Tech Talent when you are not a Techie
 
Top 10 Things To Do If You Want To Get Fired Over A WordPress Project
Top 10 Things To Do If You Want To Get Fired Over A WordPress ProjectTop 10 Things To Do If You Want To Get Fired Over A WordPress Project
Top 10 Things To Do If You Want To Get Fired Over A WordPress Project
 
Europython how to make it recruiting suck less?
Europython   how to make it recruiting suck less?Europython   how to make it recruiting suck less?
Europython how to make it recruiting suck less?
 
Resume and job hunting secrets that might surpise you
Resume and job hunting secrets that might surpise youResume and job hunting secrets that might surpise you
Resume and job hunting secrets that might surpise you
 
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
 
Hiretual webinar presented by Michael Doran 08/09/2017
Hiretual webinar presented by Michael Doran 08/09/2017Hiretual webinar presented by Michael Doran 08/09/2017
Hiretual webinar presented by Michael Doran 08/09/2017
 
Recruiting the right people quickly public
Recruiting the right people quickly   publicRecruiting the right people quickly   public
Recruiting the right people quickly public
 
Outsourcing - maximising benefits while minimising the risks
Outsourcing - maximising benefits while minimising the risksOutsourcing - maximising benefits while minimising the risks
Outsourcing - maximising benefits while minimising the risks
 
How to get the tech job of your dreams
How to get the tech job of your dreamsHow to get the tech job of your dreams
How to get the tech job of your dreams
 
TMA 2015 The Technical Mind
TMA 2015 The Technical MindTMA 2015 The Technical Mind
TMA 2015 The Technical Mind
 
Lecture 30
Lecture 30Lecture 30
Lecture 30
 

Recently uploaded

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 

Recently uploaded (20)

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 

How to write a Developer CV/Résumé that will get you hired

  • 1. How to write a Developer CV/résumé that will get you hired Peter Sergeant - pete@perl.careers - http://perl.careers/
  • 3. Who I am: Perl Developer • 13 years commercial experience with Perl • Gave my first talk at YAPC ~ 14 years ago • 15 CPAN distributions • Been a contractor, a permanent employee, and a freelancer
  • 4. Who I am: Hiring Manager • CTO at an enterprise software company • Team of 40, most of whom were Perl developers • Spent a lot of time reading CVs, interviewing, hiring
  • 5. Who I am: Recruiter • Run a recruitment agency called Perl Careers • Specialize in Perl developers in the UK • Please come and get a pen and a business card • They were expensive
  • 6. Who I am: Who Cares? • The only recruiter who has been on all four sides of the table • Developer looking for work • Developer roped in to interviewing potential coworkers • Hiring manager • Recruiter • I’m going to show you how to write an awesome CV
  • 8. The Gatekeepers • Your CV has three types of people who read it • They have different requirements of it • You need to make sure it talks to all of them • They are…
  • 9. HR Person / Recruiter • First person to see your CV • Probably non-technical • Decides whether or not your CV should be sent to someone technical
  • 10. HR Person / Recruiter Questions (1/3) • Do you have appropriate skills for the role? • Keyword matching • “Sorry, you need JavaScript experience, but all I can see in the web development section is AngularJS and jQuery” • Pays to be explicit and verbose about skills, but more on that later • Vague understanding of the job specification by talking to the Hiring Manager
  • 11. HR Person / Recruiter Questions (2/3) • Are you employable? • Does your work experience have large and unexplained gaps? • Do you have lots of jobs that weren’t contracts and lasted less than two years? • Do you say nasty things about previous employers? • Does your LinkedIn profile match your CV? • Does Googling your name bring up your blog about how you’re trying to overthrow the government? • Basically: • If they’re internal HR, they want to know if you’re likely to be a liability to the company • If they’re a recruiter, they want to know if they’re going to look like an idiot when you reveal in the interview that you were fired from your previous three roles • Later… • We’ll be covering how to make sure your mottled job history looks reasonable
  • 12. HR Person / Recruiter Questions (3/3) • Are you eligible to work in the UK? • Is your current location listed as non-UK? • Have most of your jobs been in countries outside the EU? • If you have a “non-English” name, have you been clear about the citizenship you hold? • Because… • Most companies are too lazy to sponsor foreign workers • No-one wants to waste time on interviews for someone who can’t legally accept a job they’re offered • Later… • We’ll talk about how to make sure you don’t get excluded at this stage…
  • 13. Hiring Manager • (Usually) Senior technical person • Quite possibly your future line manager • Has much better things to do than read your CV • Is it worth investing time in getting you in for a phone or in-person interview?
  • 14. Hiring Manager Questions (1/3) • Do you have actual commercial Perl experience? • … or is Perl one of many languages you wrote a few lines of once? • … are you a sysadmin who has done terrible, terrible things in Perl?
  • 15. Hiring Manager Questions (2/3) • Do you have the other required skills? • Knows which ones are important and which are not • Actually knows what the candidate requirements are • Hiring Manager secretly believes she could have just written “Senior Perl Developer”, and the right people would have applied • HR bullied her in to writing a job description
  • 16. Hiring Manager Questions (3/3) • Bonus points: do you have any open-source work? • Not required, but usually a big win • Shows you actually care about programming • We’ll talk about how to dress this up later, even if you have very little
  • 17. The Interviewing Developers • Your future coworkers • Often a random selection of developers who the Hiring Manager could lay her hands on • They have absolutely no idea what they’re doing • Probably the people with the most sway over if you get hired • Stave off boredom during the interview and form an opinion on if they would enjoy working with you
  • 18. The Interviewing Developers Questions (1/3) • Do you know about Perl and programming? • This may well take the form of random trivia questions they recently learned the answers to • “What does this snippet of code I pulled from a Code Golf site do?” • All sorts of stupid questions about the comma operator • “What’s a Monad?” • You need to give them more interesting things to talk about instead, and we’ll talk about how in a minute
  • 19. The Interviewing Developers Questions (2/3) • Could they work with you? • Are you friendly and do you smile? • Do you get irritated and flustered by inane technical trivia questions? • Do you smell funny, and did you wear a suit? • Or at least business casual • If you can’t be bothered to dress up a little bit for your interview, the Hiring Manager knows that you are going to be a huge pain in the ass to manage • True fact.
  • 20. The Interviewing Developers Questions (3/3) • They don’t do this for a living • You need to help them find interesting things about you to talk about • They will be desperately scanning your CV for interesting things to talk about to avoid awkward small talk • Your CV should be full of interesting things about technology you want to talk about
  • 21. The Gatekeepers: Summary • Your CV needs to help each of them answer their questions • Nobody enjoys reading CVs • The best anyone will do is skim it • Make it easy for them to answer their questions • Avoid any show-stopper bugs
  • 23. Summary Section: How to get it wrong • A description of your character attributes and career goals • No-one cares • Recruiters and HR people think programmers are weird already, this won’t help • Hiring managers have off-the- charts cynicism, and know it’s a bunch of twaddle • Interviewing developers will think you’re an idiot. “I am a self starter and also a quick learner. I am highly motivated, with ambitions to work for a company whose high standards match my own. I am conscientious and experienced in all aspects of software development, including PERL, CGI, and HTML programming languages.
  • 24. Summary Section: The Good News • It’s possible to do this well enough that people won’t really bother reading the rest of the CV • You can give each of the audiences something to read • You will need precisely 3 bullet points
  • 25. Summary Section: HR Person / Recruiter • Help tell them you’re in the right place • Repeat the job title back to them • Throw in some of the skills that were listed as required • Help them to understand that they are, in fact, looking at a CV for a “Senior Perl Developer” by writing it down “I am a Senior Perl Developer with 15 years experience, including exposure to Puppet and Chef and JavaScript, CSS and AJAX”
  • 26. Summary Section: Hiring Manager • DEMONSTRATE UNDERSTANDING • Don’t just claim skills, prove them • Mediocre: “8 years of Perl, testing, DBIx::Class, Plack, Catalyst, CGI, Test::More” • Excellent: “I'm an active proponent of Modern Perl - I love the power of composing resultsets in DBIx::Class, using Plack to hide web-server implementation details, and the way that Test::Builder-based testing tools all interact well with each other” • Say what you like or dislike about the tools you’ve used, and observations on them • This is approximately a million times more convincing than just listing keywords
  • 27. Summary Section: The Interviewing Developers • Give them interesting things to talk to you about • “My personal development projects include an automated cat treadmill using Arduino with a digital signal processing component written in Perl using the Event module” OR • “In my free time, I'm currently working on an app that converts photographs of crossword puzzles in to playable games” OR • “I teach an after-work class to my colleagues in using AngularJS” • The more interesting things you have to talk about, the more passion you’ll show about programming … • … and the less time they’ll have to ask inane brainteasers they read online
  • 28. Summary Section: Summary Summary I am a Senior Perl Developer with 15 years experience, including exposure to Puppet, Chef, JavaScript, CSS and AJAX. I'm an active proponent of Modern Perl - I love the power of composing resultsets in DBIx::Class, using Plack to hide web-server implementation details, and the way that Test::Builder-based testing tools all interact well with each other My personal development projects include an automated cat treadmill using Arduino with a digital signal processing component written in Perl using the Event module • If you get this right, that’s all you really need to get an interview • And to have interesting things to talk about in your interview • Everybody hates reading CVs, so save everyone some time by putting the important stuff succinctly at the start • Just don’t screw up the rest of the CV • Alarmingly easy • That’s what we’ll talk about next
  • 30. Skills The Basics • TALK ABOUT THE IMPORTANT THINGS FIRST AND AT LENGTH • If your experience with Java Server Pages takes up as much ink as your experience with Template Toolkit, you are DOING IT WRONG • If your experience with Java Server Pages takes up as much ink as the fact you once read the Class::MOP documentation in depth, you are STILL DOING IT WRONG
  • 31. Skills Bad Example • Perl (7 years) • Java (2 years) • Linux (5.5 years) • CGI (2 years) • FTP (12 years) • T-SQL (1 year) • Only the HR Person / Recruiter cares • They don’t know what Linux or FTP are anyway • They have seen 5,000 CVs like this
  • 32. Skills Good Example Perl Testing I have a deep and broad experience with Perl's testing tools. Most general testing I have approached with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My Test::More tests are usually supplemented by Test::Differences because it provides a considerably better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more attention when extending test suites, but in my experience, chasing test coverage numbers leads to brittle tests. Web Frameworks I have extensive experience of using Catalyst, and have appreciated the development team's focus on backwards compatibility in several complicated upgrade situations. I have some exposure to both Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's abstraction of the underlying webserver to be very useful, especially when it comes to some of the more interesting middleware. • Talk about your experiences as proof that you’ve actually used the tools you talk about, and have formed an opinion on them • Shows the Hiring Manager your experience really happened • Gives developers something to talk to you about
  • 33. Skills Good Example Perl Testing I have a deep and broad experience with Perl's testing tools. Most general testing I have approached with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My Test::More tests are usually supplemented by Test::Differences because it provides a considerably better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more attention when extending test suites, but in my experience, chasing test coverage numbers leads to brittle tests. Web Frameworks I have extensive experience of using Catalyst, and have appreciated the development team's focus on backwards compatibility in several complicated upgrade situations. I have some exposure to both Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's abstraction of the underlying webserver to be very useful, especially when it comes to some of the more interesting middleware. • Show off your battle scars • Insights you’ve gained from experience • (Make sure you’re actually able to say something interesting about this in the interview)
  • 34. Skills Good Example Perl Testing I have a deep and broad experience with Perl's testing tools. Most general testing I have approached with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My Test::More tests are usually supplemented by Test::Differences because it provides a considerably better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more attention when extending test suites, but in my experience, chasing test coverage numbers leads to brittle tests. Web Frameworks I have extensive experience of using Catalyst, and have appreciated the development team's focus on backwards compatibility in several complicated upgrade situations. I have some exposure to both Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's abstraction of the underlying webserver to be very useful, especially when it comes to some of the more interesting middleware. • Talk about something slightly contentious, or an interesting opinion • Gives the interviewers something to talk about that you can prepare an awesome answer to
  • 35. Skills Good Example Perl Testing I have a deep and broad experience with Perl's testing tools. Most general testing I have approached with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My Test::More tests are usually supplemented by Test::Differences because it provides a considerably better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more attention when extending test suites, but in my experience, chasing test coverage numbers leads to brittle tests. Web Frameworks I have extensive experience of using Catalyst, and have appreciated the development team's focus on backwards compatibility in several complicated upgrade situations. I have some exposure to both Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's abstraction of the underlying webserver to be very useful, especially when it comes to some of the more interesting middleware. • These are great weasel words for when you want to talk about something you’ve played with a bit, but aren’t prepared to answer detailed questions on…
  • 36. Skills Good Example Perl Testing I have a deep and broad experience with Perl's testing tools. Most general testing I have approached with Test::More, but I've worked in teams with an aggressive focus on unit testing with Test::Class. My Test::More tests are usually supplemented by Test::Differences because it provides a considerably better output for deep comparison of data structures. I've used Devel::Cover to identify areas for more attention when extending test suites, but in my experience, chasing test coverage numbers leads to brittle tests. Web Frameworks I have extensive experience of using Catalyst, and have appreciated the development team's focus on backwards compatibility in several complicated upgrade situations. I have some exposure to both Dancer - which seems excellent for lightweight applications - and Mojolicious, whose focus on modern web technologies like web sockets allows for some cool features. Tying it all together, I've found Plack's abstraction of the underlying webserver to be very useful, especially when it comes to some of the more interesting middleware. • Putting certain skills in bold looks a little weird, but helps HR / Recruiters find keywords mentioned in the job spec
  • 37. Skills More Skills Systems Administraction I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term release policy. The website I run for my local cat-fancier group is setup using Puppet, running Postgres via nginx. Front-End I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and have recently started dabbling with AngularJS in my free time. I am able to both describe and - with much practice - pronounce 'CSS specificity'. Other Skills I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda calculus, and IP over Avian Carriers. • Use the same approach for non-Perl skills you want to talk about
  • 38. Skills More Skills Systems Administraction I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term release policy. The website I run for my local cat-fancier group is setup using Puppet, running Postgres via nginx. Front-End I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and have recently started dabbling with AngularJS in my free time. I am able to both describe and - with much practice - pronounce 'CSS specificity'. Other Skills I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda calculus, and IP over Avian Carriers. • Demonstrate understanding by giving opinions
  • 39. Skills More Skills Systems Administraction I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term release policy. The website I run for my local cat-fancier group is setup using Puppet, running Postgres via nginx. Front-End I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and have recently started dabbling with AngularJS in my free time. I am able to both describe and - with much practice - pronounce 'CSS specificity'. Other Skills I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda calculus, and IP over Avian Carriers. • Demonstrate understanding by highlighting interesting technical facets of things you’ve worked on • Again, this will give interviewing developers something to talk to you about
  • 40. Skills More Skills Systems Administraction I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term release policy. The website I run for my local cat-fancier group is setup using Puppet, running Postgres via nginx. Front-End I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and have recently started dabbling with AngularJS in my free time. I am able to both describe and - with much practice - pronounce 'CSS specificity'. Other Skills I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda calculus, and IP over Avian Carriers. • Nothing wrong with throwing in a little bit of personality • Especially as you’ll probably be nervous in the interview
  • 41. Skills More Skills Systems Administraction I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term release policy. The website I run for my local cat-fancier group is setup using Puppet, running Postgres via nginx. Front-End I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and have recently started dabbling with AngularJS in my free time. I am able to both describe and - with much practice - pronounce 'CSS specificity'. Other Skills I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda calculus, and IP over Avian Carriers. • Don’t go overboard with the personality though…
  • 42. Skills More Skills Systems Administraction I have used Linux commercially, on my desktop, and on my personal servers since 1998. I have used Redhat, Slackware, and Debian, before finally settling on Ubuntu, as I appreciate its long-term release policy. The website I run for my local cat-fancier group is setup using Puppet, running Postgres via nginx. Front-End I have excellent experience with Javascript. Javascript's prototype-based inheritance model is a little unusual, as are its block-scoping rules. I have used jQuery and EmberJS commercially, and have recently started dabbling with AngularJS in my free time. I am able to both describe and - with much practice - pronounce 'CSS specificity'. Other Skills I would be happy to discuss my commercial experience with and exposure to: Agile SCRUM, Kanban, Postgres, MySQL, NodeJS, mod_perl, Apache, Befunge, INTERCAL, Binary lambda calculus, and IP over Avian Carriers. • This is where you can finally tell the world about all of your experience with XSLT, Java Server Pages, and a bunch of other technology no-one hiring your for a Perl developer position cares about. Go wild.
  • 44. Open Source Experience • Easiest way to prove you actually care about programming • One of the few pieces of “technical screening” a non-technical person can do • How much you have is going to determine how you should present it…
  • 45. Open Source Experience “I am defined by Github”
  • 46. Open Source Experience “I am defined by Github” Open Source and Community Test::BDD::Cucumber Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. ziprip.js A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a (now defunct) start-up, and has found some use as part of various browser plugins. Template::Plugin::StashValidate A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. Other projects • I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ • I am active participant on various projects on Github: https://github.com/sheriff • I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs • I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events • If you have lots, this should be at least as prominent as your skills • For HR and Recruiters, it might as well be antique hieroglyphics carved on stone – no idea what it means, but pretty sure it’s valuable • Hiring manager will know you have “passion” • The Interviewing Developers will have lots to talk to you about • Let’s take a closer look…
  • 47. Open Source Experience “I am defined by Github” Open Source and Community Test::BDD::Cucumber Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. ziprip.js A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a (now defunct) start-up, and has found some use as part of various browser plugins. Template::Plugin::StashValidate A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. Other projects • I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ • I am active participant on various projects on Github: https://github.com/sheriff • I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs • I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events • Break out one or two of the more interesting pieces, rather than everything you’ve done ever
  • 48. Open Source Experience “I am defined by Github” Open Source and Community Test::BDD::Cucumber Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. ziprip.js A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a (now defunct) start-up, and has found some use as part of various browser plugins. Template::Plugin::StashValidate A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. Other projects • I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ • I am active participant on various projects on Github: https://github.com/sheriff • I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs • I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events • Name-drop the other stuff you do and link to your repositories • Top tip: if you don’t have anything on CPAN or in Github, don’t include links to your CPAN ID and Github page • People actually do this
  • 49. Open Source Experience “I am defined by Github” Open Source and Community Test::BDD::Cucumber Author of this fully-featured Perl BDD framework, based on the popular Ruby tool of the same name. Test::BDD::Cucumber now has an active group of committers, was the focus of a Linux Magazine article, and is distributed in Debian packages. ziprip.js A NodeJS and vanilla JS library for extracting postal addresses from web pages. Was originally part of code I wrote for a (now defunct) start-up, and has found some use as part of various browser plugins. Template::Plugin::StashValidate A mashup of Template Toolkit and MooseX::Params::Validate to allow runtime checking of the the Template Toolkit `stash`. Other projects • I maintain 15 CPAN modules: http://search.cpan.org/~sargie/ • I am active participant on various projects on Github: https://github.com/sheriff • I have had a number of technical articles published in The Perl Journal, Perl.com, and DrDobbs • I have spoken variously at YAPC::EU, the London Perl Workshop, and local Perl Monger technical events • Talk about any speaking or writing you’ve done • If you have a technical blog, and it’s coherent, link to it • You don’t have to point out that lightening talks were lightening talks • Again: if you have lots of this stuff, make it as prominent as the Skills section
  • 50. Open Source Experience Part-Time Contributor
  • 51. Open Source Experience Part-Time Contributor Open Source and Community I am an active participant on GitHub, and I maintain the `FooBar` module, originally by Graham Barr and Gisle Aas. I have been working closely with the "Perl Toolchain Gang", the maintainers of essential Perl modules like Module::Build, local::lib, and ExtUtils::MakeMaker - in the last month I've had 7 pull-requests accepted in to ExtUtils::MakeMaker, have raised numerous issues against other pieces of the toolchain. GitHub: http://github.com/L33tProgrammer CPAN: http://cpan.com/~1337 Speaking and Writing In 2010 I gave a talk on Sprinkle::Form, a yet-to-be released CPAN module for frobinating the whizzbanger. I maintain a blog on best-practice software engineering via http://blogs.perl.org/ • Still put it prominently • It’s still awesome
  • 52. Open Source Experience Part-Time Contributor Open Source and Community I am an active participant on GitHub, and I maintain the `FooBar` module, originally by Graham Barr and Gisle Aas. I have been working closely with the "Perl Toolchain Gang", the maintainers of essential Perl modules like Module::Build, local::lib, and ExtUtils::MakeMaker - in the last month I've had 7 pull-requests accepted in to ExtUtils::MakeMaker, have raised numerous issues against other pieces of the toolchain. GitHub: http://github.com/L33tProgrammer CPAN: http://cpan.com/~1337 Speaking and Writing In 2010 I gave a talk on Sprinkle::Form, a yet-to-be released CPAN module for frobinating the whizzbanger. I maintain a blog on best-practice software engineering via http://blogs.perl.org/ • Which projects have you been working on? Name-drop them, and then talk them up • Reflected glory is still glory  • Link through to CPAN and Github, assuming there’s code there • Did you submit a patch once to a big project? You’re a contributor!
  • 53. Open Source Experience Part-Time Contributor Open Source and Community I am an active participant on GitHub, and I maintain the `FooBar` module, originally by Graham Barr and Gisle Aas. I have been working closely with the "Perl Toolchain Gang", the maintainers of essential Perl modules like Module::Build, local::lib, and ExtUtils::MakeMaker - in the last month I've had 7 pull-requests accepted in to ExtUtils::MakeMaker, have raised numerous issues against other pieces of the toolchain. GitHub: http://github.com/L33tProgrammer CPAN: http://cpan.com/~1337 Speaking and Writing In 2010 I gave a talk on Sprinkle::Form, a yet-to-be released CPAN module for frobinating the whizzbanger. I maintain a blog on best-practice software engineering via http://blogs.perl.org/ • Speaking at a local Perl Monger tech-meet still counts as speaking • Got a Perl blog? Mention it • If it’s great, link directly to it • It it’s not so great, just mention it exists…
  • 54. Open Source Experience Little or None…
  • 56. Open Source Experience Little or None… • You should talk about almost anything you’ve done outside of work • “I’ve been programming for fun since I was in university, and developed a system to allow our department to xyz” • “I am interested in embedded systems, and have recently built a plant watering system using an Arduino”
  • 57. Open Source Experience Little or None… • What did you learn? • “I’ve recently finished ‘7 Programming Languages in 7 Days’ and was inspired by Erlang’s light-weight threading module to xyz in one of our projects at work” • “I recently attended the London Perl Workshop, where I particularly enjoyed Leo Lapworth’s talk on Plack middleware, which I have subsequently introduced in one of our projects at Foobar Corp”
  • 58. Open Source Experience Little or None… • Any online courses? • “I’ve recently completed ‘An Introduction to Compilers’ on Coursera, and have applied the sections on state machines to building a business rules engine in my latest project”
  • 59. Open Source Experience Little or None… • In Summary: • Mention anything you did that showed you enjoy thinking about computers outside of work • Talk about what you learned from it, and why that’s valuable commercial experience • But also… • Go adopt a module and get hacking!
  • 61. Work Experience General Principles • Don’t list every job ever • Nobody cares you worked at Pizza Hut in 1967 • Three or four most recent and most relevant jobs • Any others that are relevant as job title and dates only • Lump up non-technical jobs as a line item • “A variety of non-technical roles” • Your CV should be about three pages, try and get work experience to two pages max • Remember, no-one enjoys reading your CV
  • 62. Work Experience Role by Role (1/2) • For each role, think about your three audiences • The HR Person / Recruiter wants some keywords to Ctrl+F for • The Hiring Manager wants to know it was an actual Perl programming role • The Interviewing Developers want something interesting to talk to you about • Each of them can have their own bullet point…
  • 63. Work Experience Role by Role (2/2) Senior Perl Developer (Contract) NET-A-PORTER; Jun 2009 – Dec 2012 Skills used: Perl, mod_perl, Catalyst, Test-Driven Development, SCRUM, git, Postgres, Test::More, Test::Class, HTML, Javascript, AMQ Role overview: Senior Perl Developer helping to design and architect an automated warehousing system for a major ecommerce brand. Originally employed to help build out their automated unit and system testing libraries, my role blah blah blah blah blah Interesting challenges: The system involved interacting with large, caged robots moving around a physical warehouse, via AMQ. As the system had to maintain total uptime during development and deployment, we employed a several-stage rollout, pulling the system out in to component services and then migrating those over one-by-one to the new system. • Keyword smack down
  • 64. Work Experience Role by Role (2/2) Senior Perl Developer (Contract) NET-A-PORTER; Jun 2009 – Dec 2012 Skills used: Perl, mod_perl, Catalyst, Test-Driven Development, SCRUM, git, Postgres, Test::More, Test::Class, HTML, Javascript, AMQ Role overview: Senior Perl Developer helping to design and architect an automated warehousing system for a major ecommerce brand. Originally employed to help build out their automated unit and system testing libraries, my role blah blah blah blah blah Interesting challenges: The system involved interacting with large, caged robots moving around a physical warehouse, via AMQ. As the system had to maintain total uptime during development and deployment, we employed a several-stage rollout, pulling the system out in to component services and then migrating those over one-by-one to the new system. • Short description of the actual job you did
  • 65. Work Experience Role by Role (2/2) Senior Perl Developer (Contract) NET-A-PORTER; Jun 2009 – Dec 2012 Skills used: Perl, mod_perl, Catalyst, Test-Driven Development, SCRUM, git, Postgres, Test::More, Test::Class, HTML, Javascript, AMQ Role overview: Senior Perl Developer helping to design and architect an automated warehousing system for a major ecommerce brand. Originally employed to help build out their automated unit and system testing libraries, my role blah blah blah blah blah Interesting challenges: The system involved interacting with large, caged robots moving around a physical warehouse, via AMQ. As the system had to maintain total uptime during development and deployment, we employed a several-stage rollout, pulling the system out in to component services and then migrating those over one-by-one to the new system. • Interesting things to talk about
  • 66. Work Experience Padding and Gaps • HR Person / Recruiter is looking for red flags • LinkedIn and CV don’t match up for dates or job descriptions • Unexplained large absences • Lots of short non-contract jobs • The Hiring Manager will care too, but you’ll be talking to her, so you’ll have a chance to explain why these gaps or whatever exist • Make sure you have good answers at your finger tips to explain any of these things
  • 67. Work Experience Papering Up Gaps • If you went travelling (or even on holiday) for a substantial period of a gap in your work history, list it as travelling • Say where you went – people can relate! • Don’t get defensive if asked about it • If you were unemployed and looking, call it “Job seeking”, but talk about productive things you did in that time • Anything you did with computers is fair game • Doubly so if you learnt something or played with a new technology • Date Fudging • Nov 2012 – Jan 2013 can also be written just as “2012 – 2013” • You should come clean about this in the interview, but at least in the interview you can explain why the role lasted such a short time
  • 69. Spot The Difference Between These Two CVs John Doe Education St Wilbert’s Secondary (2000) A-Levels: French (C), Economics (C), Maths (A) GCSEs: 12 GCSE’s A-C Jennifer Dear
  • 70. Spot The Difference Between These Two CVs John Doe Education St Wilbert’s Secondary (2000) A-Levels: French (C), Economics (C), Maths (A) GCSEs: 12 GCSE’s A-C Jennifer Dear • Answer: John Doe doesn’t have a degree • Some recruiters will care • Unless you have something awesome to write, leave out Education • Awesome is you went to Oxbridge or did an awesome technical or math MSc / PhD
  • 71. Visa Situation • If you are an EU Citizen, and eligible to work in the UK, write it in big letters at the top • If you have a right to work in the UK, write it in big letters at the top • If you need a Tier 2 visa to work in the UK, write it in big letters at the top • If you don’t live in the UK, but would like to relocate write “Looking to relocate to the UK” in big letters at the top • If an HR Person / Recruiter thinks that employing you will be a big hairy immigration deal, you will go to the bottom of the CV pile • So give them all the information they need up front
  • 72. Interviews… • Read your CV, make a list of 20 questions you might get asked about them • Write out a perfect answer for each, and read it several times • Try and work your good answers in to any other questions you might get asked • This works really well for phone interviews where you can literally read your answers out
  • 74. Summary • Write your CV for all three audiences • If you are job-seeking, I will help you rewrite your CV – come and get a business card • Make sure it has interesting things to talk about on it • Keep it short
  • 75. AN OFFER YOU MUST NOT REFUSE If you are job-seeking in the UK or EU, and you know Perl, I will rewrite your CV for you, so that I can send it to employers, so that I can make cash money. pete@perl.careers http://perl.careers/