SlideShare ist ein Scribd-Unternehmen logo
1 von 13
How to Hire a
HackerCHAD MCCALLUM
@CHADEMM
WWW.RTIGGER.COM
First things first…
Not this kind of hacker This kind!
What makes a great software
developer?
 Constructive and varied experience
 Sees the value in testing (automated
and manual)
 Good grasp of system planning and
dependencies
 Positive attitude
 Self-motivated learner
 Able to identify personal ability
 Motivated to keep improving
What part of this list says
“5 years with C#?”
Why is this code bad?
function addThingsTogetherToGetAResult(int1, int2, int3, int4, int5)
foo = 0
if int1 ~= nil and int1 ~= 0 then
foo = foo + int1
end
if int2 ~= nil and int2 ~= 0 then
foo = foo + int2
end
-- …continue ad nauseum…
return foo
end
What can an experienced
software developer provide?
 Ability to notice “code smells”
 Duplicate code
 Long methods
 Large classes
 Too many parameters
 Poor class & method design
 Appreciation for dependencies and structure of code
 Automated (unit/integration/behavioural) testing and the
architecture that goes with it
What does language experience
provide?
 Nothing that can’t be learned over a week with Google
Employers are looking for the
“Perfect Employee”
Most employers have an unrealistic view of
software development
 Not willing to train
 Expect you to be overqualified
 “You have a Computer Science / Software Engineering degree, so this
should be simple”
It’s hard to hire “great”
 90% of applications are recruiter spam
 With the advent of telecommuting, anyone can apply for anything
 A degree isn’t enough anymore
 How do you differentiate?
How do you stand out?
Show the employer you will add value
 Targeted Practice & Experience
 Wanna be a web developer? Learn web development!
 Demonstrable experience
 Make your code & experience public
 Blog, open source, public code repository, online code submission
 ABC: Always Be Coding
How do you find a hacker?
 “Good developers aren’t looking for jobs – they already have one”
 We’re just like any other employee – there’s a certain comfort in
knowing we have a solid job, even if there’s a better opportunity
 We need to be flirted with :P
How do you attract a hacker?
 Approach us in context
 No form-emails
 Follow a project we’re working on, send us a question or comment
 If you don’t speak the language, get a developer to follow up
 Attend meetups (like barcamp!)
 Attended by passionate developers, who are willing to invest personal
time
 If you can, host a meetup – shows you support the dev community and
gives an opportunity to address the crowd
How do you attract a hacker?
 Open House
 Work environment & culture is super important to developers – show
yours off!
 If you’re not comfortable showing it off, then you probably need to work on it
 Great opportunity to interact with potential employees in an informal
environment
 Be Interesting
 Don’t ask us interview questions, show us an interesting problem
How do you find a hacker?
 Culture Fit
 Your team, office, and company works in a certain way. Sometimes
people won’t fit
 A smart developer with a bad attitude can bring down an entire team
 Arguably, more important than technical skill
 You can teach someone C#, you can’t (easily) teach them to be a team
player

Weitere ähnliche Inhalte

Was ist angesagt?

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Samnang Chhun
 
Prototype 1
Prototype 1Prototype 1
Prototype 1
Vijaya M
 

Was ist angesagt? (16)

How to review a pull request
How to review a pull requestHow to review a pull request
How to review a pull request
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016
 
I Want 2 Do Project Tell Me Wat 2 Do
I Want 2 Do Project Tell Me Wat 2 DoI Want 2 Do Project Tell Me Wat 2 Do
I Want 2 Do Project Tell Me Wat 2 Do
 
The bigrewrite
The bigrewriteThe bigrewrite
The bigrewrite
 
Technical interview experience sharing
Technical interview experience sharingTechnical interview experience sharing
Technical interview experience sharing
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
 
Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)
 
Cracking The Technical Interview Uw
Cracking The Technical Interview   UwCracking The Technical Interview   Uw
Cracking The Technical Interview Uw
 
SFScon 2020 - Xiaofeng Wang Jorge Melegati - Stop talking requirementsstart t...
SFScon 2020 - Xiaofeng Wang Jorge Melegati - Stop talking requirementsstart t...SFScon 2020 - Xiaofeng Wang Jorge Melegati - Stop talking requirementsstart t...
SFScon 2020 - Xiaofeng Wang Jorge Melegati - Stop talking requirementsstart t...
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
The bigrewrite
The bigrewriteThe bigrewrite
The bigrewrite
 
Permanent Software Engineers and Architects - Cambridge
Permanent Software Engineers and Architects - CambridgePermanent Software Engineers and Architects - Cambridge
Permanent Software Engineers and Architects - Cambridge
 
Prototype 1
Prototype 1Prototype 1
Prototype 1
 
CLEAN CODE
CLEAN CODECLEAN CODE
CLEAN CODE
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 

Andere mochten auch

Async in .NET
Async in .NETAsync in .NET
Async in .NET
RTigger
 
