How to Hire Good Programmers

How to Hire Good Programmers

Few things will ruin a great team faster than a bad hire so how do you recognize a talented software developer in a 30-minute interview? The traditional method of hiring programmers is to hire based on what they know. I will argue that you should instead hire a programmer based on what they can learn.

Da526e4b5901b3a2759cf234285c6488?s=128

Jennifer Bland

February 22, 2018
Tweet

Transcript

  1. How to Hire Good Programmers Jennifer Bland

  2. 2 Who Am I? www.jenniferbland.com @ratracegrad www.youtube.com/c/JenniferBland jennifer@jenniferbland.com github.com/jenniferbland

  3. 3 answer at end of presentation Three Truths One Lie

    I made only 1 B at university rest were A I was in the 2nd largest California earthquake I have been to England 24 times I have more toy soldiers than Winston Churchill
  4. INTERVIEW PROCESS TODAY SUCKS let me show you how to

    improve it
  5. Improving the Interview Process 5 Stop doing at-home programming challenges

    Implement short coding exercises Have casual conversations on topics
  6. Stop Doing At-Home Programming Challenges

  7. Create an AngularJS applicaOon using Sass/Less. The Page view of

    the applicaOon will contain 2 dropdowns (The dropdowns should be custom dropdowns created using Angular direcOve) – 1st dropdown will list 2 makes – Ford, Acura. The 2nd dropdown will contain the corresponding models based on the selecOon of the make – Models dropdown will be hidden by default and will only be available in the DOM if the make is selected. · Models for Ford: Edge, Escape. · Models for Acura: ILX, MDX. The page view will also contain a content placeholder – Depending on the model selected, text will be populated in the first placeholder based on that specific model. The content should also display the corresponding image of the vehicle. Write unit tests validaOng the funcOonality above. Data should come from mongodb. Create a nodejs project for this exercise.
  8. Create the objects that you feel would best model a

    jungle using your best OO design or funcOonal approach and coding pracOces based on the following requirements, using any language of choice.
 1. The jungle contains several species of animals; Ogers, monkeys and snakes. 2. All animals can do three things, make a sound, eat food, and sleep. 3. Each species of animal knows how many others of its kind exist. 4. By default when an animal’s energy level changes, it changes in the following ways: a. -3 for making a sound b. +5 for eaOng food c. +10 for sleeping 5. The jungle can perform a sound off. This involves all of the animals in the jungle each making their sound, along with reporOng their energy level. 6. Tigers get +5 energy for sleeping. 7. Monkeys get +2 energy for eaOng and -4 energy for making a sound. 8. Some animals have the ability to play. 9. Only monkeys can play. When they do they say "Oooo Oooo Oooo" and get -8 energy. If a monkey doesn't have enough energy to play they say "Monkey is too Ored". 10. The jungle contains several types of food; meat, fish, bugs and grain. 11. Tigers can't eat grain because they have sensiOve digesOve systems. 12. Bonus Item: The jungle can have each animal perform a random acOvity out of the ones possible for that animal. Include Unit tests if you would like to do so.
  9. You will be creaOng an applicaOon in the language/framework of

    your choice that plays the game "Connect Four”. • Level 1: Build a playable game of Connect 4 with 2 players, a command line interface being fine. Should have player moves, win detecOon logic, Oe detecOon, etc. 
 • Level 2: Implement a standard “AI” for the computer player. A standard computer opponent should block a human from winning when able to, but plays more ad hoc and does not operate with an advanced strategy.
 • Level 3: Make it playable online (Heroku or similar) with a SPA web interface, games persisOng to a database, etc.
 * Boss Level (Bonus): the computer player's decision engine should have a sesng for smarter vs standard opponent. The smarter version should employ any sort of intelligent strategy or look-ahead approach you choose, and be able to win most Omes (assuming it goes first and it’s not playing against a player with the same strategy), though it does not have to play mathemaOcally perfectly.
  10. Implement Short Coding Exercises

  11. Break Questions into Areas 11 HTML/CSS JavaScript/jQuery Node.js

  12. HTML / CSS 12 Test their knowledge What is the

    difference between an id and a class?
  13. HTML / CSS 13 Test their knowledge What is the

    difference between an id and a class? What does the box model refer to in CSS?
  14. HTML / CSS 14 Test their knowledge What is the

    difference between an id and a class? What does the box model refer to in CSS? reset css file and normalize.css - What are they?
  15. HTML / CSS 15 Test their knowledge What is the

    difference between an id and a class? What does the box model refer to in CSS? reset css file and normalize.css - What are they? What is the difference between inline, inline-block and block?
  16. HTML / CSS 16 Test their knowledge Write a CSS

    selector to select on the inner two li’s in the markup below
  17. HTML / CSS 17 Test their knowledge Write a CSS

    selector to select only the first of the inner two li’s in the markup below
  18. HTML / CSS 18 Test their knowledge Given this CSS

    What would the HTML look like?
  19. Scoring Potential Applicants

  20. Scoring System 20 Consistency is the Key Have scorecard completed

    by every person doing interview Set points for each question Require minimum score to hire
  21. Scoring System 21 Consistency is the Key

  22. Scoring System 22 Consistency is the Key Does the candidate

    meet minimum score? How do they compare to other candidates? Resolution of same score
  23. Have a Casual Conversation

  24. HTML / CSS 24 Test their knowledge What are Sass

    and LESS? Which one or none do you prefer to use?
  25. HTML / CSS 25 Test their knowledge What are Sass

    and LESS? Which one or none do you prefer to use? Name some online resources that you reference when having CSS issues?
  26. HTML / CSS 26 Test their knowledge What are Sass

    and LESS? Which one or none do you prefer to use? Name some online resources that you reference when having CSS issues? What are the various techniques for clearing floats?
  27. HTML / CSS 27 Test their knowledge What are Sass

    and LESS? Which one or none do you prefer to use? Name some online resources that you reference when having CSS issues? What are the various techniques for clearing floats? What are some accessibility concerns that come up in CSS?
  28. General Questions 28 Test their knowledge What is your favorite

    IDE and why?
  29. General Questions 29 Test their knowledge What is your favorite

    IDE and why? What are your favorite programming languages?
  30. General Questions 30 Test their knowledge What is your favorite

    IDE and why? What are your favorite programming languages? You are asked to write a palindrome function. What are some conditions you definitely want to test?
  31. Conclusion

  32. 32 Additional Resources www.codeprep.io www.in5days.tech www.youtube.com/c/jenniferbland

  33. 33 answer at end of presentation Three Truths One Lie

    I made only 1 B at university rest were A I was in the 2nd largest California earthquake I have been to England 24 times I have more toy soldiers than Winston Churchill
  34. 34 Who Am I? www.jenniferbland.com @ratracegrad www.youtube.com/c/JenniferBland jennifer@jenniferbland.com github.com/jenniferbland