Atilika体験記

自分がいた会社(Atilika)が新しいインターンを探している、ということですのでステマしてみます。自分はもう去りますので、自分のためのドキュメンテーションとしても兼用しているつもりです。


Atilikaの概要:
Atilikaの創業者はFast Search & Transferというノルウェーで企業し、エンタープライズサーチで一世を風靡した会社にいました。Fastは2008年頃にMicrosoftに買収されてなくなりましたが、その際にFastのエンジニアが散らばったという背景があります。
その中でも彼は新しい会社を興した次第です。オフィスに関してですが、入った当初は机と三人でほぼ満員なオフィスにいましたが、最近引っ越したので広くなりました。おすすめです。

入った動機:
僕の目的は
1.実装力を伸ばしたかった、
2.NLPに関係した仕事をしてみたかった、
の二点でしたでした。
どっかに行きたいなー、でも選考通らないなー、と思っていた時にレジュメを投げてみて拾って頂いた次第です。

入った背景:
ググったらインターン募集のページに行き着きました。勤務時間ではHP曰く「6ヶ月、週28時間まで」と書いてあり、まあ通らないだろうなー、と思って試しにレジュメを投げてみたら意外にも返信が帰ってきました。あとで聞いた話ですが、インターンは別に勤務時間は自由で「最大週28時間」ということらしいです。リモートでも働いてよいということでした。

Kuromoji:
https://github.com/atilika/kuromoji

Atilikaが開発したプロダクトの中でおそらくいちばん有名なのは日本語の形態素解析器であるKuromojiです。基本はMeCabに用いられているモデル(UniDic等)をApacheライセンスで検索周りのOSSに組み込むことが目的として開発されました。SolrやLuceneといった検索周りのOSSに組み込むにはJavaがやはりいい、ということで実装&公開されたのがこのプログラムです。
このコードを見て、「NLP関連の実装力が高そうだ。彼らから学べることが絶対あるはずだ」と確信しました。

人に関して:
正規の社員は二人いて二人ともノルウェー人です。僕の印象としては二人ともマネジメントがうまいです。インターンの意見をきちんと聞くうえ、必ず定期的に「今の実装状況、どーよー」という感じで聞いてきます。あと日本語は超絶うまいです*1
僕は技術力がそんなに高くないので正確な評価ができないのですが、私見では二人ともすごいハッカーだと思います。具体的なことは割愛しますので詳しくは彼らまで。

技術に関して:
業務で使う言語はJava, Java, Java。あとはCSSらへんのフロントエンドによく使われる言語です。Javaに抵抗があると厳しいですが、それ以外の方なら大丈夫だと思います。

何をやったのか:
日本語処理に関連するプロジェクトに関して取り組んでいました。オープンにしない方がよい情報もあると思いますので、詳しくは書かない方がよいと思いましたが、直接聞けば教えてくれると思います。

インターンの希望を尊重してくださるので、やりたいことを主張して、会社全体の方針との折り合いつけていくのがいいかと思います。

感想:
1.当たり前のことを当たり前にできる、というのがいかに難しいかを実感しました(例:Viterbiアルゴリズムをさくっと実装する、Patricia-trieをさくっと実装する)。
2.自分の意見をきちんと相手にわかりやすく伝えられる言葉を選ぶことにも苦労しましたし、大変なことだと実感しました。
3.Javaは学部のころからちょこちょこ触っていましたがbuilder class等の使い方は全く知らず、やはり自分より技術力が上のハッカーからアドバイスを受けた方が早く、綺麗なコードが書けることを実感しました。


最後に彼らに言われた言葉のうち、最も印象に残っている言葉を引用して終わります:
"Programming skills are skills that you can learn and we can teach you."
"But the most important thing is to be a nice guy."

With many thanks to Christian, Gaute and others.

*1:少し脱線しますが、アニメ等の影響により英語がうまい日本人より、日本語がうまい外国人の方が多いのでは、と思うぐらいです。