SlideShare a Scribd company logo
In most cases Technical interviews
do NOT represent WHAT or HOW
you will work
on a day to day basis
technical interviewing is a unique skill/experience
Technical Interviews are not the norm
Surviving a
Technical Interview
Eric Brooke Dec 2015
v6
Three interviews when I froze, I knew the answer but not in the environment they created:

1. White boarding the Fibonacci

2. Fizz buzz - in front of 7 people (two on skype)

3. How does a server cope with high demand
Junior Rails Interviews
• 14 interviews asked me to code in the following
• 3 JavaScript
• 3 Ruby
• 2 PHP
• 4 Rails
• 3 Algorithms in what ever language
When I applied to 14 roles as a junior rails dev, for junior rails positions these are languages I was ask code in or do in the case of Algorithms.

Do not rely that they know or will test you in your preferred language/framework
– Thomas Ptacek
http://sockpuppet.org/blog/2015/03/06/the-hiring-post/
“The majority of people who can code can’t do
it well in an interview. ”
Surviving the technical interview
–Every Action movie ever
“Remember your Training”
So we have to prepare you and get you some experience

Military train you under stress, so when it is stressful you can still remember your training
What to Expect
Format
• You and the founder in a room with your laptop
• You in a room and whiteboard with 1-6 people
• You in a room with their computer and whiteboard
an 1-3 people
• You on computer, coding in a online environment
• Code Competition
I think the format and the environment will help certain types of developers be successful but not all. If coding is about problem solving, surely you need different types
of people to come up with the a wider range of solutions. As the Bay of Pigs showed us being Smart is not enough. Is your environment about collaboration or
competition? Is it about having all the answers or being able to ask others.. Like most things human we are looking for a balance
Software Engineer
• Coding- fizzbuz, navigate a tree
• O Notation - what performs best and when to use
• SQL Queries - joins
• Algorithms - bubble sort
• Data Structures - linked lists, hashes, tree
Contents for a software engineer, here are some of the most common. Theses are the questions most de attached from the real work that you will do on a day to day
basis. They are perfects for a recent graduate, but not a bootcamper
Web Developer
What
happens
when you
click this
button?
a tag
javascript
event
resolve url
IP
server setup
routes
controllerHTTP model
viewprocesses
What happens when you click this button?

How does the server know what user is which?
Web Developer
• Security - Injection, XSS, CSRF
• HTTP - Codes, Headers and Transactions
• Performance - Frontend, Database requests
• Framework - Maybe
• Gems/Libraries - Which your favourite are and why
• Mobile - Responsive, scaling
On top you will be asked this question if the role is really a web dev job
Experience
1.Dev Environment build & Tools
2.Testing
3.Problem solving
4.Architecture
5.Code comprehension
6.Deployment
7.Continuous Deployment
8.Pairing
9.Process i.e. Agile or Waterfall
10.Scaling problems & Distributed systems
Conversation will often explore these topics depending on the level of the role you are applying for
Research
Understanding your
competence
1. What are your strengths and weaknesses (rate
your self 1-5 for each skill/language/concept)
2. What do you enjoy and not
3. How do you provide evidence of your strengths
4. Traditional App building - http://sijinjoseph.com/
programmer-competency-matrix/
The above programmer competency matrix is ok for the traditional C/Java engineer but fails for the full stack developer
Full Stack Developer
1. Internet protocol
2. HTTP
3. MVC
4. Dev Ops
5. Browser Compatibility
6. Differences between Devices i.e Mobile/desktop
7. A/B Testing
8. UX/UI
9. Performance over 3G/4G/Wifi etc
10.Scaleability & Distributed Systems
11.Locations, Languages and Timezones
So what should a full stack dev rate themselves on?
Cards Against Humanity - Researching the potential questions, will give you a leg up in the interview
Potential questions
1. Google
2. glassdoor.com
3. Quora
4. A great reference from Julia Evans
Write a list of potential questions by looking at the job description and finding the common questions for each skill/language
The interviewers
1. Linkedin
2. Blog
3. Github
4. Twitter
Ask HR who will interview, get their full name and do some research on imagine the kind of questions they will ask you. Build up an archetype of each interviewer.
What kind of future do you want?
Know why you want this job
1. The Technology
2. The Product
3. The People
4. The Vision
5. The Culture
6. The Money
7. The Place
If you do not love the technology or even like it consider another job. I would suggest you need 4 to consider a job and 5+ to really stay for a long period of time
Surviving
White Board code is very different to working on an IDE that finishes everything you are typing
Mock Interview
1. Ask a friend to come up with some questions and
ask you them
2. Get them to evaluate your strengths and
weaknesses
3. Practice white boarding with a friend
Practice with a friend, consider all the questions, identify the weak spots and revise them
Take Home
1. Really understand the problems
2. Complete and consider other ways, what are other
perspectives
3. Consider this an education opportunity
Love Take homes
Break down potential questions and understand the potential follow ons
Pre-Interview
1. The week before - Code - exercise.io or Ruby
Koan
2. Write out SQL queries and rehearse joins
3. Sleep well the night before
4. Prepare your laptop, what on your desktop?
You are prepared when you can explain thesis topics to someone who is not a computer scientist
Sometimes just ask for moment, find that place of peace and break down the problem and code.. Maybe just start with comments and build up to code..
Stress
1. Take a moment, find your happy place
2. Break down the problems to the smallest element
3. Be honest when you do not know and then figure it
out
4. Be verbose
5. Bring water and snacks, avoid food that make
sleepy
pairing socks
Techniques for technical
questions
1. Develop a plan before you code
2. Understand the ambiguities and ask questions
3. Start with the simplest approach
4. Iterate and improve 
5. Keep talking to let the interviewer know what you're thinking
6. Always listen to an interviewer’s hints
7. If you cannot remember the syntax ask the interviewer or just search the
web
8. If you get stuck, tell the interviewer you are stuck and explain why.
One interview wanted me to build a AWS setup
Coding
1. Add comments of what you will do in english
2. Make it work
3. Make it readable
4. Make it perform
Some interviewers are looking for the one line example, some are looking for code they enjoy ask them
Step out of trees for a moment, lets look at the forest
Big Picture
This is a two way process:
How they interview you,
helps you choose OR not choose them
How good is the interviewer when you get wrong, are they impatient, or are they a good coach, getting back on track. You can tell a lot about culture by their forgiveness
and ability to help you step up
Interviews Strategy
1. For the companies you want the most to work with,
interview with them later
2. Interviewing is a skill and experience matters
3. Reflect after every interview.  Find the answer to the
problems you did not know
4. Allocate learning time every week
5. Refresh basics every year i.e. core programming
langauge
Growing
You may need to do this after, the longest set of interviews I have had very 8 in a row for 8 hours..
After the Interview
1. Write all the questions down
2. Show colleagues/friends the questions ask them
how they would do it
3. Then show your answers and ask for their critic
4. Find answers to the questions you did not know
One interview asked me to use Cross-Site Scripting on their site, I had no idea, after I learnt a lot

OWASP
Conferences and online free videos of the conferences are way to greatly increase your experience, learn from others mistakes if you can - this Smashing Mag cons
Improve your..
1. Algorithms - https://www.manning.com/books/grokking-
algorithms
2. Math - https://www.khanacademy.org
3. Ruby - RubyTapas, The Ruby Way, The Well Grounded
Rubyist, Ruby Koans, Ruby Kata
4. Rails - The Rails 4 Way, Rails Anti Patterns
5. Scaling/Security - OWASP, The Tangled Web, The Practice of
Network Security Monitoring
6. Experience Conference talks i.e. Railsconf or Smashing Mag
Improve your..
7. JavaScript
1.  http://survivejs.com (free online version)
2.  http://es6katas.org
3. http://eloquentjavascript.net (free online version)
4. https://developer.mozilla.org/en-US/docs/Web/
JavaScript (best docs)
5. https://github.com/arkency/reactjs_koans
Pair Program
1. Good companies use it as both an interview
technique and for your actual job
2. Nice Pair - Pair Programming Archetypes
Become good at this, change partners every 4 hours or every feature, it is emotional exhausting at first, but you get used to it
Summary
Build your tech int. exp
• Practice core skills i.e. Programming Language
• Gain Interview Experience
• Review after every Interview
Program well in one language