Keynote - Jim Geovedi - professional-hackers
Keynote - Jim Geovedi - professional-hackersKeynote - Jim Geovedi - professional-hackers
Keynote - Jim Geovedi - professional-hackers
idsecconf
 

Andere mochten auch (10)

Windows 8 programming with html and java script
Windows 8 programming with html and java scriptWindows 8 programming with html and java script
Windows 8 programming with html and java script
 
Aruna Kumar_Resume
Aruna Kumar_ResumeAruna Kumar_Resume
Aruna Kumar_Resume
 
Open source web services
Open source web servicesOpen source web services
Open source web services
 
Ready, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming languageReady, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming language
 
Open regina
Open reginaOpen regina
Open regina
 
You Can't Buy Agile
You Can't Buy AgileYou Can't Buy Agile
You Can't Buy Agile
 
Single page apps and the web of tomorrow
Single page apps and the web of tomorrowSingle page apps and the web of tomorrow
Single page apps and the web of tomorrow
 
Caching up is hard to do: Improving your Web Services' Performance
Caching up is hard to do: Improving your Web Services' PerformanceCaching up is hard to do: Improving your Web Services' Performance
Caching up is hard to do: Improving your Web Services' Performance
 
Async in .NET
Async in .NETAsync in .NET
Async in .NET
 
Keynote - Jim Geovedi - professional-hackers
Keynote - Jim Geovedi - professional-hackersKeynote - Jim Geovedi - professional-hackers
Keynote - Jim Geovedi - professional-hackers
 

Ähnlich wie How to hire a hacker

JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
jazoon13
 

Ähnlich wie How to hire a hacker (20)

Landing Your Next PHP Job
Landing Your Next PHP JobLanding Your Next PHP Job
Landing Your Next PHP Job
 
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software DevelopmentHow To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
 
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
 
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?
 
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
 
How to hire frontend engineers
How to hire frontend engineersHow to hire frontend engineers
How to hire frontend engineers
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job Easier
 
Senti is looking for Marketing interns!
Senti is looking for Marketing interns!Senti is looking for Marketing interns!
Senti is looking for Marketing interns!
 
Blog-how-do-i-hire-a-python-programmer-.pdf
Blog-how-do-i-hire-a-python-programmer-.pdfBlog-how-do-i-hire-a-python-programmer-.pdf
Blog-how-do-i-hire-a-python-programmer-.pdf
 
Introduction to architecture katas
Introduction to architecture katasIntroduction to architecture katas
Introduction to architecture katas
 
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for Developers
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 
Building a reputation in IT
Building a reputation in ITBuilding a reputation in IT
Building a reputation in IT
 
Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software Odors
 
Create Your Tester Portfolio
Create Your Tester PortfolioCreate Your Tester Portfolio
Create Your Tester Portfolio
 
From TrainedMonkey to Google SoC mentor – How to become an OOo developer
From TrainedMonkey to Google SoC mentor – How to become an OOo developerFrom TrainedMonkey to Google SoC mentor – How to become an OOo developer
From TrainedMonkey to Google SoC mentor – How to become an OOo developer
 
Lessons Learned About Software Development
Lessons Learned About Software DevelopmentLessons Learned About Software Development
Lessons Learned About Software Development
 
How to land your first job in tech without an engineering degree
How to land your first job in tech without an engineering degreeHow to land your first job in tech without an engineering degree
How to land your first job in tech without an engineering degree
 
Senti is looking for interns!
Senti is looking for interns!Senti is looking for interns!
Senti is looking for interns!
 
Hack It 'Til You Make It: Acing The Technical Interview
Hack It 'Til You Make It: Acing The Technical InterviewHack It 'Til You Make It: Acing The Technical Interview
Hack It 'Til You Make It: Acing The Technical Interview
 

Mehr von RTigger (12)

Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
 
Hackers, hackathons, and you
Hackers, hackathons, and youHackers, hackathons, and you
Hackers, hackathons, and you
 
AJAX, JSON, and Client-Side Templates
AJAX, JSON, and Client-Side TemplatesAJAX, JSON, and Client-Side Templates
AJAX, JSON, and Client-Side Templates
 
JavaScript!
JavaScript!JavaScript!
JavaScript!
 
Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
 
Node.js
Node.jsNode.js
Node.js
 
Reactive Extensions
Reactive ExtensionsReactive Extensions
Reactive Extensions
 
Sql vs NoSQL
Sql vs NoSQLSql vs NoSQL
Sql vs NoSQL
 
Git’in Jiggy With Git
Git’in Jiggy With GitGit’in Jiggy With Git
Git’in Jiggy With Git
 
What The F#
What The F#What The F#
What The F#
 
Web Services
Web ServicesWeb Services
Web Services
 
Total Engagement
Total EngagementTotal Engagement
Total Engagement
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

