ピクシブ春のインターンに行ってきた話

2018年の2/26~3/2のピクシブ春のインターンシップに行ってきたのでその話.受かったコースはpixiv webコース.

インターン1日目

これがピクシブだ!!!!!!!!!

f:id:zenmaibane:20180303004750p:plain

f:id:zenmaibane:20180226234958p:plain

1日目はインターンの説明とか環境構築で日の半分が終わります.なので結構体感時間が早い.

ただ自己紹介コーナーがあって予め作ってきた1枚の自己紹介スライドを2分以内に発表する時間があるのでそこで発表したのが次の画像.

f:id:zenmaibane:20180302235811p:plain

一生おたくって感じだ.

環境構築で日の半分が終わるとか前述したけど,僕はその環境構築にとてつもなく躓いていたわけで一日目はそれで終わりました😇😇😇😇😇😇😇😇

メンターのkanaさんにかなりサポートして頂きなんとか終えることが出来た.いや,あの,本当にお世話になりすぎて感謝しか出来ないです..........ピクシブのメンターの方はめちゃくちゃ良い方なので安心してください.....

ちなみにこの環境構築の間で自分がlinuxに慣れてない*1ことをかなり実感するなどしました.例えば次みたいなことを口走ってた.

  • 「ごめんなさい, rsync ってなんですか」
  • ssh ってconfigファイルとかあるんですね」
  • 「えっman なんてコマンドあるんですね.すごい便利だ」

普段linux使ってるマンからするとどうしようもないバカなことがよくわかりますが(特に最後)こんな人間でもインターンに受かるので受けたいと思ってる人間は変に尻込みせずインターンの選考を受けましょう!!!!!もしも上記の僕と同じレベルの方だとしてもこれを読んで調べた時点でこの時の僕よりかは出来る人間なので大丈夫です.自信を持ってください.

そんなこんなで1日が終わりました.進捗,なし!w

ちなみにピクシブはフリードリンク制度なので冷蔵庫に入ってる飲み物を好きなだけ飲めます.神.

終業近くになるとKPTシートというのを書く時間があります.要はその日良かったことと悪かったことを挙げてそれを受けて次はどうするのかって感じのやつ.僕が書いたのはこんな感じ.

f:id:zenmaibane:20180227001956p:plain

内容は見てもらうとして,僕が「あぁなるほど」と思ったのはpixivでいい作品を見たならちゃんといいねとブックマークをするっていうところです.

普段,僕はpixivでイラストを見ても「あっいいなこれ」くらいで終わって見るだけで終わってたんですけど,いいねとかブックマークをつけることでその作品の定量的評価に繋がるわけで,それは結果的にそれはクリエイターを応援することになるよねっていう観点は今までの自分にはなかったのでかなり納得出来ました.開発とは関係ないですが,ファンとして出来ることがちゃんとあるんだなぁと素直に感銘を受けてました.なのでTにはいい作品にはいいねとブックマークをちゃんとしよう って書いてあります.

初日のお仕事も終わり,懇親会があったのでお酒とご飯を頂きました.美味しかったです.

f:id:zenmaibane:20180227002655p:plain

f:id:zenmaibane:20180227002704p:plain

f:id:zenmaibane:20180227002714p:plain

そしてこれは全然関係ない写真です.

f:id:zenmaibane:20180227002749p:plain

2日目

これは朝です.

朝に色々ありましたが全体で見ると1日目に比べてどたばたせずに過ごせた.ただ今まで自分が書いてきたコードしかほぼ見たことなかったので他人が書いた且つ業務で使う大規模コードを見た時は圧倒されるなどしてた.

2日目のKPTがこれ.

f:id:zenmaibane:20180227234426p:plain

この日得た知見としては git diff には -b-w のオプションがあってインデントのdiffを取り除いた状態で見れるってところ.ちなみにギフハブのコミットページのURLに ?w=1 みたいなことをつけるとブラウザ上でもそんな感じで見れるらしい.

あとはReactのSFCとPureComponetの違いとかも聞いたり.

3日目

ピクシブでは毎週水曜に全体会議やランチ会をするらしくそれに参加してました.