Mock Interview until you have no fear

White Board until you can do it without referring

Learn from every interview
Extra
How I interview
First Interview
• Have coffee find out what I feel about this person
• Why they are passionate about coding
Second Interview
• Ask some basic technical questions
• Have them bring their project, explain it to me.  
• Ask them to add i.e. code a feature with a colleague pairing
• Meet the team
Two weeks in San Francisco. I have received a lot of job offers from people I met at tech conferences
Get an Interview
1. Make Connections - meet ups, conferences
2. Find the companies you want to work for e.g. Companies using Ruby
3. Help build the community - e.g. Vancouver Ruby Meetup
4. Startups and Startup Weekends - find people you want to work with
5. Coach/Teach/Mentor - we all know something more than someone else,
also you get better at communicating
6. Present/Blog - a journey of yours and help others learn
7. Projects - Your personal passion projects, maybe open source
8. Online social proof - Linkedin, Twitter, Blog
Professional Career - http://www.linkedin.com/in/ericbrooke

Articles I have read and events I attend - http://twitter.com/ericbrooke

A blog of unfinished thoughts - http://ericbrooke.wordpress.com/

What do I read? - http://www.goodreads.com/ericbrooke

Coding https://github.com/ericbrooke/
Hacking Health - Yukon
Other Perspectives
http://what-advice-would-you-give-someone-preparing-for-their-
first-technical-interview/3388/3
https://www.quora.com/How-do-I-prepare-for-a-software-
engineering-job-interview
http://techcrunch.com/2015/03/21/the-terrible-technical-interview/
http://techcrunch.com/2015/03/15/gray-beards/
http://sockpuppet.org/blog/2015/03/06/the-hiring-post/
http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the-
most-successful-technical-interviews-with-a-single-question/
what-advice-would-you-give-someone-preparing-for-their-first-technical-interview/3388/3

https://www.quora.com/How-do-I-prepare-for-a-software-engineering-job-interview

http://techcrunch.com/2015/03/21/the-terrible-technical-interview/

http://techcrunch.com/2015/03/15/gray-beards/

http://sockpuppet.org/blog/2015/03/06/the-hiring-post/

http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the-most-successful-technical-interviews-with-a-single-question/
Play often with code, find the project you actually care about, something to improve your life
My Interviews
1. Take home questions (Recursive, SQL, front end coding, code to recognize a shape, DSL)
2. Do Fibonacci on white board, basic tree construction, traversal, talk through what happens when you click a button in a
browser 
3. Discrete Math 101, graph traversal algorithms: breadth-first search and depth-first search, Hash Tables
4. Algorithms, Scaling, DevOps
5. Debug their production code
6. Object Oriented design, polymorphism, Functional programming, recursion
7. 100 questions on Ruby and Rails
8. 100 questions on Ruby and Rails, write some JavaScript a counter
9. 50 questions on Ruby and Rails then Fizzbuzz
10.Piglatin, problem solving, project management, architecture, distributed networks
11.Informal with devs, code bowling rules, problem solving, Architecture, code comprehension with complex legacy code
12.Take home 1(algorithm, web security, code comprehension, SQL, find the bug ), Take home 2 (add features to an existing rail
codebase)
13.Add a feature to your own rails code
14.Describe web process, 20 questions on web security, code a bubble sort, write an Sql query
Learning about others through your play
• Blog ericbrooke.wordpress.com
• Twitter @ericbrooke
• Git Hub: ericbrooke
• Goodreads: http://www.goodreads.com/ericbrooke
• Linkedin http://www.linkedin.com/in/ericbrooke
Professional Career - http://www.linkedin.com/in/ericbrooke

