kentcdodds / ama

Ask me anything!
https://github.com/kentcdodds/ama/issues?q=is%3Aissue+is%3Aclosed
685 stars 75 forks source link

Tips for JS Jobs #168

Closed kentcdodds closed 8 years ago

kentcdodds commented 8 years ago

I got this in an email from someone:

Hi Kent,

My name is [name withheld], and I’m a javascript developer from [location withheld]. Sorry to bother you with such a direct email, but I recently stumbled upon a Paypal engineering job for college graduates which looked really interesting. I recently graduated from my web engineering master’s degree in [location withheld] and would like to know what specific requirements Paypal expects from applicants ?

Thanks a lot by advance,

I prefer to answer questions like this in my AMA, hence I'm answering it here :)

kentcdodds commented 8 years ago

Hi [name withheld]! 👋

When I interview people for positions at PayPal, I'm trying to find what they can bring to the team and deciding whether those contributions are something that we need. Generally this means I'm looking for someone who has a strong understanding of the fundamentals of JavaScript, HTML, and CSS. I don't care quite as much about framework-specific knowledge. I'm also interested in hearing about the things they've built and what they enjoy working on.

Again, I want to know what they can bring to the team. So I try to avoid picking random questions to see if they understand those things. Rather I invite them to tell me what they think are fundamental and important concepts and have them teach those things to me. This does a lot more for my understanding of their skills than me picking something random (and easily googled) like how to add an event listener to a button, or how to write an Array flatten method.

Specifically at PayPal, our JavaScript positions are full-stack (mostly). For example, on my team, we're expected to work on both the frontend and our own Node service. Our Node service integrates with other internal PayPal services (that's why I say we're mostly full-stack). So having a good background in Browser and Node JavaScript is important.

I should note that while I'm a remote employee for PayPal, that's not really the norm. So you'll likely be required to move to the offices where your team is located (most likely San Jose, CA or Austin, TX).

I hope this is helpful! Good luck to you!

d3lm commented 8 years ago

Really great answer @kentcdodds. I like the way you interview people. It's not like just asking random assessment questions but rather to ask for fundamentals of certain programming languages, which are the most important thing IMO. Also the way you ask the questions is impressive! Asking potential employees to explain a topic to you is really fun.

panzerdp commented 8 years ago

Thanks @kentcdodds for the detailed answer. Can you also describe what other things may influence your decision about the candidate? (rather than raw Frontend questions). Are candidate's open source projects, Blog, Stackoverflow profile important? These are a good criteria of communication skills, which are important in team work. Thank you!

kentcdodds commented 8 years ago

I definitely look at an individual's activity in the community and I'm attracted to those people who are actively involved in one way or another. This involvement is indicative of some other good things about the candidate that I feel are important.

The challenge of this though can be summed up in one word: privilege. Not everyone is able to do the extra stuff outside of work and that is OK. For example, some people work hard all day at their job, and then go home to take care of a loved one who needs constant care. There are many reasons that may prevent someone from being actively involved in the community that are beyond their control. So I try to not let someone's lack of involvement bias my opinion of their skills.

panzerdp commented 8 years ago

Agreed, privilege should be taken into consideration. In interviewing important is to avoid bias. But if someone is active in the community and has a nice reputation, it definitely influences the coding skills. Thanks @kentcdodds :smile_cat:

mattferderer commented 8 years ago

Following up on your answer, it would be interesting to hear what allowed you to work remotely for Paypal or what reasons Paypal has allowed others to work remotely.

kentcdodds commented 8 years ago

Hey @mattferderer, So PayPal doesn't really do remote. There's a "remote" slack channel, but there's 11 people in it (out of 6,300 people in slack). To answer your question more directly though... I just told them that I wasn't going to move, but I interviewed well enough and had good enough recommendations and a good enough reputation in the community that they decided to jump through a few hoops to get me set up as a remote employee. It took quite a while to get it through, and they already had regulations in place about how much they pay Utah employees based on their "title" (because they actually do have an office in Utah), so it's not like I'm making a California salary in Utah. But I got it, and I love it.

Also, here's a bit about how I got the job though. Here's another bit about working remotely. Maybe those will be interesting to you too.

mattferderer commented 8 years ago

Thanks for the answer @kentcdodds! A lot of major companies like PayPal don't advertise remote so I was curious to hear your story on why they made an exception. Great info for those of us locked in midwestern fly over states by our families. For the record, I'm not classifying Utah as one of those states.