流石に会議の内容は書けませんが,会社の今後の運用方針とか同業者はどうなのかとかのレポートを聞く機会は学生には中々ないので新鮮だし,会社の熱意(?)的なものがよく見える場なので会社の雰囲気を知るには結構おすすめです.ピクシブってクリエイターを応援するし自分達もクリエイターだしでそういう所を意識しながら会社を運営してるんだなぁってのがわかります.

そしてランチ会はこれ.

f:id:zenmaibane:20180228234013p:plain

ちなみにお弁当は無料です.そして,僕は誕生日が2月なのですがその日がちょうど2月誕生日の人を祝う日だったらしくなんか混ぜてくれた.いやなんで混ぜてくれたのかよくわからないし,(恐らく社内報で使われるだろう)写真にいきなりよくわからんインターン生の写真が入ると思うと本当に意味がわからなかった.ナニモンすぎる.

極めつけはなぜかケーキを頂いたんですけどもちろんインターン生のケーキなんてないわけですが,何故かたまたま誕生日対象者にお休みだった人がいたらしく,捨ててももったいないとのことで代わりに頂くことになった.

f:id:zenmaibane:20180228234413p:plain

恐らく他人の名前が入ったネームプレートを食べるのは今後の人生で経験することはないでしょうが,とても背徳な味がしました.そしてケーキ自体はとても美味しかったです.(いやあのほんとこの方ごめんなさい)

こんな感じでワンチャンケーキがもらえる可能性があるのでインターン期間近辺で誕生日の人は期待して向かいましょう.

3日目のKPTはこれ

f:id:zenmaibane:20180228235104p:plain

この日はとんでもないやらかしをして普段の開発のノリで「レビュワーからLGTMもらったしマージしてええやろw」とか思ってやったら「え,なんでマージしてるの」って普通に言われました.あの,本当に,申し訳ありませんでしたとしか言えなかった(幸いにもマージ先がmasterではなかった).当たり前だけど開発ルールは場所によって異なるので逐次確認しましょうというのをよく学んだ日だった.

というのと普段の悪い癖が出ちゃってわからないところで人に聞かずに無限にわからんって言いながらコードとにらめっこしてた.初日に「わからんところは5分で切り上げて聞いてくれ」って言われてたことがすっかり頭から抜けてた.

あと(KPTに書き忘れましたが)僕はバカなので今まで console.log でのデバッグしか知らなかったのですがchromeのdeveloper toolの使い方を教えてもらってました.jsに debugger って書くとそこでブレークポイントみたいに止まってデバッガーが起動するなんて全く知らなかったし動作確認がめちゃめちゃ楽だったのでなんで今までこれを知らずにやってたんだってレベルだった.

そんなこんなで色々あったけどとりあえず機能が1つ作り終わってその場でデプロイしてくれた.pixivっていつも見てる側のサービスなわけだったけど自分が書いたコードが本番環境で動いてるわけでとても不思議な気分だった.いくら小さい機能とは言えこれがリリースする気持ちか~~~って感じ.こういうのは確かにインターンじゃないと中々経験出来ないし,なんとも言い難い嬉しさがあった.

4日目

これで察してくれ.

f:id:zenmaibane:20180301213636p:plain

趣味で書いてる時のように「よくわからんけど多分こう書けばノリで動くでしょ」みたいなことをやるとまぁ死亡するよねという話.ゆるふわ実装じゃダメなんですよね(それはそう).色々とありこの日が一番疲れた.ちなみに一区切りつくような進捗はこの日なかった.

インターンの総括役の方が気を遣ってくださったのかインターン生だけでランチに行くことになった.いくら多少勉強会等に行くことはあれど違う環境の同年代の人を見ることって早々ないのでいい機会だった.

最終日

業務内容としてはスライド作って発表して終わりました.流石にスライド内容は載せちゃいけない気がするので話せることとしてはこれくらい.みんな発表が上手い.

あ,でもこれくらいは許してもらえる気がするのでインターンの感想スライドだけ貼っつけておきます.

f:id:zenmaibane:20180303003529p:plain

この日は初めてインターン生全員でお昼に行ってました.他の時間帯はあまり話せないので非常にありがたい....みんなやれることがあって強い.

というのとインターンの総括役の方に「普段CG分野の研究をしているのでその辺りの方とお話ししたいです」と前日にちょろっと言ってたんですけど,本当にお話する機会を頂けたのでめちゃくちゃありがたかったです....!!!まさかのインターンで研究での悩みが解決した.1時間ほどずっと話したところで解散のお時間になって名残り惜しく終えました.