Articles I have read and events I attend - http://twitter.com/ericbrooke

A blog of unfinished thoughts - http://ericbrooke.wordpress.com/

What do I read? - 

Coding https://github.com/ericbrooke/

More Related Content

PDF
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...
PPT
Pair Programming
PPTX
'10 Great but now Overlooked Tools' by Graham Thomas
PPTX
On Readability of Code
TXT
Upwork time log and difficulty 20160523
PDF
10 tips to save you time and frustration while programming
PDF
Pair programming
PPTX
CPP01 - Introduction to C++
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Rails...
Pair Programming
'10 Great but now Overlooked Tools' by Graham Thomas
On Readability of Code
Upwork time log and difficulty 20160523
10 tips to save you time and frustration while programming
Pair programming
CPP01 - Introduction to C++

What's hot (12)

PDF
Culture And Aesthetic Revisited
PDF
Scottish Ruby Conference 2014
PDF
C# and java comparing programming languages
PPTX
Going Pro
PPTX
Cracking the coding interview u penn - sept 30 2010
PPTX
FMP Evaluation
PPT
How to get a Job as a Front End Developer
ODP
Opw2010 Gsoc
PDF
Dancing for a product release
PDF
A Rapid e-Learning Primer for Technical Communicators
PPTX
How to become a software developer
PDF
Binary crosswords
Culture And Aesthetic Revisited
Scottish Ruby Conference 2014
C# and java comparing programming languages
Going Pro
Cracking the coding interview u penn - sept 30 2010
FMP Evaluation
How to get a Job as a Front End Developer
Opw2010 Gsoc
Dancing for a product release
A Rapid e-Learning Primer for Technical Communicators
How to become a software developer
Binary crosswords
Ad

Similar to Surviving the technical interview (20)

PPTX
Rocking The Tech Interview
PDF
How to hire frontend engineers
PDF
gettingintothetechfieldwhatnext-210526205624.pdf
PDF
Getting into the tech field. what next
PPTX
Technical interview experience sharing
PDF
Europython how to make it recruiting suck less?
PPTX
Preparing for a Tech Interview
PDF
Karat at CMU
PDF
I'm Graduating Soon. Help! How Do I Get into the Tech Field?
PDF
How to become Industry ready engineers.pdf
PDF
Tips to Kick-start your Software Engineering Career
PPTX
Tips to kick-start your Software Engineering Career - Ferdous Mahmud Shaon
PPTX
Cracking The Technical Interview Uw
PPTX
How to Prepare for and Survive a Technical Interview
PPTX
Preparing for a technical interview
PPTX
Presentation for JSPM's RSCOE
PDF
How Indeed asks coding interview questions
PDF
The senior dev
PPTX
SELF - Becoming a Rails Developer - The Rest of the Story
PPTX
Rock the tech interview january 2015
Rocking The Tech Interview
How to hire frontend engineers
gettingintothetechfieldwhatnext-210526205624.pdf
Getting into the tech field. what next
Technical interview experience sharing
Europython how to make it recruiting suck less?
Preparing for a Tech Interview
Karat at CMU
I'm Graduating Soon. Help! How Do I Get into the Tech Field?
How to become Industry ready engineers.pdf
Tips to Kick-start your Software Engineering Career
Tips to kick-start your Software Engineering Career - Ferdous Mahmud Shaon
Cracking The Technical Interview Uw
How to Prepare for and Survive a Technical Interview
Preparing for a technical interview
Presentation for JSPM's RSCOE
How Indeed asks coding interview questions
The senior dev
SELF - Becoming a Rails Developer - The Rest of the Story
Rock the tech interview january 2015
Ad

