# Interviewing for Engineering roles --- # Workshop timetable - 15 mins Introduction Per interview. - 10 mins Introduction - 15 mins Interview - 5 mins wrap-up Wrap-up and questions - 45 mins wrap-up and questions. --- # Why? * To work out if they want to hire you. * Technical fit. * Experience fit. * Personality or "culture fit". --- # What happens internally at these companies? 1. Requirement is generated. 2. Sourcing - advertise and network. 3. Review resumes. 4. Interview candidates. 5. Decide on a candidate. --- # How does it work? --- # Potential lifecycle 1. Apply for the role. 2. Complete a code challenge. 3. Have a phone screen. 4. Onsite times x interviews... --- # Where? * Phone. * Remote / Video conference. * Onsite. --- # Types of interview 1. Algorithms and Structures. 2. Technical interview. 3. Whiteboard/Coding exercise. 4. Product interview. --- # Algorithms and Structures interview * Abstract problems. * Heavily theoretical. * What's the best technique to solve a problem? --- # Practice/Learning * Relies on prior study - often LOTS of prior study. * Not just knowing the algorithm but how to articulate it. * If you can't go deep, go broad. --- # Tips & Tricks * "I don't know but..." * Propose alternative idea(s). * Their behavior sends important signals. --- # Let's interview someone #1 ## An algorithms and structures interview --- # Technical interview * Technical questions - what is a thing? * Often hands on: * Troubleshoot a problem. * Solution-centric - how would you do it? * Architecture - draw an architecture. * Best practices for Engineering. --- # Practice/Learning * Also study-based. * Work on problems and problem solving. * Be able to talk through process - "When we did our projects we did..." * Tests and testing are often weaknesses - know background and types even if you've not written a lot. Know the why. * Know Git, GitHub, Eng workflow, Agile. --- # Tips & Tricks * Not knowing is okay. * "I haven't done but I have done..." * "I have done x with y so I am looking forward to z." * Turn the question(s) around: - "We did some Agile, what do you do?" - "What it's like to work on x?" - "Do you have a tool for x, what's it like?" --- # Let's interview someone #2 ## A technical interview --- # Whiteboard/coding interview * The solution is important. * But the journey is important too. * Show your working! --- # Practice/Learning * Best method to learn is to run exercises. * Rehearse/practice talking through your solution as you build. --- # Tips & Tricks * Ask questions - this isn't a one way street. * Assumption is the mother of all ice cream truck crashes. * Break the problem down - start with data structures, model and then code. * Pseudo-code beats no code. --- # Let's interview someone #3 ## A Whiteboard/coding interview --- # Product Interview * Usually done by a designer or product manager. * They want to know how you'll work within a product lifecycle. * They want to know if you care about their product. * Often overlaps with personality interview. --- # Practice/Learning * Know them and their product. * Typical questions: - "What's worst aspect of product?" - "What would you change?" - "What do you love about the product?" - "Why do you think product does x?" --- # Tips & Tricks * Be enthusiastic about their product. * Have a good story about their product. * Have a product idea. --- # Let's interview someone #4 ## A Product interview --- # Questions & Answers?