Improving at JS Interviews

Who Am I?

  • Kyle Shevlin - @kyleshevlin
    • Lover of JavaScript
    • Hater of semicolons (in my JavaScript)
  • Software Engineer @fastly (starting in August)

Why this talk?

Because better is better, right?

No matter where you are in your career...

Better interviews -> Better opportunities

 

Better interviews -> More offers -> More Leverage -> More $$$

 

Better interviews -> Better candidates -> Better Products -> More Customers -> More $$$

What qualifies me to talk about this?

Nothing, in particular,

but..

I am the de facto moderator of #jobs-advice on Reactiflux

I spent the last six months or so interviewing regularly

I failed a lot.*

 

 

 

 

*I learned a lot, too.

What this talk will cover

  • Mental Game

  • Networking

  • Technical Interviewing

  • Cultural Interviewing

Mental Game

"Interviewing is bullshit."

- Brian Holt

But... it still matters

Develop your inner Vulcan

Practice detachment

 

Keep a level head

 

Approach things rationally

Consider the

                 asymmetry

Be aware of where power is balanced

 

Be aware of what leverage either side has

Interview more often

Like everything else, you get better with frequent practice

 

If you're not looking, you still learn what is available to you

 

It's free info on how other companies are doing their interviews

Networking

"Why are you talking about networking in a talk about interviewing?"

- Random PDXJS Attendee

Because...

Networks get you more interviews

 

Enable you to bypass certain interviews

 

People like working with people they know and enjoy

Yeah, but I hate networking...

Networking doesn't have to feel

selfish or wrong

 

Networking is about connections, and you can be a trunk, a branch, or a leaf

 

Look for opportunities to be

a connector for others

People remember people who brought them value

Technical Interviewing

For most of us, this is the area we can most visibly improve

There's an emphasis on finding developers & engineers who have solid JS skills & CS fundamentals

Learn to solve problems without the crutches frameworks

Get comfortable solving problems with Just JavaScript™

 

Be able to rebuild some of the features in popular libraries & frameworks

 

Be comfortable using Node for output & running scripts

Types of Technical Interviews

(and what they evaluate)

Phone/Take Home - Are you a fraud or a liar?

 

On Site - Can you do the job? Are you pleasant to work with?

Basic Strategy

  • Deep breath. Seriously.
  • Ask clarifying questions up front
  • Talk through a solution, preferably more than one
  • State which solution you'll pursue and why
  • Talk about tradeoffs
  • Write the code; Don't be afraid if you don't finish
  • Keep asking questions

Ways to Practice

  • Code Katas
  • Practice coding while thinking out loud
  • Record yourself
  • Use a partner
  • Mock Interviews

Specific Skills

Recursion

 

Data Structure Optimization

aka reduce()

Cultural

Interviewing

This is the easiest stage to "lose" a potential offer

True

False

Positive

Negative

What every interviewer is after; Perfect candidate; Perfect fit

The unfortunate, but acceptable casualties of the interviewing process.

Interviewer's worst nightmare. Seemed awesome. Can't do the job. Costs lots of $$$

Candidates that should never, ever, ever get their foot in the door

"Culture" is the safest, legal means to establishing a candidate as negative - true or false.

Be prepared

Have good questions ready

 

Don't wing it, but do adapt

 

Questions should be adapted to the interviewer

Now, Discuss!

Resources

Reactiflux - #jobs-advice

 

Soft Skills Engineering Podcast

 

Front End Happy Hour - http://frontendhappyhour.com/episodes/interviews-make-us-drink/

 

Developer's Guide To Interviewing - https://medium.freecodecamp.org/how-to-interview-as-a-developer-candidate-b666734f12dd

 

Cracking the Coding Interview

Improving at JS Interviews

By Kyle Shevlin

Improving at JS Interviews

A talk about getting better at interviewing for JavaScript roles.

  • 830