More from Eric Brooke (11)

PPTX
First Job in USA
PPTX
A great place to work
PPTX
Indecision legacy
PPTX
Thank you
PDF
Many careers
PPTX
Feedback
PDF
DA ref complete
PDF
Healthgeo pitch
PPT
Organisation 3.0 beta - Viewing humans as humans not resources
KEY
Green Housing
KEY
Chicken checkin
First Job in USA
A great place to work
Indecision legacy
Thank you
Many careers
Feedback
DA ref complete
Healthgeo pitch
Organisation 3.0 beta - Viewing humans as humans not resources
Green Housing
Chicken checkin

Recently uploaded (20)

PDF
Blue-Modern-Elegant-Presentation (1).pdf
PPT
BCH3201 (Enzymes and biocatalysis)-JEB (1).ppt
PDF
MCQ Practice CBT OL Official Language 1.pptx.pdf
PPTX
Principles of Inheritance and variation class 12.pptx
PPTX
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
PDF
Josh Gao Strength to Strength Book Summary
PPTX
OCCULAR MANIFESTATIONS IN LEPROSY.pptx bbb
PPTX
microtomy kkk. presenting to cryst in gl
PDF
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
PPTX
E-Commerce____Intermediate_Presentation.pptx
PDF
Sales and Distribution Managemnjnfijient.pdf
PDF
L-0018048598visual cloud book for PCa-pdf.pdf
PPTX
Sports and Dance -lesson 3 powerpoint presentation
DOCX
How to Become a Criminal Profiler or Behavioural Analyst.docx
PPTX
1-4 Chaptedjkfhkshdkfjhalksjdhfkjshdljkfhrs.pptx
DOCX
mcsp232projectguidelinesjan2023 (1).docx
PPTX
退学买新西兰毕业证(WelTec毕业证书)惠灵顿理工学院毕业证国外证书制作
PPTX
The Stock at arrangement the stock and product.pptx
PPTX
chapter 3_bem.pptxKLJLKJLKJLKJKJKLJKJKJKHJH
PPTX
internship presentation of bsnl in colllege
Blue-Modern-Elegant-Presentation (1).pdf
BCH3201 (Enzymes and biocatalysis)-JEB (1).ppt
MCQ Practice CBT OL Official Language 1.pptx.pdf
Principles of Inheritance and variation class 12.pptx
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
Josh Gao Strength to Strength Book Summary
OCCULAR MANIFESTATIONS IN LEPROSY.pptx bbb
microtomy kkk. presenting to cryst in gl
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
E-Commerce____Intermediate_Presentation.pptx
Sales and Distribution Managemnjnfijient.pdf
L-0018048598visual cloud book for PCa-pdf.pdf
Sports and Dance -lesson 3 powerpoint presentation
How to Become a Criminal Profiler or Behavioural Analyst.docx
1-4 Chaptedjkfhkshdkfjhalksjdhfkjshdljkfhrs.pptx
mcsp232projectguidelinesjan2023 (1).docx
退学买新西兰毕业证(WelTec毕业证书)惠灵顿理工学院毕业证国外证书制作
The Stock at arrangement the stock and product.pptx
chapter 3_bem.pptxKLJLKJLKJLKJKJKLJKJKJKHJH
internship presentation of bsnl in colllege

