日々精進

aikoと旅行とプログラミング

pixiv SPRING BOOT CAMP 2018 参加記

DW9qEu-W4AEO0nz.jpg (176.5 kB)

tl;dr

pixiv SPRING BOOT CAMP 2018とは

今回ピクシブ株式会社(以下、ピクシブ)で行われた春のインターンシップPIXIV SPRING BOOT CAMP 2018」に参加してきた. 今回は2/26〜3/2の5日間開催された. 交通費全額支給, なんと遠方から参加の場合は期間中の宿泊費も負担してくれる(ホテルを押さえておいてくれる)東京以外の人にも優しいインターンシップである.

ピクシブ

  • イラストコミュニケーションサービス 「pixiv」
  • ショップ作成サービス「BOOTH」
  • 絵の書き方を学ぶサービス「sensei」
  • Mastodonインスタンス「Pawoo」
  • 画像配信システム「ImageFlux」

などのサービスを展開している. 先日pixiv(イラストコミュニケーションサービス)の登録者数が3000万人を突破したことでも話題になった1. このインターンには副題がついていて, 「この春, ピクシブ"""""圧倒的猛者"""""になる」というものである. 5日間のインターンを終えた学生たちは圧倒的猛者になっている…はずである. 本記事では, ピクシブとはどんな会社なのか, 果たして参加した自分は猛者になったのか, どんな5日間を過ごしたのかについて書いていく.

選考フロー

今回の春インターンには, 2つの応募方法が存在した.

  1. 通常選考 「通常選考」の場合, エントリーシートでの選考が1次選考, 面接が2次選考となる. 遠方から参加の場合, ビデオ面接となった.

  2. GitHub選考 GitHub選考の場合, 自身のリポジトリが通常選考の1次選考に相当する. その後通常選考と同様に面接が存在し, それを突破した人がインターンに参加となる.

今回, 自分は通常選考を利用した. 面接の手応えがあまり無かったため, 落ちたのでは…と思っていたら参加連絡が来たためびっくりした. 面接はとりあえずなんでもいいので, 自分の思ってることをしっかりと伝えておくのが良いのではないかと個人的に思う. 自分の面接を担当してくださった方はとても優しかったので, 是非面接に望む方はリラックスして欲しい.

受かったのは「技術基盤コース」で

