Application Process

Filed under: community

What was it like to apply for the program?

Let me back up a few steps here and explain a bit about the application process. There were 2 rounds before reaching a human to see if you have the necessary background and skills. The 3rd round, or skype call is mostly for fit.

Steps

  1. The application form asking you to select the batch (SV or NYC, Sept 8 or Jan 11 start date), copy of resume, and open ended questions about experience.
  2. Code Challenge
  3. Skype call (30 mins)

A friend told me about the open application, which was a fairly short google doc survey form with a number of open ended text boxes. After submitting that, some time later I received an email inviting me to complete the code challenge, which was basically two exercises on text parsing.

Update: As of Labor Day Weekend, editing this post I doubled checked the link and it is not available anymore, so I’m pasting select portions of the README.md file below.

Insight Data Engineering - Coding Challenge

For this coding challenge, you will develop tools that could help analyze the community of Twitter users. For simplicity, the features we will build are primitive, but you could easily build more complicated features on top of these.

Challenge Summary

This challenge is to implement two features:

  1. Calculate the total number of times each word has been tweeted.
  2. Calculate the median number of unique words per tweet, and update this median as tweets come in.

and then the part about needing dependencies for your script…

You may write your solution in any mainstream programming language such as C, C++, C#, Clojure, Erlang, Go, Haskell, Java, Python, Ruby, or Scala - then submit a link to a Github repo with your source code. … If your solution requires additional libraries, environments, or dependencies, you must specify these in your README documentation….

For this code challenge, Python as my language of choice because it’s the one I’m most fluent thinking in and formatting for readability. You could chose to use vanilla Python or import libraries, but remember to indicate somewhere about needing those libraries. Choosing a language and coding style can be loosely compared to style of songwriting. Does it have to be choosing between something like writing pop lyrics or rap lyrics? Not at all but that was my approach for making a quick decision.

A chart on efficiency via [XKCD](http://xkcd.com/1445/)

Advice: Don’t waste time deciding what’s the best approach. Make sure you can turn full working code by the deadline.

Some time after submitting the github repo link, I got another email inviting me for a brief skype interview. Indeed, I was surprised as well at how smooth the process was so far. I’ve been through a number of technical interviews that make me feel like I’m a contestant on survivor, complete with figurative experiences of sweating over fire pits… in contrast, the chat with the director of the Insight program was enjoyable. He asked me what kinds of problems I’d be interested to solve with no judgement. I admitted a desire to be in a place closer to my dissertation study, meaning more about studying human intent and behavior rather than pushing pixels around the screen day in and day out. I offered interest in wanting to work for a larger company that aims to make the world a better place, maybe something like the FBI if my skills fit their needs.

Anyway, a week or so after that call I received yet another email with their decision. This time with an attachment of an acceptance letter. It gave me a little less than a week to decide on accepting.

Once I turned that in, I was sent a few more emails, to fill out information for a directory, an invite to the Slack community, preparation guide, and also to have one more chat with the director in case there were any last minute instructions.

Did you need any special equipment or software?

Nope! I was able to use my cute little Macbook Air 13” for everything: to access the emails, skype calls, and code the challenge. I asked the director in the first call if we would need to buy new equipment and the answer is no, since the project will be done on AWS, our local machine doesn’t need an overwhelming amount of memory and processing power. For reference, I’ve 8GB RAM with a 1.7GHz dual core.