はい
という訳でWantedlyのサマーインターンに行っていました。驚くべきことにPerlはメインで動いてないです。
行くまで
ちょっと前に「本採用の逆求人だと思って行ったらインターンの逆求人だった」サポーターズの逆求人イベントに行ったのですが、そこで id:izumin5210さんとid:yjmkzkさんとお話する機会があり、サーバーサイド側でやっていることが面白そうだったので応募するぞ!!! となりました。応募後は一度リモートで面談をして、そこで決定という感じです。
あの回のサポーターズのイベントにいたid:sosodemonaiくんやid:sathoeku先生もインターンにいたので、なかなかおもしろかったです
golangは書いてないのでなぜOKだったのかはよくわからないですが「おもしろPerl沖縄県民採用」みたいな感はあった
インターン先の印象
はてななどのインターネットコンテンツをよく見る僕にとっては
- 「よく増田で見かける」
- 「定期的にxxxxしている」
- 「意識高そう」
などというイメージがありました。
実際に3週間体験してみると、上2つに関しては現在は大丈夫かなぁという気がしています。 意識高そうなのは社風がクレバーに行こうみたいな感じだったので、ビジネスサイドの人などはそう思っているような雰囲気を感じました。とはいえエンジニアとしてやっていきするにはかなり良い環境じゃん...!!という感じを受けました。行ってみると違うね。
エンジニアの皆さんは、なんかこうエンジニアだったので非常に安心しました。おしゃれな人が多かったので「これが白金台か…」となっていました。都会って怖いね。
配属先
Wantedlyのインターンは就業形なので人々はよしなにチームにアサインされます。 僕はWantedllyPeopleのバックエンド(サーバーサイド)でエイッとしていました。
Peopleは様々なマイクロサービスで構築されており、主にrailsとgolangが頑張っています。
rails側もちょっと触りましたが、rails側は主にid:sosodemonaiくんが触っており、僕はひたすらgolangの方のあるマイクロサービスに関わっていました。 マイクロサービスは様々なものがあるのですが、僕はpeopleの通知をよしなにするマイクロサービスをエイっとやってバーンとしていました。メインはgolangで、たまにrailsやrubyのライブラリにPRを出すなどの生活をしていた世界観です。あとは社会人必須のスプレッドシートも書きました。
メンターは id:izumin5210さんで、隣の席でHHKBとMagic Trackpadを使い、vimとAlfredを凄まじい勢いで使役していたので「これがプロか....!!」となっていました。
チームには他にid:qnighyさんや@Altechさんもいて、凄まじい人間が多かったです。id:qnighyさんはPRのレビューが「教科書かな...」という感じで書いていて、隣で見ていてすごかったです。よくわからないですが、たまに踊っているらしいです。
なおid:izumin5210さんには、「僕が日に日に(id:anatofuzの)ディスプレイの上の仮面ライダーを増やしていく行為を目撃する」、「プロティンを無限に飲む人と、玄米茶を一日4Lは飲む僕に挟まれる」などの体験を提供することになってしまい、非常に申し訳なく今は思っています....。次からは玄米茶は一日2Lくらいに止めようと....
出社しました pic.twitter.com/qUd7ug55Kq
— 八雲アナグラ (@AnaTofuZ) 2019年8月29日
午前中の業務です pic.twitter.com/ID9Y1DQ0A0
— 八雲アナグラ (@AnaTofuZ) 2019年8月29日
午後の業務です pic.twitter.com/F4rgmpoByb
— 八雲アナグラ (@AnaTofuZ) 2019年8月30日
インターンです pic.twitter.com/UWUuubgqEM
— 八雲アナグラ (@AnaTofuZ) 2019年9月4日
👆これらが近場のセブンで買った仮面ライダーです
Perl
基本的に僕はPerlMongerなのでPerlを書きたいのですが、残念ながらWantedlyにはPlackアプリケーションはありませんでした。切ない。
ですが特定のテストでsed的な使われ方をしているのが1件あるらしいので、実質Perl企業でした。
という訳で僕も業務中に git add
しない程度の脱法Perlを着服していました。
トータルで5件くらい書いていましたが、うち1件を書いていたところメンターのid:izumin5210さんに検挙される事案が発生しました。
「こうやって日々メンターの目を盗んでPerlを書いてるわけですね」
— 八雲アナグラ (@AnaTofuZ) 2019年8月30日
ぼく「はい...」
別にRubyとGolangがメインの企業でPerlを書いたからと行って市中引き回しとか、白金台の高級住宅街でピンポンダッシュをさせられるなどの怒られは特に無かったので安心ですね。
個人的にはワンライナーでシュッとPerlを書くと落ち着く感があり非常に心理的に良かったです。 なおPerlを初週は業務中にPerlを書かなかったので、日曜日にPerlのライブラリにPRを送っていました。
初週は「CrazyPerlBoy」とジョジョに出てきそう、もしくは浦沢直樹が風呂敷を広げて回収しなかった漫画のタイトルみたいな呼ばれ方をしていましたが、最終週には「Perl太郎」と呼ばれるに至りました。 やはり本名で呼ばれない。
Golang
インターン中は基本的にgolangを書いていました。僕にとってgolangは処理系を多少読んだことがあるのと、Tour Of Goを多少やったことがある程度だったので、ちゃんと書いたのは初めての体験でした。
3週間くらい書いて、3割くらいはPerlに似ているのではないかと気づいたので、実質Perlを書いていました。
とはいえ静的言語を触るのは久々(C言語も静的だけど..!!)なので、「循環参照を起こして破滅」、「ポインタを使うのか実態をいれるのか焦る」、「ひたすら同じインタスタンスを連れ回す」、「エラーチェックを忘れる」、「便利パッケージの存在を知らずすべて気合で実装してしまう」などの破滅ポイントを一通り体験してきました。
作業が「破滅!!!!!!」となると、どこからともなく id:izumin5210 さんがシュッとPRにコメントしたり、ペアプロをしてもらい、最終的にはプロジェクトで使っている処理をある程度ならすっとかけたのでよさみがありました。かなり勉強させていただきました、ありがとうございます。vscodeのペアプロ機能便利ですね。
他にはslackに雑に質問を書いたら皆さんから早く反応していただいて、そういう面でも良かったです。なお社内用語としては、「いい話」「なるほど」「たしかに」などはやはり使われていましたが、頻繁に「かわいそう」というワードも使われていました。
なおwantedly社内の会議室にはだいたいapple tvが置かれていて、人々がシュッと画面をうつしていたのが印象的でした。ただ会議室によっては異常に寒いところや、「なぜか日を追うごとに椅子が増えていく会議室」などがあり、都会って怖いなと思いました。
触れた技術としては名前だけ聞いたことがあった「gRPC」や「gRPC-gateway」、例のマイクロサービスなどをモリモリ触ったので実際にサービスを展開しているコードきっかけに、技術に触れる事ができて非常に面白かったです。
後は個人的にlldbやgdbを使っている影響で、ひたすらdlvを使っていましたが、たまにdlvが使えないケースがあり、そういうケースでもGitHubだけでコードを追ってしまう人々を見て、すごいな...などと思ったりもしていました。僕もそうなりたいですね。
くらし
インターン期間中は社の方に取っていただいた渋谷のマンスリーマンションに滞在していました。コインランドリーも徒歩一分だったので非常に便利でした。
毎日山手線で通勤していたのですが、時間を間違えるとそこそこ人がいるので人間って怖い....シムシティしたい....と思っていました。ちなみに初めてiphone walletにいれたSuicaを使ったのですが、非常に便利でした。我々がほしいのはおサイフケータイだったのだ...。
PRがmergeされたら、帰宅ルートの道玄坂HUBに行くのを気持ちとして頑張っていたので、2週目はわりとHUBに行っていた気がする。よくわからないですが3回通ったらメイヤーになりました。どうでもいいですが、朝の渋谷は通勤するリーマンが多いのに夜の渋谷はおもしろ人間が多いですね…。定期的にメルトダウンしている人間と、敗戦処理(リバースしたものを処理する人)を見た気がします。都会怖い...
東京に居たのでPerlコミュニティの人々と飲んだり、ちょうど東京にいたid:kaoru1615くんと飲んだり、id:mackee_wさんにビルコンに連れて行ってもらいました。ありがとうございました。
あとは秋葉原のとらのあなで薄い本を見ていたら沖縄太郎さんとエンカウントし、そのままジャンク品を漁る->メイドバーに連れて行かれる->ラズパイを購入するという謎の行いをしていました。なんだったんだ。
ランチ
ランチですが、やはり社が白金台なので単価は高めです。 インターン生同士で交流をするイベントで、「白金台のちょっといいランチ」マップを貰ったのですが、行こうとしていた店が休みだったり、単価が2000円スタートだったりと、色々と都会って怖いなという案件がありました。
とはいえ目黒まで行けばある程度は安いのと、日によっては社でまかないランチ(paypayやkyash、クレカなどで払うと食べれる)などがあったので、生存していく事は出来るぞという感じでした。
仕事の進め方
仕事の進め方ですが、僕はバイト先のid:yasslabと趣味のTwitterの影響で、「とりあえず思考の過程を人々が見れる場所に書いておく」という癖があるので、issueやPRのコメント数が100を超えるものが普通に発生してしまい、wantedllyの僕が見たリポジトリの中では異常な行いをしているものを量産しました。「issueとPRが実質Twitter」と言われました
特に最初のタスクの際は、Golangの先頭が大文字だとコメントを書けというルールを矯正するLinterからの怒られが異常に発生したこともあり、トータルでコメント数が300いって笑顔みたいになっていました。
結果として id:izumin5210さんから、「どこでサポートしたらいいのかわかりやすい」と言われたので良かったかな...と思っています。
一週間目はgolangに慣れてなかったのもあり、不必要にAPIを生やしまくった結果、「使わないから削除しようね...」となり、最終的に定義したinterfaceが満たすべき関数の数が「10 -> 4」くらいに減少したので、YAGNI守っていこうね...となりました。
2週目以降はgolangにも慣れてきたので、色々とエイッとするスピードが多少向上しました。 また社にも慣れてきたので
などと言い出す日もありました。楽しかったですね。
持っていってよかったもの
何故かインターンの前にアイコンがプリントされている服を2点発注していたので、それを定期的に着ていったのですが、社内での交流会みたいなタイミングで認識されやすくなるので便利でした。顔写真がアイコンじゃないのでアイコンに自分を近づけると体験として良い。
あとはランチが単価も高ければカロリーも高いので、整腸剤を持参しておいてよかった...という感じです。ハンバーガーとか焼き肉とかが周囲にあるので、午後の業務は整腸剤が無いとぽよぽよしてしまう気がする。
ちなみに水は社にウォーターサーバーがあるのですが、かなり水を飲む太郎なので前半は紅茶、後半は玄米茶をひたすら持っていきました。特に玄米茶は1日3本は買っていたので、白金台のセブンの玄米茶の売上に貢献したと思います。支払いはSuicaでしていました。文明ですね。
成果
まだmergeされてない・別リポジトリのPRもいくつかありますが、mergeされた中ではこんな感じでした。
携わっていたpeopleアプリは最終日の前日にインストールしました。
他にはこんな感じです。
Perl太郎が自首した pic.twitter.com/t38A8r3HWy
— 矢島一樹 / 人生暇つぶし (@yjmkzk) 2019年9月6日
打ち上げ
最終日の金曜日がYEPP(Year end pool party)という納会がある関係で、「インターンの打ち上げと修了式を前日の木曜日にするという時空の歪み」を体験しました。
インターンの打ち上げ時では、それぞれのメンターさんから担当の学生に手紙が読み上げられるという感動体験がありましたが、僕だけ「Perl太郎と呼ばれる」というコンテンツがありました。評価としては「楽しそうに仕事している」「スプレッドシートをまとめるなど仕事ができる」「コードを書く筋力がある」と言っていただいた反面、「コンピュータサイエンス的な知識をコードに落とし込むのが弱そう」と言われたので、やっていくぞという気持ちです。
👆はインターンの打ち上げででるいい感じのケーキです。(ちなみに人の写真です) Rubyを食べようとするGopherくんです。 なお、このGopherくんは結果として僕が食べたので、「Perlの人間がgolangを食べるというコンプライアンス的に問題のありそうな行い」をしてしまったので心配。
なお金曜日の最終出社日は、セキュリティカードを返却したにも関わらず、社にキャリーケースを忘れるなどをし、id:izumin5210さんに鍵を開けてもらうなどの行いをしました。生活をちゃんとやっていきたいですね。
雑記
人生においては3度目のインターンなのですが、2週間以上のインターンに関しては前科があるので、「3週間最後までいれるかな…」と不安がっていましたが、「スケジュールが合えば延長していく?」と言われたり、無事完走できたりしたので良かったですね。ちょっとは成長したかな....。
あとはインターン中にAWSの例の障害が発生したりしていたので面白かったです。
という訳で皆さんありがとうございました!!!