pixivでは毎日30回以上のデプロイを行っています。 そんなpixivを支えている技術基盤チームでは日々、pixivを開発しやすくするための改善やテスト、 サービスを横断したアーキテクチャ変更、セキュリティの問題を起こしにくい仕組み作りなどに取り組んでいます。 このコースで技術基盤チームとともに一見地味だが単純ではないpixivの改善に携わってみませんか? (引用:https://recruit.pixiv.net/intern/tech/ )

とのこと. つまり, pixivに使用されている基盤技術に関われるコースである. 不安だったのはPHPを使うという点であったが, 行く前にメンターさんに教えていただいたサイトをのぞいたり自分なりに調べるなりして当日を迎えた. PHP経験は高校でちょっとCakePHPさわったり, 大学で観光サイト作った程度だったので心配になりつつも, スキマ時間を見つけて勉強していった.

ピクシブ社内の様子

社内, めちゃくちゃカラフルで良い. このエリアでエンジニア同士会議したりプレゼンが行われたりする. インターンの最初の自己紹介や, 成果発表もここで行われた. IMG_5811.JPG (1.6 MB) 技術書や漫画がたくさん置かれている. というか, この棚に関して言うとほぼ漫画が陳列されている. IMG_5810.png (2.3 MB) 詳しくはここを見ると良い

www.pixiv.co.jp

社内の机は1つの大きな木の机になっていて, 仕切りもなく色んな所にフラフラと行きやすいのも良かった. 会議室もガラス張りだったりして, オープンな職場だなと思うなどした.

スタンディングデスクもあったりして, 疲れると立って仕事をしたりすることも出来る. スタンディングデスクとても良くて, 自宅や研究室にも導入したさが高まった.

写真は撮っていないのだけど, フリードリンク制なので, お茶やらリアルゴールドやらが飲み放題である. 他にも味噌汁サーバ(味噌汁がかかったサーバではない)や, コーヒーも無料で得られる. インターン生も飲み放題です.

インターン日記

毎日メモ書きのようにしていたので, 箇条書きになっている. どんなことを思いながらインターンをしていたのか, どんなスケジュールで5日間過ごしたのか雰囲気だけでもわかるといいなと. ちょこちょこ出てくるツイートは同じインターン生のものです(掲載許可取得済み)

1日目

  • 朝出発し, 9:30頃に千駄ヶ谷駅につく
  • ホテルに荷物を預けに行く(会社から徒歩20分ぐらいあったので疲れた)
  • 入り口に絵馬が沢山(かつてはもう少し沢山飾ってあったっぽい) IMG_5815 2.JPG (2.6 MB)
  • ついた頃にはそれなりに人が集まっていた
    • なんか長時間遮断器がおりている箇所があるらしく, 罠なので気をつけて欲しい.
      • 千駄ヶ谷駅から来るのならこの罠には引っかからなさそう.
  • 自己紹介フェーズが始まる
    • アニメ視聴率がすごい高い. 「好きなアニメはなんですか」という問いが何回か飛んだ
    • ちょろめ(インターン生)「とにかく光るものが好き」←これすき
    • lyakaap(インターン生)「趣味はKaggleで…」←これほんとつよい
  • スケジュール等の説明を受け, メンター陣とインターン生でお昼ごはんもぐもぐ IMG_5781.JPG (1.9 MB)
  • インターン生もフリードリンクの権利を得ているので, 無限に綾鷹を得られる
    • 朝の健康果実もある(nonsakoはインターン生です)
  • 環境構築をする
    • GithubやらPhpStormの設定をする. 環境設定は難しい
    • 変更されたら自動で転送が走る機能を初めて知る
  • Calmery(インターン生)のターミナルが可愛い
    • 自己紹介の時にも写っていたのだけど, プロジェクターの都合でうまく見えていなかった
  • 実際のコードを参考にしつつ課題をこなしていく
    • メンターさんは本当に優しくて, いろんな質問にも本当に丁寧に答えてくれる
    • わからないときは一人で考えずにどんどん質問したほうが良いです
  • ADD(綾鷹駆動開発)をする
  • 別の場所でやっているインターン生の成果発表がめっちゃ盛り上がってて気になった
  • いつのまにか19時(勤務終了)
  • 交流会(歓迎会?)が始まる
  • 🍣と🍕を食べた. 🍻もあった(飲まなかったけど) IMG_5786.jpg (1.5 MB)
  • 話をしてみると, 他のインターン生レベルが高くてつらくなる. 精進しようという気持ちになる.
    • コレは得意だ!といえるものが1つ欲しいなって思った
  • 研究の話, うまく伝えられなくて理解不足と説明力のなさを痛感した
    • 初心者の方に分かりやすく伝えられないのは大問題なので, しっかりと勉強しましょう
  • 食事後席に戻ると, 近くにいたmipsparcがウエハーのオブジェを見せてくれた.
  • ピクシブの人々は, それぞれ思い思いのオブジェクトを机の上に配置しています IMG_5789.jpg (1.7 MB, orientation fixed)
  • ホテルのインターネット接続が不安定
  • 毎日KPT(Keep, Problem, Try)というのを記述する(思ったことを毎日終わりに書く)
  • 1日目のKPTはこんな感じ Screen Shot 2018-03-03 at 17.06.22.png (111.1 kB)
    • esaにわからない単語メモってたのはあとで役に立ったのでよかった
  • ピクシブではesa使っていて良い感じ
    • esaはいいぞ

2日目

  • ホテルのインターネット接続完全に絶たれてしまい辛くなる
  • 出勤即からだ巡茶
    • フリードリンクは最高
    • フリー味噌汁も存在している
    • フリーコーヒーもある
    • オフィスグリコもある(これはフリーではない)
    • オフィスファミマもある(もちろんフリーではない)
  • お昼ごはんは隣のメンターさんのグループに混ぜてもらう. チキン南蛮食べた(写真撮り忘れ)
  • ピクシブは10時出勤だからか, お昼休憩は13:00頃からが多いっぽい(これは人によるので, その前後で自由に取ればいいとのことだった)
    • 混雑を避けれる気がするので良いなぁと思った
  • あまりにもgitを扱えなくてメンターさんに迷惑をかける
    • ちゃんと学ぼうという気持ちが生える
  • KDD(からだ巡茶駆動開発)をする
  • スプライトがあることを終業後に知る
    • 知らないって言ったらCalmeryとnonsakoに煽られた(かなしいね)
  • お腹めっちゃ空いていたので夕飯食べれるところを探すも, 会社すぐ近くにはあまりないことに気づいてしまう
    • 代々木の方まで行くと沢山の選択肢があります
  • 結局ラーメンを食べる DXCp7KKUMAMEI30.jpg (198.0 kB)
  • nonsakoは毎日食べ物に関するツイートを載せて欲しい
  • ラーメン屋での話のレベルが高すぎてついていけず辛くなる
  • nonsakoがnpm公式サイトの左上が面白いと教えてくれる
  • nonsakoに大岡山キャンパスにある面白建造物について教えてもらう
  • さわやかはいいぞ
  • 本日のKPT Screen Shot 2018-03-03 at 17.08.33.png (111.2 kB)

    • こいついつも飲み物の話題書いてんな
    • gitを何も理解していないことが分かる
  • 質問を積極的にするのは本当に大切

3日目

  • 水曜日, ピクシブでは全体会議が開かれる
  • 会議の前にラジオ体操がある. メチャクチャ久しぶりにラジオ体操をした
  • 会議が始まる
    • 様々なデータが映し出され, これが会社というものかみたいな気持ちになる
  • 全員の前で自己紹介フェーズが始まる
    • 「えー、ニックネームは"かみ”なので, "かみ"と呼んでください
    • アニメの話での盛り上がりがすごい
  • この日は弁当が会社から支給されて, ランチ会のようなものが開催される IMG_5805.JPG (1.6 MB)
  • となりでtokei(インターン生)がケーキを不正受給(大嘘)していた2
  • 誕生日おめでとうございます
  • ピクシブでは誕生日の人をお祝いするイベントがあるっぽい
  • プリキュアruby実装(????)であるRubycureを知る
  • 社内でイチゴが栽培されている事を知る
    • 草いじりが得意なエンジニアは是非ピクシブ
  • 午後からは課題に取り組む
  • 午後は色々やらかしてしまい凹む
    • 変更する箇所はしっかりと見定めましょう
  • 今日もやっぱりKDD(からだ巡茶駆動開発)をする
  • 夜Calmeryと美味しい蕎麦と油揚げを食べることで多少気力を回復した IMG_5807.JPG (1.8 MB) IMG_5808.JPG (1.5 MB)
  • 「天然たいやき!鳴門鯛焼本舗」というお店を帰り道で見つけた
    • 天然たい焼きとは…
    • 我々が普段食べているたい焼きは養殖っぽい
  • 今日もまたインターネットを得られなかった. いつの日かインターネットを得たい
  • 本日のKPT Screen Shot 2018-03-03 at 17.09.54.png (94.2 kB)
    • この日は落ち込んでいたのでなんだか少なめ
    • pushを細かく行なうのではなくて, commitだと思う. どんだけ疲れていたんだ

4日目

  • 午前中はいつもどおり作業をする
  • お昼ごはんをインターン勢5人で食べに行く

    • コロッケと唐揚げ IMG_5809.JPG (1.7 MB)
  • 今日のnonsako

  • この辺からtraP1yakudoがクセになってくる
  • nonsakoが「この牛肉コロッケ, めっちゃじゃがいもの味がする」発言🤔
  • じゃがいもと牛肉をマージしたら牛肉消滅していて悲しいねという話になった
    • コロッケで学ぶgit
  • KDD(からだ巡茶駆動開発)を(ry
  • 夕飯は全国展開超高級イタリアンレストランにtadsan, nonsako, Calmery, mipsparcと行く
  • 全力で間違い探しをする
  • 今日のnonsako2
  • 課題が大体できた気がする
  • 本日のKPT Screen Shot 2018-03-03 at 17.11.15.png (104.9 kB)
    • いい感じになってきたのでKが増えてきていいですね
    • この日はchocomelonさんとの面談があって, 「インターンどうよ?」って話をした. 自信持って頑張ろうって気持ちになった

5日目

  • インターン最終日ということで, 成果発表があります
  • 前日の夜にスライドを書こうと思ったら, 寝ていた(かなしいね)
  • 最終日にインターン勢でのランチイベントが生える
  • 正午集合なのに, 11時過ぎからスライドを書き始めたため終わるはずもなく, 途中の状態でランチに行く
  • 正午というのはやばくて, 任意のお店のリソース(席)が枯渇していて大変だった
  • ので国立能楽堂に行きます(は?)
  • アジフライは大体どこでも美味しい. 実質実家(これは罠で, 実家はさわやか) IMG_5813.JPG (1.7 MB)
  • していません
  • National Noh Theatreって書くのか
  • 帰ってきてスライドを一生懸命書く
  • 絶対に5分では終わらない感じになる
  • 横でElmでスライドを書いている人がいて怖かった
  • とりあえず完成させ, メンターの方と相談する. だいたい良さそう
  • 発表が始まる
  • 皆クオリティが高くて無駄に緊張する
  • 発表本番はほどほどにうけたっぽくてよかった. 卒論感が強かったっぽい. 福井県のアピールをした

トップバッターで緊張するところを, 堂々と発表していてすごいと思った. 直前のカラースキーム変更も頑張って対応していた.

秋山殿〜

Calmery「このスライドもElmで作ってます」←これつよい

  • pixivに実写画像をアップしてはいけないという知見を得られた
  • スライドにげんこつハンバーグの画像を載せるミッションをクリアした
  • 発表後, オフィスのあまり見ていない箇所をtadsan, yudemanjuさん案内でCalmeryとどいちゃんと見て回った
    • 2階と6階にオフィスがあるが, 自分がいたのは2階の中央付近なので他を全く見ていなかった
  • ピクシブ特製クリアファイルというのがあって, めっちゃ可愛い絵ばっかりで全種類ほしいなあという気持ちになった
    • インターン生は全員1枚おみやげでもらいました. ありがとうございます.
  • 6階に行き, pixiv PAYやBOOTHあたりを見て回った
    • 6階は木のいい匂いがします
  • 本棚に「インプレス標準教科書シリーズ H.265/HEVC教科書」があってテンションが上った
  • 6階はお菓子が充実している
  • 18:30から懇親会があった
    • あまり話していないメンターの方ともお話できてハッピー
    • 関数型言語の話をするのって大変なんだなって気持ちになった
    • ビールの泡だけきれいに残るピッチャーが面白かった
    • BOOTHって結構色々売っているので, 今度使ってみようかなと言う気持ちになった.
  • 5日間も一緒に居るとそれなりに仲良くなるもので, 帰るのはちょっと寂しいなと言う感じであった
  • 期間中インターホン貫いてたちょろめくん
  • 帰りの新幹線, みなTwitterしまくりという感じで面白かった.

感想

IMG_5814.jpg (1.6 MB) 写真は頂いたお土産の袋です. ステッカーとクリアファイルと水をいただきました. ありがとうございます🙏

ピクシブ社の印象

オフィスもオープンな感じでよかったし, 特に社員同士をニックネームで呼び合う文化が印象的だった. これはインターン生やアルバイトも例外ではなくて, 最初の自己紹介でニックネームを発表し, メンターさんからもその名前で呼ばれることになる. そのくらいニックネームって重要なので, ちゃんと考えて付けましょう.

日記の方にも書いてあるが, フリードリンク制度が実施されていて大変良かった. 他にも希望のPCを購入できる制度もあったり, 会社の近くに住んでいると5万円の家賃補助があったりと福利厚生的な面でも良いなと思った.

希望のPCを購入できる制度があるのだが, 結構な確率で社員さんはmacを使っていたような気がする(全員を見ていないので何とも言えないが) インターン生でmacではない人が数人いたのだが, いずれも環境構築が辛くなっていた.

あとesa大好きマンなので, esa使ってるのを知って「おっ」てなった.

得られた知見

前述のとおり, 参加前はそれなりに不安もあった. いざインターンになってみると, 周りにいる人々はとても優しく接してくれ, なんなら社内のシステムがどのように動いているかまで詳細に教えてくださった. 良かった点として,

  • 本当にpixivで動いているコードも触ったり読むことが出来る.
    コードの量がすごいので追うのになかなか時間がかかった, がそこはIDEパワーを使った. これが大規模サービスなのか…という気持ちになった.
  • テストの書き方
    今までもテストを書くことはあったものの, 割りとオレオレな書き方だったしテストケースの考え方も雑だった気がするので, 教えていただけたのは本当に嬉しかった.
  • コードレビューをしていただける喜び
    個人的なコードであれば, 最悪自分がわかればよいし他人にレビューをしてもらうということもないと思う. インターン期間中は, 社員の方が自分のコードをレビューしてくださるので, よろしくない書き方についてバンバン指摘していただける. 単語の誤用やインデント, 空行など自分に足りていない部分を認識することができる. プログラムは自分しか読まないコードでも, 汚ければ数日後の自分は忘れて読めないということもありえるので, 常にリーダブルなコードを書くよう意識しなければならないと思った.
  • PHPUnit, Composer, gitの使い方等々
    PHPUnitPHP向けのユニットテストツール, ComposerはPHPのパッケージ管理ツール, gitは分散型のバージョン管理ツール. PHPUnitとComposerは完全に初心者, gitはmasterブランチのみでcommit, pushを行なうタイプの使い方をしている人間なので, ほぼ全てのことが自分にとっては新鮮であった. 最後に書いたコードをパッケージ化するところまで持っていけたのは良かったな, と.

が挙げられる. 他にも色々とあるんだけども. いい機会なので, もしこの先インターンに行く人は気になるところを遠慮なく聞いたり頼ってみるといいんじゃないかと思う.

インターン生たち

あと同じインターン生がなかなか個性的で面白かった. 最初は緊張で無言だったけど, 日に日に仲良くなれてよかったと思う. 初日からほぼずっと一緒だったElm大好きMelcary, 空リプエバンジェリストのtokei, もうなんでも面白いMastdon大好きnonsakoなど本当に楽しかった. ちょろめくんの研究は普通に面白そうで気になります.

日記を見れば分かる通り, 夜ご飯とかはなんだかんだ誰かと食べて帰るという感じの日々が続いた. 5日間とはいえそれなりに一緒にいるので, 積極的に誘ってご飯とか行くと早く仲良くなれるかもしれない. お店は社員さんにお店をリコメンドしてもらうのもアリ.

あまり喋れなかった人もいたので, いつかお話できたらいいなと思う. 能楽堂の食堂でRictyの話をし, ラーメン屋でnpmの話をし, 居酒屋でgitの話をし, 打ち上げではインターネット老人会と関数型言語の話をするなど普段の何倍も刺激的な日々を過ごす事ができたのではないかと思う. またどこかで会えるといいですね.

インターン生みなすごくて, 同世代でコレだけの人がいるのだから自分ももっと頑張らないといけないという気持ちになった. こうやって刺激をもらえる経験はなかなか大学にいるとできなくて, いつもの何倍も刺激的な5日間を過ごすことができた.

まとめ

5日間あっという間だった. 知らないことばかりだったので, 猛者にはなれなかったような気がするが少しは近づけたのでは無いかと思う. 本番環境にコードをデプロイできたのも良かった. 毎日が楽しかったわけではなくて辛かったときもあったが, 終わってみればそれもいい経験だったなと思えた.

5日間しかいなかったので会社の全てをわかったわけではないが, 以前よりピクシブ社に何倍も興味が湧いてきたので良かったと思う. 大規模なサービスにアサインする体験, 会社としての風土や魅力などを知ることができた濃い5日間だった. 全員参加の会議に出られたのも良かったなと思う.

ピクシブが展開するサービスに少しでも興味がある, プログラミングが好き, インターンシップに行ってみたいと思っている人は, 是非応募して欲しい. あんまり技術力が…と思っているそこのあなたも, 落ちたからと言って人生が終わるわけではないのでとりあえず応募してみるのをおすすめします.

5日間お世話になったメンターのtadsanを始めピクシブ社員の方々, インターン生に最大限の感謝を. また戻ってこれるといいな.

ごはん

夕飯や昼飯で行った店のリスト. 意外と探すのに苦労したので, 早めに社員さんに聞いておくのがベター

他の参加者のブログ


  1. ピクシブ株式会社 プレスリリース, “pixivのユーザー登録数が3,000万人を突破”, https://www.pixiv.co.jp/news/press-release/article/6050/

  2. 偶然社員さんの分が1つ余ったのでもらってました. 不正受給じゃないよ(詳しくは彼のブログ記事を読んでね)