最終日は打ち上げもあり1番色々な方と話せたのでめちゃめちゃ楽しかったです!!!

おわりに

とりあえずインターン5日間を駆け抜けました.インターン決まった直後に4日でReact+TypeScriptを学んでなんとかコードが読める状態でしたが,やはり業務コード見てもわからんこといっぱいあるなって感じ.それでも機能がリリース出来るまでサポートしてもらえるのはインターンならではだなぁと思う.聞けばなんとかなる.

あとなんかインターン同期にElm大好きマンがいてちょっとElmが気になったので調べてみようと思いました.名前がかっこいいし.

5日間という短い期間でしたが各所に迷惑を掛けつつ自分がエンジニアとしてまだどこが足りてないのかというのを考える良い機会となりました.普段と違う仕事の環境だと学ぶことが多々ありました.インターンに行くとエンジニアとしてのスキルアップと同時に会社の雰囲気が掴めて一石二鳥です.

インターン自体はすごく楽しかったです.この期間中関わってくれたインターン同期の方及びピクシブ社員のみなさま,誠にありがとうございました.またなにか機会あればよろしくお願いします.

インターン生の記事

chorome.hatenablog.com

muttan1203.hatenablog.com

kuxumarin.hatenablog.com

lyakaap.hatenablog.com

calmery.hatenablog.com

techno-tanoc.hatenablog.com

trap.jp

付録 ポエム

ブログなんだからポエム書いてなんぼやねん.興味ない人間は飛ばしてくれ.

面接してインターンを終えるまでに色々思う所があったのでそれについて.どちらかというと自分の感情ログに近い.

とりあえずインターンに参加するまでの話ですがgithubリポジトリを雑に投げたらとりあえず面接前まで通った.ただこれまでに僕が作ったものは控えめに言ってもしょーもないものばかり*2 *3 *4だったので正直なんで通ったのかわからない.でも,1年前くらい前からどんな規模の小さくてよくわからないものでも思いついた以上は実装して形にするようにしていたのでそういうところが良かったのかなぁとか思ってる.確かに周りの出来る方もどんなに小さいものでも公開しておけばやってる証拠になると口を酸っぱくして言っていたので多分こういうことなんだと思う.多分だけど.(縁あって直近に実名名義で規模の大きい活動に関わっていたのでそれもあるとは思うが)

面接自体もこれまでにやってきた中ではそこそこ良い受け答え出来たかなぁとか.2年前くらいピクシブのサマーインターンに受けて面接で落とされた記憶があるけどその時よりかはまともに自分らしく答えられた気がする.なので落ちたら落ちたで単純に実力不足だなぁとか思ってた.

面接は単なる面接だけじゃなくてコード面接もあったので少し驚いた.与えられた条件を満たすコードをホワイトボードに書く感じ.ただ題材は結構簡単なもので普通に受け答えしたらなんかいい感じになるのでそんなに身構えなくてよかった.強いてなにか言うなら二分探索とか有名なアルゴリズムについてちょっと知ってるといいのかな,くらい.

そんなこんなでなんか受かった.いやはやありがたい限り.

これを受けて思ったのは「ピクシブインターン行ってみたいなぁ」とか言ってる人間はとりあえず申し込みを投げましょう.「自分はコード書けないしなぁ」とか思って尻込みする人間もいるかもしれないけどコードが書ける書けないを決めるのは自分じゃなくて採用側なのでそこで止まっててもしょうがないです.(実際僕もこの考え方を教えてもらってしぬほど納得して今回申し込みを投げるに至った)

インターン中はもうここまでに書いたけど色々やらかしたので改めて技術者としてまだまだなんだなぁとよく実感しました.本当にメンターの方にしぬほど迷惑をかけた気しかしない.それとどうも身内に近いエンジニアしか知らなかったので本業の方だったりインターン同期の人を見て知らない世界がたくさんあるなぁとか思ってた.

というのと情報系の大学に行きつつこれを言うのもアレですが,エンジニアを仕事にすることに正直ちょっと不安があったんだけどインターンを通じてこういうの割と嫌いじゃないなってのは気づけたのでよかったです.