日本を離れる日、成田空港の国際線ターミナルでCPU実験の記事を投稿してからあっという間に7ヶ月が経ちました。
日本人の知り合いが一人もいない状態でジュネーブに単身移住しアゼルバイジャン人とシェアハウスしながらヨーロッパ人しかいないCERNのソフトウェアチームでブルガリア人の上司を持ちC++標準化委員のリーダーと働くとはどういう感じなのかが伝われば幸いです。
ちょっと前ですが類さんに関連する話を収録していただきました。
15. CERNでのソフトウェアエンジニアリング (高橋祐花)
●仕事編
●なんの仕事してるの?
●仕事は"どう?"
●生活編
●生活が落ち着くまでに苦労したこと
●平均的な平日
●週末は何してるの?
●ジュネーヴぐらし!
●学びと友人
●追記
ウェブが生まれたところがそこら辺にある。
毎日カレーしか食べていない
週2くらいで友達と家で料理を作ったり外に食べに行ったり観劇しに行ったりといったイベントがある。
おととい食べた牡蠣一皿で70CHF(8000円)
ジュネーブには何もないです。劇を見たかったら下北に行って美術館に行きたかったら上野に行って当日思い立って渋谷に映画を見に行ける贅沢にどっぷり浸かった東京生まれ東京育ちには厳しいです。本当に何もない。遠くにモンブランが見えます。
スイス人、特にフランス系スイス人は優しくないです。もちろん例外は存在しますが、スーパーや街で見かける普通の人間の質は高くないです。でもフランス語圏あるあるの人とすれ違ったらBonjourというのは良い文化ですね。
何か質問やコメントがあればどうぞ。
仕事編
![f:id:yamaguchi_1024:20181009071808j:plain f:id:yamaguchi_1024:20181009071808j:plain](https://cdn-ak.f.st-hatena.com/images/fotolife/y/yamaguchi_1024/20181009/20181009071808.jpg)
なんの仕事してるの?
答えるのがめんどくさい時の返答 物理解析に使うROOTというソフトウェアを開発しています! 中くらいの返答 CERNで研究開発のインターンをしています。検出器で検出された大量のデータを解析するためにROOTという物理解析ツールがあります。ROOTは巨大ライブラリ群みたいなものなのですが、そのバックエンドでClang/LLVMを用いたClingというC++インタープリターが動いており、その最適化や結果として発生するメンテナンスやバグフィックスもしています。 ちゃんとした返答 ジュネーブにあるCERNという研究機関でAssociate Memberとして1年間研究開発をしています。最初の半年はCincinnati大学、後の半年はPrinceton大学の所属としてCERNとUS FundingのDIANA-HEPというところからお給料を頂いています。CERNにはLHCという加速器の他にAtlas, CMS, LHCb, Alice等々のexperiment(用語)があり、それらが検出したデータを解析するためにROOTというオープンソースのソフトウェアが使われています。ROOTとはインタラクティブに動くソフトウェアかつライブラリで、Math, Graphics, Machine Learning, Python bindings, Fittingなど解析者に便利な機能が提供されHEP(High Energy Physics)界隈ではスタンダードなツールです。かの有名なHiggs粒子の解析ももちろんROOTを使って行われ、有名なHiggsのグラフもROOTのヒストグラムを使って描かれました。ROOTのバックエンドではClingというC++ Interpreterが動いており、これはInteractive Promptと実行時のReflection Informationを提供するために使われています。ROOTの全ての機能はこのインタプリタを通して提供されるため、インタプリタのパフォーマンスはROOT全体のパフォーマンスに直結します。データセンターでもROOTは動いているのでそれを効率よくすることは費用的にも利があります。私の仕事はC++ Modulesという技術を用いてClingのパフォーマンスを最適化することです。バックで使用されているClang/LLVMやClingといったコンパイラやインタプリタは大変な複雑さを持つもので、分かっている人は少ないためその辺りが壊れた際のバグフィックスやユーザー(この場合はインタプリタの関数を使っているROOTの開発者)をサポートしたりもしています。これ以上の技術的な話に興味がある方はぜひROOT Users workshopで発表したスライドを見て下さい。仕事は"どう?"
楽しいですよ。もちろん仕事なので楽しくないこともありますけど。 技術的にはC++コンパイラ・インタプリタはとても複雑で面白いしオープンソースに貢献出来ているというのは嬉しいです。C++ ModulesはGoogleとAppleが最大の開発者でありユーザーなのでその人たちと隔週でミーティングしているのも産業界と繋がっている気がして悪くないです。一番自分の為になったのはコンパイラという超巨大なソフトウェアも所詮ただの関数の集まりでしか無くて、ASTやシンボルなどというものもそういうクラスがあってインスタンスが関数の中を飛び回っているだけなんだという事を知れた事です。それが分かったことで、コンパイラやOSなどの巨大ソフトウェアに対する恐怖心がほぼ無くなりました。巨大ソフトウェアは何か怖いもので読んでも分からないしプロしか触れないものでは無いのです。本当にただの関数の集まりなので怖がらずに一つ一つ紐解いていけば誰でも分かるという事を学びました。 人間関係は悪くないです。同じ上司を持つウクライナ人の妹みたいなポジションになっており、オフィスでも常に一緒、昼ごはんも常に一緒、カンファレンスに行ったら同じ部屋に泊まりトイレ以外常に一緒にいてついでの旅行も一緒に行くみたいな居心地の良い感じになっています。上司は東欧人男性あるあるのツンデレですがいい人で、チームリーダーは本当にめちゃくちゃ優秀で尊敬しています。他のメンバーに比べて圧倒的に年下かつ非ヨーロッパ人なので多少不審な挙動をしても多めに見られている気がします。先日リーダーにファンディング探してくるからもっと長くいない?と言われたので働いてない訳ではないようです。大学に戻らないといけないので断りました。 給料はシリコンバレーのインターンなどと比べると安いですがそれでも高い家賃と食費と旅行に行きまくっているのを差し引いてもまあまあ貯まりそうです。アカデミアあるあるですが、予算が限られているのでポジション争いが激しくほぼ全員が任期付き雇用だし昼ごはんは無料じゃないし、単純に給料や福祉のことだけを考えるなら企業に行った方が良さそうです。CERNで働いている人はソフトウェアチームでも全員が当たり前にPhDを持っていて、学会で成果を発表することが要求されるのでプログラミングだけではなく発表したりジャーナルに出したりしたい!という人には向いていそうです。 海外出張や発表が多いこともユニークな点です。今年は7月にCHEPという学会で発表して9月にROOT Users workshopでまた二つ発表、10月のLLVM dev meetingも行くことになっていて10月末にはジャーナルの締め切りもあります。大きめのもの以外にもインターナルなミーティングで発表などはしょっちゅうあり、スライドを作るのに費やされる時間が多いです。発表が多いことは慣れる点ではとても良いですが、あまりそれに時間を費やしすぎると普段の開発に支障が出るのでバランスが大事です。概ね、開発をする->焦ってスライドを作って練習する->発表する->開発をする->..というサイクルで動いている気がします。生活編
生活が落ち着くまでに苦労したこと
住むところが見つからない。出国前の1月は毎分CERNマーケットのウェブページをリロードして新着の物件がないか探していました。ここでのアパート探しは気に入った物件がある->大家に自分がどれだけ信頼に値する人間かメールする->大家が選ぶ というプロセスなので何十通も仕事に応募するようなメールを書くことになります。今住んでいるアパートは見た瞬間これだと思い、日本にいるので下見は当然出来ませんが即決しました。今ではかなり気に入っていて、これ以上いいところはなかなか無いんじゃないかなと思います。シェアメイトは博士課程の男性なので心配されたりするのですが逆に男性の方がキッチン使わないしお風呂も短いし部屋に籠っているしで気楽です。 料理が本当に不味い。これには本当に驚愕しました。CERNの食堂で昼ごはん一食1500円くらいするのに不味すぎて喉を通らなかった・・。電子レンジと炊飯器と米を頑張って買って来て餓死を免れました。 最初は結構孤独でした。社交的でも無いのでオフィスに行ってコンパイラと格闘して家に帰って掃除して料理して寝るしかしてませんでした。当時は誰にも弱音を吐いていなかったと思うんですが思い返すといきなり涙が出て来たりしてた覚えがあるので実は辛かったんだと思います。つらいことはすぐ忘れるタイプなのであまり覚えてないですが、当時はこれ私じゃなきゃ心折れてるよなみたいな事を思っていた気がします。よく頑張ったなあ。平均的な平日
朝遅めに起きて遅めにCERNに行く。メールなどが来たら返信してコードレビューが来ていたらなんとかする。Nightly buildやIncremental buildが故障してないかとかも確認して壊れていたらなんとかする。同じ机に座っている仲のいい同僚が話をしたいムードの時は話をしながら仕事をする。CERNの食堂は普通のランチタイムだと飽和状態になるため先の同僚と11:30くらいに食堂に行き毎回メニューがいかに酷いかを嘆く。パスタは往往にしてマシなのでパスタに10CHF払いさっさとランチを食べエスプレッソを飲んでオフィスに戻る。忙しくなければだいたいそこで話が弾み1時間くらい話をする。午後はまあ普通にプログラミングをしたりミーティング行ったり誰かを説得したりして気付いたら夜になる。家に帰ってもしょうがないからオフィスで仕事をしながら関係ない大学の研究したりロシア語の勉強したり趣味の開発をしたりして結局帰るのは21時だとかなり早いくらいになる。家に帰って家族や彼氏に日本から持って来てもらったレトルトカレーを食べて寝る。![f:id:yamaguchi_1024:20181009075220j:plain f:id:yamaguchi_1024:20181009075220j:plain](https://cdn-ak.f.st-hatena.com/images/fotolife/y/yamaguchi_1024/20181009/20181009075220.jpg)
週末は何してるの?
旅行・カンファレンス・何かのイベントで家の外にいるのが70%くらい、家に引きこもってカタカタしているのが30%くらいです。親や友達や彼氏が結構頻繁に来るので案内したり、学会のついでに旅行をしていたり、バーベキューみたいなイベントがあったり様々です。最初の2ヶ月くらいは友達もいないし一人で旅行していたんですが、最近はずっと誰かと一緒に旅行している気がします。 この7ヶ月で行ったところ 3月 チュニジア(旅行) 5月 バルセロナ(旅行) 6月 ウィーン(旅行) 7月 ブルガリア(CHEPという学会) 7月 日本(CHEPからの一時帰国) 8月 バンクーバー(SIGGRAPHという学会) 8月 オランダ(SIGGRAPHのついでの旅行) 9月 ボスニア・ヘルツェゴビナ(ROOT Users workshop) 9月 クロアチア(ROOT Users workshopのついでの旅行) 9月 ブダペスト(ROOT Users workshopのついでの旅行) 9月 ミラノ(ROOT Users workshopのついでの旅行) 9月 ウクライナ(旅行) この他にも家族が友人や彼氏が来た時にスイス国内や近隣の国に色々行ったり山に登ったりしているのでちょっと遊びすぎですね。ジュネーヴぐらし!
ジュネーヴはお世辞にも暮らしやすい場所とは言えません。個人的にはかなり最悪に近いです。(注 私が好きな街はウクライナのキエフとブラジルのサンパウロです 物価が高いです。東京の3倍くらいする気がします。アイス買ったり水買ったりするのもお金の無駄だなあと思いながらなので精神的にあまり良くないです。おまけにご飯がとても不味いです。![f:id:yamaguchi_1024:20181009075022j:plain f:id:yamaguchi_1024:20181009075022j:plain](https://cdn-ak.f.st-hatena.com/images/fotolife/y/yamaguchi_1024/20181009/20181009075022.jpg)
学びと友人
CERNは友達がたくさん出来る場所とは言えません。成熟した研究機関なので、大学のようにクラスでグループワークみたいな事もないし若い人で集まって騒ぐみたいなイベントもあまり無いです。やろうと思えば家とオフィスの往復だけで同僚以外と話さずに終える事もできます。自分から話しかけに行くか自然に仲良くなるのを待つか話しかけてもらうかしないと友達は出来なさそうです。 私は何人か友達が出来ました。二人のウクライナ人は元と現オフィスメイトで、イタリア人は日本語教えて!って出国前にメール来たのがきっかけで、スイス側日本人グループは私がトラムで話しかけたのがきっかけでした。友達とは言えないまでも色々な国籍の知り合いが増えました。広く浅く知り合いになるよりはひとりの人とずっと一緒にいたいタイプなので最後までこんな感じでいたい。 人間として成長した部分もあります。ここに来る前はちょっと引いていた他文化の行動・考え(友達や同僚の集まりに彼女や彼氏を連れて来る、日本では許容されないくらい国粋主義的・差別的な発言をする、子供が何歳になっても結婚せず事実婚なカップル、告白という文化がなくセックスしてから付き合う、日曜日は家族で過ごさないといけないという脅迫観念、ありえないほど長い休暇を取る、イスラム教の女性のヒジャブやハラール、そもそも一神教を信じている、などなどなどなど・・)を受け入れるとまではいかないものの、直ちに反感を持つことは無くなりました。 自分に馴染みのない意見を持っていたり行動を取る人でもとても優秀で尊敬できてすごく仲良くなれる人はいて、よくよく話を聞くと﹁なるほどそういう背景があったのか。自分も同じ立場だったらそうするなあ﹂と納得できる事が多いです。先進国じゃなかったりする環境で育って自分の想像もしなかった世界を見て育った人がいるかもしれない、そういう人とすごく仲良くなれるかもしれない、彼・彼女の価値観をもっと理解したいと思うかもしれない。外国で暮らしているだけでこんなに自分の人生が豊かになるなんてなんてお得なんだろうと思います。何か質問やコメントがあればどうぞ。