Pythonが大好きな女子大生がGoogleSWEインターンに参加するまでの話

PythonといえばGoogle!! (?
そんなわけで先週末まで、
Googleのソフトウェアエンジニア(SWE)インターンに参加してきました。

本当は参加した内容について書きたいのですが、
どこまで話していいのかわからないので、
参加するまでの話をメインで書こうかと思います。

昨年の春まではオブジェクト指向が何かさえ知らなかった

一応プログラムを書くのアルバイトをしてたにもかかわらず、
適当に書いてました。('ω`)

ひどい話です。
そんなレベルのプログラマーでした。

昨年はGoogleBOLDインターンに参加

昨年はGoogleBOLDインターンに参加させていただきました。
BOLDインターンは学部女性や障がいのある方を対象としたインターン。
SWEインターンに比べるとかなりゆるいインターンですが、
プログラミングが大好きな多くの女子大生と知り会うことができ、
とても貴重な体験でした。

一緒に参加した子たちの体験記がこちら。
Google Japan Blog: Google でのインターンシップの思い出 : BOLD インターンシップ編

このインターンをきっかけに、プログラミングに目覚めていきました。
さらにここではPythonと出会い、恋に落ちました。

この後はWebの開発にはまり、
Web開発系のアルバイトをしたり、趣味でWebアプリを作ったりしていました。

Googleソフトウェアエンジニアインターンを受けるために

昨年のGoogleインターンで、美味しいご飯と超絶優秀なエンジニアさんたちの居る環境に味をしめた私は、 今年はSWEインターンに行きたい!!!と生意気にも考えました。

そうはいっても面接が英語だったり、
技術について聞かれたりするのがGoogleインターン。
また、BOLDとSWEのインターンでは全然レベルも違います。

私は多くの問題にぶち当たりました。

問題1 英語が全くできない

どれくらいできないのか公表したいところだけど、
本当にびっくりするほどできないので何も公表できません。
このままでは英語の面接なんか無理だ!!と思い、
親にわがままを言い、貯金をはたいて3ヶ月アメリカに行ってきました。
研究をしたり、一生懸命英語を話したりしながら、
どうにか自分の感情だけは表現できる程度の英語力を手に入れました。
勉強したくなかったから英語をしゃべらなくちゃいけない環境に突っ込んでいけばいいんじゃ??みたいなノリでしたが、 やっぱり実践が一番身になります。
もちろん留学に行かなくてもって英語力は身につきますが、
書くだけではなくて、聞いたり話したりするお勉強をしないとだめだなあと感じました。

英語の勉強に役だったもの

  • とにかくいっぱい英語をきくアプリ (Umano)
  • オンライン英会話とか
問題2 アルゴリズムとか技術とかわからない

今年4月の時点でクイックソートも書けませんでした。ひどい。
なのでとりあえずプロコンの練習問題を解くことにしてみました。

TopCoder, Inc. | Home of the world's largest development community.
ACM/ICPC国内予選突破の手引き

この辺を一生懸命解いたりしました。 今でもこういうのは得意じゃないけど、
面接対策にはかなりなったと思います。

アルゴリズムとか勉強する際の参考書籍

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

解説はC++
解法ごとに解説されてるのが面白い。


TopCoder向け。
4言語分くらい解説されている。


世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

  • 作者: Gayle Laakmann McDowell,秋葉拓哉,岩田陽一,北川宜稔,Ozy
  • 出版社/メーカー: マイナビ
  • 発売日: 2012/11/13
  • メディア: 単行本(ソフトカバー)
  • 購入: 143人 クリック: 7,806回
  • この商品を含むブログ (38件) を見る
これは解説はJavaメイン。
ひと通り全部といてみた。

そんなこんなでSWEインターンに応募

実はSWE以外にもWebMasterのインターンにも応募したのですが撃沈。 それでも挫けずSWEインターンに挑戦。 運が良かったのかよくわかりませんが、どうにか受かりました。

インターンの内容

インターン期間は2ヶ月半でした。
Python大好き愛してる!っていっていたお陰で、
メンターさんがPythonのプロジェクトを薦めてくださり、
2ヶ月半Pythonを書き続ける幸せなインターンでした。

また、一緒にお仕事をしてくださったエンジニアさんたちは、
本当に優秀な人だらけで、とても良い刺激になりました。

Googleインターンいいとこまとめ

  1. 周りのエンジニアさんがめちゃくちゃ優秀
  2. 周りのエンジニアさんがプログラミングを愛してる
  3. ご飯が美味しい。 3食バイキング。
  4. 英語の勉強になる
  5. 自分の世界が広がる

Googleインターンに参加したい人へ

無理だからといって、インターンに応募しない人が多いらしいです。
私だって受からないと思ってました。
でも受けてみないと参加できません。
去年までオブジェクト指向がわかんなくてクイックソートも書けなかった私が参加できました。 もちろんたくさんお勉強はしましたが、無理なことなんてないと思います。 まずは挑戦しましょう。

ひとつだけ言いたいのは、英語だけはちゃんと勉強しておいたほうが良いです。 私は毎日苦労するはめになりました・・・。

おまけ

今年は他にもインターンに参加させていただいたので、 こちらの参加記も見ていただけると嬉しいです。

サイバーエージェントのTechnologyCAMP2015(Android)参加してきた - ぴよぴよ.py
Perlの書けない女子大生がはてなインターンに参加してきた - ぴよぴよ.py
YahooインターンでC++を愛する美少女に出会った話を書こう - ぴよぴよ.py