Skip to content

Instantly share code, notes, and snippets.

@masiamj
Last active January 7, 2020 01:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save masiamj/a060e309c2490e534461c58048e269b0 to your computer and use it in GitHub Desktop.
Save masiamj/a060e309c2490e534461c58048e269b0 to your computer and use it in GitHub Desktop.
Thoughts on interviewing a new developer for the Steppingblocks engineering team.

Steppingblocks Developer Interview

I'd probably break this interview down into the goals of hiring someone:

  • Cares About the Craft
  • Immediately Productive
  • Computer Science Thinking

Cares About the Craft

Someone who really cares about their engineering work is going to be present on the latest trends and industry standards.

They should be interested on an off the battlefield, so you can prob ask a couple interesting leading questions:

  • What was new in React 16.8?

    This this a HUGE question. If they're engaged in the React ecosystem, they should know about this release because it included React Hooks which have really changed the game.

  • What tech blogs/newsletters do you subscribe to?

    This shows 2 things to me: they read/care about engineering outside of work, and if they can actually name a couple blogs then you know they're very attentive to detail.

  • What do you want to learn next?

    Forward-thinking. Curious.

Immediately Productive

You can definitely help someone get up to speed on a new codebase and technology, but they should be able to at least be able to PR a simple bug fix on day 1.

Here I would ask some very specfic technical questions around the skills they claim.

For example:

If they say they're well-versed in Express:

  • Write an Express middleware function that logs out the IP address.

  • How does error handling work in Express?

If they say they're well-versed in GraphQL:

  • Describe the purpose of GraphQL typeDefs, resolvers, schemaDirectives, and enums.

  • What is DataLoader? What is it used for?

  • What is Apollo? What is is used for? What's nice about it?

If they say they're well-versed in React/Redux/Apollo/Hooks/etc.:

  • Which Redux middleware do you prefer? Why?

  • What does the react-redux combineReducers do?

  • How do you clear the Apollo cache?

  • Describe useState, useEffect, useCallback, and useMemo?

Computer Science Thinking

Bigger concepts that test a wide variety of domain knowledge.

  • Have you used SQL and NoSQL databases? In what context?

  • How do you measure application performance?

  • You release a new version and a user reports "the page is blank", how do you fix it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment