Summer 2016: Pre-Summer

30 March 2016

TL;DR:

  • Fail get any internship at Silicon Valley
  • Unexpectedly got one at a mid-sized company in Singapore
  • Wikimania 2016: Esino Lario, Italy!

Silicon Valley Internships

I’ve been planning to try to have internship at Silicon Valley this summer. At least, it was since around November 2015, when I realized that Google’s have stopped opening its summer internship position. Then I turned to Hacker News whoishiring and started to send out resumes to the companies listed there which have openings for summer internship. I also tried to send to the big companies that I had on my mind, like Microsoft, Mozilla, Twitter, Dropbox, etc.

Rejections came one by one, filtering off from resume.

Unexpectedly, around December 2015, Google Singapore contacted me to have an interview for its “Business Intern” position (apparently, at one point of time I’ve sent my resume to them to attend their career talk); well it’s not my interest, and hence I did badly on the interview and as expected, was rejected from the position.

New semester started. I took Professional Communication in which its first assignment is to write resume and cover letter. Only at this point of time I realized something really terrible that I made in my resumes: I got typo on my university name :o I typed “University” as “Univerisity”. Aww man.

Yet Mozilla still contacted me, giving out a programming tests on HackerRank. I applied for multiple positions on this company and I received the test for all of them.

  • Firefox Content Tools Intern position was the first test that I received. The HackerRank test was a 4-question programming exam in JavaScript (Node.js): two easy algorithmic problems, and another two was quite challenging implementation problems (if not mistaken: given a HTML document, list out all the domain names present in the document, using regex). I spent a lot of time on this, but successfully completed it, passing all of the sample testcases. Around end-January, I was contacted for technical interview.
  • Firefox OS QA Intern position was the next one to offer the test. The test includes two subjective question (“what books you are currently reading?”; “how to implement Find My Device feature”) and problem to list out unit testcases (in which I’m not familiar). I’m not that confident with this test and I was rejected since “Mozilla no longer intend to open internship on this position”
  • Web App Developer Initiative Intern was a nice test: two questions. One on making a draggable component in vanilla JS. I can’t remember the other one since I spent quite little time on that, maybe it was a subjective question-type. In the end, I rejected by the message, “Mozilla has decided to no long pursue an intern for this position”
  • The other two positions that I applied for did not met location requirements (they only accept locals), and hence was rejected.

The Mozilla Interview

As I stated above, I was offered a technical interview. I was scheduled two interview slots.

Since it was the only interview offered so far, I asked Peter, my friend, to give me a mock interview and it was quite well done.

  • First interview: I was so nervous that I messed up. So I was contacted via Skype, and was given a 30-minute code challenge to implement Event Listener functionality (“on”, “off”, and “once”). Platform used was JSFiddle + TogetherJS (in which I’m not familiar in coding at JSFiddle). They provided me with 6 unit test cases and by the end of the interview, I only completed 3 out of 6. But after the nerve went away, in less than 10 minutes I finished all of them -_-.
  • Second interview: Since I messed up on the other day, I felt that I will be rejected anyway, and hence I don’t feel any stress anymore. I was contacted via phone (and the voice quality was not that good). The challenge this time was to point out bugs and suggest improvements over a production HTML (+JS/CSS) code. It was a nice conversation between me and interviewer. As a result, by the end of the interview, I felt that I “won” the interview.

By the way, in these Mozilla interviews, I was not even asked to introduce myself. I was directly asked to open the code challenge and to code when I’m ready.

As expected, a week later, I was rejected from the position.

Singapore maybe?

I was not keen to apply for internships at Singapore start-ups since my previous one was at a start-up company.

Before 2016, I still believed that one of the SV companies might accept me, so I only send out one or two applications.

One company, Kloudsec, “stalked” my GitHub profile and their CEO decided to meet-up with me. My impression of him was that though he saw my activity on GitHub, he did not care at any of my projects there. Both of us spoke JS and praised TypeScript :) And he got very interested with me when I introduced Buddhism to him. The conversation ended with him verbally offering me internship.