How to hire a hacker

  • 1. How to Hire a HackerCHAD MCCALLUM @CHADEMM WWW.RTIGGER.COM
  • 2. First things first… Not this kind of hacker This kind!
  • 3. What makes a great software developer?  Constructive and varied experience  Sees the value in testing (automated and manual)  Good grasp of system planning and dependencies  Positive attitude  Self-motivated learner  Able to identify personal ability  Motivated to keep improving What part of this list says “5 years with C#?”
  • 4. Why is this code bad? function addThingsTogetherToGetAResult(int1, int2, int3, int4, int5) foo = 0 if int1 ~= nil and int1 ~= 0 then foo = foo + int1 end if int2 ~= nil and int2 ~= 0 then foo = foo + int2 end -- …continue ad nauseum… return foo end
  • 5. What can an experienced software developer provide?  Ability to notice “code smells”  Duplicate code  Long methods  Large classes  Too many parameters  Poor class & method design  Appreciation for dependencies and structure of code  Automated (unit/integration/behavioural) testing and the architecture that goes with it
  • 6. What does language experience provide?  Nothing that can’t be learned over a week with Google
  • 7. Employers are looking for the “Perfect Employee” Most employers have an unrealistic view of software development  Not willing to train  Expect you to be overqualified  “You have a Computer Science / Software Engineering degree, so this should be simple”
  • 8. It’s hard to hire “great”  90% of applications are recruiter spam  With the advent of telecommuting, anyone can apply for anything  A degree isn’t enough anymore  How do you differentiate?
  • 9. How do you stand out? Show the employer you will add value  Targeted Practice & Experience  Wanna be a web developer? Learn web development!  Demonstrable experience  Make your code & experience public  Blog, open source, public code repository, online code submission  ABC: Always Be Coding
  • 10. How do you find a hacker?  “Good developers aren’t looking for jobs – they already have one”  We’re just like any other employee – there’s a certain comfort in knowing we have a solid job, even if there’s a better opportunity  We need to be flirted with :P
  • 11. How do you attract a hacker?  Approach us in context  No form-emails  Follow a project we’re working on, send us a question or comment  If you don’t speak the language, get a developer to follow up  Attend meetups (like barcamp!)  Attended by passionate developers, who are willing to invest personal time  If you can, host a meetup – shows you support the dev community and gives an opportunity to address the crowd
  • 12. How do you attract a hacker?  Open House  Work environment & culture is super important to developers – show yours off!  If you’re not comfortable showing it off, then you probably need to work on it  Great opportunity to interact with potential employees in an informal environment  Be Interesting  Don’t ask us interview questions, show us an interesting problem
  • 13. How do you find a hacker?  Culture Fit  Your team, office, and company works in a certain way. Sometimes people won’t fit  A smart developer with a bad attitude can bring down an entire team  Arguably, more important than technical skill  You can teach someone C#, you can’t (easily) teach them to be a team player

Hinweis der Redaktion

  1. We’re not talking about hiring someone to take down a website or steal credit card numbers for you – sorry if I mislead, feel free to vote with your feet We’re talking about software developers. But not just any software developers, the ones that stand out from the crowd. It’s relatively easy to get “someone who knows how to write code”. It’s hard to find a software developer.
  2. Ask the audience before revealing points, write them down on a whiteboardSo if nothing here says “5 years with C#”, why is it a job requirement?
  3. What’s wrong with this code? (ask audience)Arbitrary number of argumentsRepeating logic for each argumentCrappy function & variable nameGlobal variableHow many people know Lua?
  4. People argue, “you can’t be a master of (language X) without using it for years”. Not trueYou just pick up a bunch of other experience while you’re using language X that happens to be in that contextYou’re still learning good software development skills, and you don’t immediately lose all that experience as soon as you switch to something else. You have to relearn syntax, structure, libraries, but not much else. You can look that up, for free, online.
  5. Not willing to train – a flawed perspective. Most expect that because “you know coding” you can sit down with an existing team or codebase and get up and running within a week or two. Why aren’t they willing to invest in your productivity?Overqualified – unrealistic view of what is taught in university. “You made your own operating systems in university, why can’t you extend this CRUD app?” This is somewhat understandable, and speaks to a disconnect between the university and job marketHow many grads feel like they learned job-related skills in their program?Most, not all. There are good employers that get this
  6. Based on a recent example for a regina job posting: we received roughly 100 applications through Resumator. 90 of them were recruiter spam – blanket applications from a recruitment firm. Over half were from out of town, willing to relocate or work remotely.All the applications had some level of degree – Bachelor or Masters of ComSci & Software EngineeringHow many people were in your graduating class? (ask audience) How many people graduated before you? U of R started its ComSci program in 1971 (42 years ago)When everyone has a degree, you can’t differentiate by degree anymore.
  7. There is nothing preventing you from learning what you want to do online. Resources are free, most tooling is free.There’s a difference between saying “I can do web development” and actually showing it. Publish online.(give examples like github, codersumo, rtigger.com)
  8. Ask the crowd first, some ways that they would be “attracted” to a company