Surviving the technical interview

  • 1. In most cases Technical interviews do NOT represent WHAT or HOW you will work on a day to day basis technical interviewing is a unique skill/experience
  • 4. Three interviews when I froze, I knew the answer but not in the environment they created: 1. White boarding the Fibonacci 2. Fizz buzz - in front of 7 people (two on skype) 3. How does a server cope with high demand
  • 5. Junior Rails Interviews • 14 interviews asked me to code in the following • 3 JavaScript • 3 Ruby • 2 PHP • 4 Rails • 3 Algorithms in what ever language When I applied to 14 roles as a junior rails dev, for junior rails positions these are languages I was ask code in or do in the case of Algorithms. Do not rely that they know or will test you in your preferred language/framework
  • 6. – Thomas Ptacek http://sockpuppet.org/blog/2015/03/06/the-hiring-post/ “The majority of people who can code can’t do it well in an interview. ”
  • 8. –Every Action movie ever “Remember your Training” So we have to prepare you and get you some experience Military train you under stress, so when it is stressful you can still remember your training
  • 10. Format • You and the founder in a room with your laptop • You in a room and whiteboard with 1-6 people • You in a room with their computer and whiteboard an 1-3 people • You on computer, coding in a online environment • Code Competition I think the format and the environment will help certain types of developers be successful but not all. If coding is about problem solving, surely you need different types of people to come up with the a wider range of solutions. As the Bay of Pigs showed us being Smart is not enough. Is your environment about collaboration or competition? Is it about having all the answers or being able to ask others.. Like most things human we are looking for a balance
  • 11. Software Engineer • Coding- fizzbuz, navigate a tree • O Notation - what performs best and when to use • SQL Queries - joins • Algorithms - bubble sort • Data Structures - linked lists, hashes, tree Contents for a software engineer, here are some of the most common. Theses are the questions most de attached from the real work that you will do on a day to day basis. They are perfects for a recent graduate, but not a bootcamper
  • 12. Web Developer What happens when you click this button? a tag javascript event resolve url IP server setup routes controllerHTTP model viewprocesses What happens when you click this button? How does the server know what user is which?
  • 13. Web Developer • Security - Injection, XSS, CSRF • HTTP - Codes, Headers and Transactions • Performance - Frontend, Database requests • Framework - Maybe • Gems/Libraries - Which your favourite are and why • Mobile - Responsive, scaling On top you will be asked this question if the role is really a web dev job
  • 14. Experience 1.Dev Environment build & Tools 2.Testing 3.Problem solving 4.Architecture 5.Code comprehension 6.Deployment 7.Continuous Deployment 8.Pairing 9.Process i.e. Agile or Waterfall 10.Scaling problems & Distributed systems Conversation will often explore these topics depending on the level of the role you are applying for
  • 16. Understanding your competence 1. What are your strengths and weaknesses (rate your self 1-5 for each skill/language/concept) 2. What do you enjoy and not 3. How do you provide evidence of your strengths 4. Traditional App building - http://sijinjoseph.com/ programmer-competency-matrix/ The above programmer competency matrix is ok for the traditional C/Java engineer but fails for the full stack developer
  • 17. Full Stack Developer 1. Internet protocol 2. HTTP 3. MVC 4. Dev Ops 5. Browser Compatibility 6. Differences between Devices i.e Mobile/desktop 7. A/B Testing 8. UX/UI 9. Performance over 3G/4G/Wifi etc 10.Scaleability & Distributed Systems 11.Locations, Languages and Timezones So what should a full stack dev rate themselves on?
  • 18. Cards Against Humanity - Researching the potential questions, will give you a leg up in the interview
  • 19. Potential questions 1. Google 2. glassdoor.com 3. Quora 4. A great reference from Julia Evans Write a list of potential questions by looking at the job description and finding the common questions for each skill/language
  • 20. The interviewers 1. Linkedin 2. Blog 3. Github 4. Twitter Ask HR who will interview, get their full name and do some research on imagine the kind of questions they will ask you. Build up an archetype of each interviewer.
  • 21. What kind of future do you want?
  • 22. Know why you want this job 1. The Technology 2. The Product 3. The People 4. The Vision 5. The Culture 6. The Money 7. The Place If you do not love the technology or even like it consider another job. I would suggest you need 4 to consider a job and 5+ to really stay for a long period of time
  • 24. White Board code is very different to working on an IDE that finishes everything you are typing
  • 25. Mock Interview 1. Ask a friend to come up with some questions and ask you them 2. Get them to evaluate your strengths and weaknesses 3. Practice white boarding with a friend
  • 26. Practice with a friend, consider all the questions, identify the weak spots and revise them
  • 27. Take Home 1. Really understand the problems 2. Complete and consider other ways, what are other perspectives 3. Consider this an education opportunity Love Take homes
  • 28. Break down potential questions and understand the potential follow ons
  • 29. Pre-Interview 1. The week before - Code - exercise.io or Ruby Koan 2. Write out SQL queries and rehearse joins 3. Sleep well the night before 4. Prepare your laptop, what on your desktop? You are prepared when you can explain thesis topics to someone who is not a computer scientist
  • 30. Sometimes just ask for moment, find that place of peace and break down the problem and code.. Maybe just start with comments and build up to code..
  • 31. Stress 1. Take a moment, find your happy place 2. Break down the problems to the smallest element 3. Be honest when you do not know and then figure it out 4. Be verbose 5. Bring water and snacks, avoid food that make sleepy
  • 33. Techniques for technical questions 1. Develop a plan before you code 2. Understand the ambiguities and ask questions 3. Start with the simplest approach 4. Iterate and improve  5. Keep talking to let the interviewer know what you're thinking 6. Always listen to an interviewer’s hints 7. If you cannot remember the syntax ask the interviewer or just search the web 8. If you get stuck, tell the interviewer you are stuck and explain why.
  • 34. One interview wanted me to build a AWS setup
  • 35. Coding 1. Add comments of what you will do in english 2. Make it work 3. Make it readable 4. Make it perform Some interviewers are looking for the one line example, some are looking for code they enjoy ask them
  • 36. Step out of trees for a moment, lets look at the forest
  • 38. This is a two way process: How they interview you, helps you choose OR not choose them How good is the interviewer when you get wrong, are they impatient, or are they a good coach, getting back on track. You can tell a lot about culture by their forgiveness and ability to help you step up
  • 39. Interviews Strategy 1. For the companies you want the most to work with, interview with them later 2. Interviewing is a skill and experience matters 3. Reflect after every interview.  Find the answer to the problems you did not know 4. Allocate learning time every week 5. Refresh basics every year i.e. core programming langauge
  • 41. You may need to do this after, the longest set of interviews I have had very 8 in a row for 8 hours..
  • 42. After the Interview 1. Write all the questions down 2. Show colleagues/friends the questions ask them how they would do it 3. Then show your answers and ask for their critic 4. Find answers to the questions you did not know
  • 43. One interview asked me to use Cross-Site Scripting on their site, I had no idea, after I learnt a lot OWASP
  • 44. Conferences and online free videos of the conferences are way to greatly increase your experience, learn from others mistakes if you can - this Smashing Mag cons
  • 45. Improve your.. 1. Algorithms - https://www.manning.com/books/grokking- algorithms 2. Math - https://www.khanacademy.org 3. Ruby - RubyTapas, The Ruby Way, The Well Grounded Rubyist, Ruby Koans, Ruby Kata 4. Rails - The Rails 4 Way, Rails Anti Patterns 5. Scaling/Security - OWASP, The Tangled Web, The Practice of Network Security Monitoring 6. Experience Conference talks i.e. Railsconf or Smashing Mag
  • 46. Improve your.. 7. JavaScript 1.  http://survivejs.com (free online version) 2.  http://es6katas.org 3. http://eloquentjavascript.net (free online version) 4. https://developer.mozilla.org/en-US/docs/Web/ JavaScript (best docs) 5. https://github.com/arkency/reactjs_koans
  • 47. Pair Program 1. Good companies use it as both an interview technique and for your actual job 2. Nice Pair - Pair Programming Archetypes Become good at this, change partners every 4 hours or every feature, it is emotional exhausting at first, but you get used to it
  • 49. Build your tech int. exp • Practice core skills i.e. Programming Language • Gain Interview Experience • Review after every Interview Program well in one language Mock Interview until you have no fear White Board until you can do it without referring Learn from every interview
  • 50. Extra
  • 51. How I interview First Interview • Have coffee find out what I feel about this person • Why they are passionate about coding Second Interview • Ask some basic technical questions • Have them bring their project, explain it to me.   • Ask them to add i.e. code a feature with a colleague pairing • Meet the team
  • 52. Two weeks in San Francisco. I have received a lot of job offers from people I met at tech conferences
  • 53. Get an Interview 1. Make Connections - meet ups, conferences 2. Find the companies you want to work for e.g. Companies using Ruby 3. Help build the community - e.g. Vancouver Ruby Meetup 4. Startups and Startup Weekends - find people you want to work with 5. Coach/Teach/Mentor - we all know something more than someone else, also you get better at communicating 6. Present/Blog - a journey of yours and help others learn 7. Projects - Your personal passion projects, maybe open source 8. Online social proof - Linkedin, Twitter, Blog
  • 54. Professional Career - http://www.linkedin.com/in/ericbrooke Articles I have read and events I attend - http://twitter.com/ericbrooke A blog of unfinished thoughts - http://ericbrooke.wordpress.com/ What do I read? - http://www.goodreads.com/ericbrooke Coding https://github.com/ericbrooke/
  • 56. Other Perspectives http://what-advice-would-you-give-someone-preparing-for-their- first-technical-interview/3388/3 https://www.quora.com/How-do-I-prepare-for-a-software- engineering-job-interview http://techcrunch.com/2015/03/21/the-terrible-technical-interview/ http://techcrunch.com/2015/03/15/gray-beards/ http://sockpuppet.org/blog/2015/03/06/the-hiring-post/ http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the- most-successful-technical-interviews-with-a-single-question/ what-advice-would-you-give-someone-preparing-for-their-first-technical-interview/3388/3 https://www.quora.com/How-do-I-prepare-for-a-software-engineering-job-interview http://techcrunch.com/2015/03/21/the-terrible-technical-interview/ http://techcrunch.com/2015/03/15/gray-beards/ http://sockpuppet.org/blog/2015/03/06/the-hiring-post/ http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the-most-successful-technical-interviews-with-a-single-question/
  • 57. Play often with code, find the project you actually care about, something to improve your life
  • 58. My Interviews 1. Take home questions (Recursive, SQL, front end coding, code to recognize a shape, DSL) 2. Do Fibonacci on white board, basic tree construction, traversal, talk through what happens when you click a button in a browser  3. Discrete Math 101, graph traversal algorithms: breadth-first search and depth-first search, Hash Tables 4. Algorithms, Scaling, DevOps 5. Debug their production code 6. Object Oriented design, polymorphism, Functional programming, recursion 7. 100 questions on Ruby and Rails 8. 100 questions on Ruby and Rails, write some JavaScript a counter 9. 50 questions on Ruby and Rails then Fizzbuzz 10.Piglatin, problem solving, project management, architecture, distributed networks 11.Informal with devs, code bowling rules, problem solving, Architecture, code comprehension with complex legacy code 12.Take home 1(algorithm, web security, code comprehension, SQL, find the bug ), Take home 2 (add features to an existing rail codebase) 13.Add a feature to your own rails code 14.Describe web process, 20 questions on web security, code a bubble sort, write an Sql query
  • 59. Learning about others through your play
  • 60. • Blog ericbrooke.wordpress.com • Twitter @ericbrooke • Git Hub: ericbrooke • Goodreads: http://www.goodreads.com/ericbrooke • Linkedin http://www.linkedin.com/in/ericbrooke Professional Career - http://www.linkedin.com/in/ericbrooke Articles I have read and events I attend - http://twitter.com/ericbrooke A blog of unfinished thoughts - http://ericbrooke.wordpress.com/ What do I read? -  Coding https://github.com/ericbrooke/