さかなの思い

移転しました。移転先⇨enjapma.com

FIXSTARS社 サマーインターン 参加記

フィックスターズ社にて、夏の3週間インターンに参加してきました。
せっかくなのでその時の記録をブログに残しておこうと思います。

f:id:Enjapma:20190906223454j:plain
ロゴ(かっこいい)(写真が下手)

どんな会社なの?


「Speed up your business」をモットーに、プログラムの高速化を専門としている会社です。(間違ってたらごめんなさい)

参加するまでの流れ

  • 応募

応募はAtCoder jobsを通じて行いました(正確には春に応募したときのリベンジという程で直接メールさせていただいたので今回は通じていないのですがまあ同じものだと思います)。応募すると面接の日程決めが始まりました。

  • 面接

面接が始まりました。まずは会社の説明を受け、その後担当者と話をしていくといった流れでした。採用・非採用を決める面談という雰囲気よりも、お互いのやりたいことがマッチングしているかどうかの確認をしているというような雰囲気を感じました。

  • コーディング試験

何か書くと怒られそうなので割愛。

  • 通知

無事受かってました(そうではなかったらこのブログを書いていないのでこの一文はいらないような気がしますが)。正直面接の手応え的に絶対落ちたと思っていたので、結構驚きました。

参加してからの流れ

ここからは参加してどんなことをやったのかを書こうと思います。

  • Git

Gitの使い方を学びました。恥ずかしながら僕はGitを使ったことがなく、ちょっと劣等感を覚える日々だったのですが、この機会に勉強できてよかったです。

Deep learningの基本的思想・仕組みについて一から学習し、それを実装しました。実装自体はほとんどライブラリ関数が用意されているので、結構簡単に進んだ気がします。

  • C++での実装

上で実装したDeep learningを今度はC++で実装していくことになりました。今度はライブラリ関数などを使うわけにもいかず、設計なども一から考えないといけないので大変でした。

  • SIMDを用いたプログラムの高速化

SIMD命令を用いて演算を高速化していきました。若干アセンブリっぽくて過去の経験が活きたかなあと思います。

  • Winograd手法の実装

論文で提案された手法である「Winogradアルゴリズム」の実装を行いました。

  • GPU(CUDA)

GPUを用いた並列計算を実装しました。スレッドを排他制御するのが難しく、結構長い間バグらせました。

インターン中の生活について

ここからはインターン中の生活・イベントについて書こうと思います。

  • オフィス

働く環境としてはとても素敵なものだと感じました。キーボードも綺麗で、モニターもとても大きいものが二台全員分の机に用意されていました。さらにオフィス内にはフリースペースがあるのですがそこもかなり綺麗な雰囲気でした。

  • 競プロ

競技プログラミングも社内で比較的盛んに行われており、社内バチャコンに一度参加しました。オフィスで競技プログラミングする経験はそんな得られるものではないので、貴重だったなあと思います。

ボードゲーム会に参加しました。同じくインターンに参加してた方や社員の方と一緒にプレイしました。このイベントに限らないのですが、結構オフィス全体が楽しい雰囲気で、仕事をしにきているというよりは生活をしにきているという印象を受けました。(理情の地下みたいな感じ)

  • 自販機

社内の自販機は全部10円で飲み物が買えます。美味しいし安い。飲みすぎてちょっと体重が増えました。(ジュースのカロリーは意外と高いです)

まとめ

  • 今までも書いたように、かなり良いインターンでした。初めてのインターンであり他社との比較などはできませんが、オススメ度はかなり高いと思います。ただ、今回は同じ班にもともと知り合いの方もインターンで参加していたので、それも楽しかった原因の一部かもしれません。
  • 今回インターンの機会を与えてくださったフィックスターズ社様、応募の機会を提供してくださったAtCoder Jobs様には感謝の気持ちでいっぱいです。ありがとうございました!

www.fixstars.com
jobs.atcoder.jp