I also interviewed at Ninja Van, where I did not prepared anything at all. I was asked on JS knowledge, database knowledge, and REST knowledge; and turned out that I’m not really sure on my answers when asked trick questions (like that is the result of 0 + “0”). In my defense, I am using the best practices and hence will not code anything unsafe like that. But I also forgot stuffs learned from my database course (like what is the difference between LEFT JOIN and INNER JOIN). Few days later, rejection e-mail came in.

At NTU Career Fair 2016, I printed out ~10 resumes and send it all out to the companies that participated there.

Lots of them contacted me back: Works Applications, Titansoft, D’Crypt.

Interview at Titansoft

I wore formal. In total, it was ~45 minutes. I felt that I also messed up, but not as bad as Ninja Van’s one. Around 6 pm, I was offered and I need to decide before Friday that week.

Backtracking on how I got called: so after I applied to the company, I was sent a problemset about scheduling worker in a shop. Because at that moment, my hope for SV companies was still high, I did not care much and I did not read all of the instructions careful enough. First, besides the instructions listed in the problemset itself, in the site where I supposed to submit this program, it stated that program should be coded in around 2-3 hours, though the timer there is set to 24 hours; and another point is that the program shall be coded with C# or Java; yet I coded it in Python.

Why Python? Since it require input-output and some modelling of OOP. JS can do that, but will make the code quite messy. So yeah, Python it is.

Around a week before the interview, I was called to submit another application at their website (since I never did that), and then they schedule me an interview slot at the recess week.

In the interview itself, I took around 1.5 hours to get into their place, quite far from nearest MRT (Outram Park) too. And then, I was quite amazed when I realized that the company occupies the whole floor of that building. First, I was given a sheet of skill assessment, where I should rate my own skills, e.g. math, (programming) languages, server setup, database, etc. Then I was greeted by a “welcome video” showing the best of the company. Next, the interviewers came: one with Vietnamese accent, and the other one is more Indonesian accent. Some introductions, and then some testing on the evaluation sheet (e.g. since I put my HTML skill 10/10, they tested me on how to draw certain table using HTML + colspan/rowspan; also on how I do some database query: select, grouping, create table). The next one is live coding: they told me to open the program that I submitted last time (that Python program), and I was asked to modify it with additional requirements, twice. I also was asked on how long will I take to do the modification, I, too, described my program weaknesses and I told them my assumptions and limitations of my program. Quite quick, I was done in ~15 minutes coding. And then it was the normal closing of interview.

Quite stressful inside but overall was not that good. That is why I felt I will fail this interview. But few hours after that, I got the offer letter. Thinking that it’s quite a decent offer, after clarification that I could take leave (for the reasons below), I accepted it.

Wikimania 2016

I applied for Wikimania 2016 Scholarship again this year. Highlighting achievements of Wikipedia Asian Month 2015 in which would not exist were I not attended and met Addis Wang at Wikimania 2015 in Mexico City last July.

This year’s Wikimania will be held at Esino Lario, Italy, around June 2016. It is a village on Italy and was actually criticized due to the costs of having the conference there.

Unexpectedly, I was accepted! I hope that in this conference, I will be more productive in seeking out connections. The connections that I made in the 2015 conference was good for the advancement of Indonesian Wikipedia (like meeting Aaron Halfaker and assisting him to enable his tool on idwiki; Addis Wang, whose floating idea of “Wikipedia Asian Month” became reality). I realized that certainly, there is no time to do anything in conference, except listening and discussing initial ideas. Most of the work done will be after the conference.

Addis has a session on Wikimania 2016 about WAM 2016 panel, in which he invited me to talk on the tool that I made for them. Wow, this will be my first talk to international participants?

For the WAM tool, the plan of making is easier for anyone to enable it to their own edit-a-thon event have been in my find for quite some times but haven’t materialized yet.

Meanwhile, I prepared myself to get into Italy by applying a Schengen visa from Italy embassy. Turned out that I need mulitple requests from the Wikimania organizers to supply me with adequate documentations before I applied for a visa. Luckily my visa was out before their stiputaled deadline.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.