目次
はじめに
pixivやBOOTH、VRoid Studioなど「創作活動がもっと楽しくなる場所を創る」を手掛けるピクシブ株式会社の新卒本選考を受けています。
1次、2次と面接などをこなしていき、3次選考は5日間のインターンシップです。
5日間ですが、しっかり実務を行っちゃいます。
ダメ元でブログ掲載許可を請うと意外にも許可いたいだけちゃったので、インターン体験記を書かせていただきます。
私はプロダクト支援本部 課題解決部にてshocotaさんの元で5日間お世話になりました!
前情報:ピクシブ株式会社さんとの関わりはこれが3度目で、これまで短期インターンとさらに現在はアルバイトでも関わりがあります……なので完全な新参者ではありません……
選考インターンとはいえども……
5日間のインターンということで、面接とは比較にならないくらい企業のお世話になります。
また就活生としても就活全盛期に1週間時間を確保するというのは大きな影響です。
単に選考フローとして受け身で参加するのではなく、ソフトスキル・ハードスキルの両方を高める機会にしたいと考えました。
インターンを始める前に
行動指針・目標
個人的に掲げていた行動指針としては「正社員としての立ちふるまいを行う」です。
行動指針を元に具体的な目標としては「受動的な行動を避ける」、「数年後を踏まえた検討をする」の2つです。
前者は、例えば現状の実装仕様についてお聞きする際にメンターさん経由でなく直接担当する社員さんにお聞きしに行くこと(※事前に確認した上ですが)や、言われたことだけして満足しないなどといった形です。
後者は、仕様の変更や新しい機能の実装を考える際に直近の課題の解決だけでなく今後問題とならないかを加味するなどといった形です。
インターン参加
※このブロク記事はインターン参加記事といいつつ、毎日の就業後にその日のKPTとして個人的に残していたものを公開できるように仕立てたものです。この点ご了承ください……
1日目(月)
やったこと
本来であれば環境構築に時間を費やす1日目ですが、アルバイトでも別部署でお世話になっている都合で大幅にショートカット。
いただいた課題としてはピクシブの管理画面に存在する管理用の情報を保存する部分(以下、備考欄)のエラー修正と備考欄に対しての改善や今後の方針検討です。
かなり抽象的な課題を与えていただいて、それに対して戦う形でわくわくしてました。
ピクシブの管理画面部分のため詳細について触れられないのですが、初日はなぜ備考欄でエラーが起きているのかについての原因理解や管理画面の仕様について理解しました。
そして課題の解決策の検討と仮実装まで行いました!
(このとき自信満々で終えましたが、後に痛い目を見ることになります……)
お昼は課題解決部の昼会に参加しました。
昼会ではgood and newといって最近良かったことや知見についてお話する場がありました。佐賀のぽこぴー展の話や推しVTuberの話、ぬい活やイラストの話だったりと、VTuberの人気の高さや創作活動を行っている方の多さを感じました。お互いの好きなものを受け入れ、相互に興味を持つ世界って素敵だと思いました。
感想
見る側、作る側、プラットフォームを提供する側の3立場を担う社員の方が多く、創作活動がもっと楽しくなる場所を創るを体現していると感じられた日でした。
アルバイトでも所属している企業とは言えども福岡オフィスの部署なので全く異なる世界なのかな……などと色々な思いを馳せていたのですが、参加してみて感じたのはピクシブclassを継承した組織だという点です。アルバイトでお世話になっている部署との共通点もありつつ、でも違う良さもありつつといった形です。
あくまで個人の感想ですが、ピクシブの一番の良さって他に類を見ないほどの社内の雰囲気の良さなのかなと感じました。
よかった点(keep)
- これまでの他社さんを含めたアルバイト・インターンの経験が活かせた
- 過去の議事録や資料を元に、顧客が本当に必要なものを考えた
- ドメイン知識を最初に揃えた
- サービスのコードと現状の問題を素早くキャッチアップできた
- プロトタイピング(考えているアイデアについて触ってもらうための仮実装)ができた
- 1回目の1on1で問題点に気づき、その日のうちに改善できた
反省点(problem)
- 1on1した後、次何をするかを明確に示して終われていないことがあった
- 問題の本質を付けていない案であることに指摘されて気づくことがあった
- 方向性が定まらないまま進めてしまうことがあった
- 課題に対しての振り返りの時間はありつつも、行動に対して個人的に反省する場を設けそびれた
次に活かす点(try)
- このブログ記事の下書き保存を用いて、インターンでの振る舞いに対してKPTを実践する
2日目(火)
やったこと
昨日に引き続き管理画面の課題解決を進めました。
問題や改善すべき点、追加したい機能と目的など見通しが立ってきました。
意見交換会の取り付けや前実装者に仕様の意図をお聞きしたりといった形で社員の方々との交流を行い、不足している情報の収集や適切でない課題の解決策を修正することができた日でした。
意見交換会の場で管理画面を使うCMの方と現状の利用形態などお聞きし、いざ"ぼくのかんがえたさいきょうの管理画面改善案"の仮実装プロトタイプをお見せしたところ、ニーズと違ったという大失態を犯しました……
システム的な美しさばかりを求めて、管理画面を使う側のニーズをきちんと把握できていなかったことが大きな原因です。
感想
実は非エンジニアの方としっかり会議するのってはじめてかもってレベルでした……本当に経験不足を感じています。「エンジニアが考える最強の機能≠利用者が考える最強の機能」は違ったりします。
また普段文字コードがどうこう、JSONがどうこうって伝えるところを非エンジニアに向けた別の適切な伝え方をする必要があり苦戦しました。
提案の失敗に対しての猛省はしていますが、こういった仮説がボロボロに崩される状況にワクワクしちゃう人間なので、実は置かれている状況に楽しさも感じています……
よかった点(keep)
- 非同期的な作業ができた(レビュー待ちのときに別のタスクを平行で進めていく形)
- 積極的に社員さんに伺いに行けた
- メンターさんとのコミュニケーションがしっかりできるようになった
- 予想される懸念事項に対して事前に調べておくことができた
- 現状どのようなデータがどれくらい存在するのか
- HTML5標準のバリデーションの仕様は今回の実装に適しているか、問題はないか
……などなど
- 咄嗟に遊び心を出せた
- JSとPHPでほぼ同じ文字数の計測をする方法として、JS側で文字列.lengthでなく[...文字列].lengthとする方法を教えていただいた際に、[..."おはようござい🍆"].lengthと試しで打てた
→めちゃくちゃしょうもないですが、こういうことできるのは職場の心理的安全性の高さと心の余裕なのかなと思います。遊び心出せる場所で息をできる幸せさはまじでよいんです……
- JSとPHPでほぼ同じ文字数の計測をする方法として、JS側で文字列.lengthでなく[...文字列].lengthとする方法を教えていただいた際に、[..."おはようござい🍆"].lengthと試しで打てた
反省点(problem)
- エンジニアでない方との会議で説明に過不足が多々あった
- 方向性が定まらないまま進めてしまうことがあった(1日目と同じ問題)
- 文字コード問題に苦戦した(特にサロゲートペアまわり……UTF-8とUTF-16の違いや、それによるJS、PHP、HTMLのform、MySQLの文字数計測挙動の違いなど)
次に活かす点(try)
- 本当に利用者が必要なものについて考えるために、エンジニアの仮説で突き進まず対話をする
3日目(水)
やったこと
「今まで偶然動いていたところを、正しい状態を規定して作っていく」ということをしました。
水曜日は全社会議の時間があり、全社会実況スレッドが盛り上がります。
3コメを取りに行くSlackBotが存在したりと、遊び心に溢れています。
会議でお話されている内容はピクシブが扱うコンテンツが好きな私にとって大変興味深い内容でした。
そして最後「チャンネル登録、高評価よろしくお願いします!」で終わる全社会議、すごくないですか……
会議にアバターで参加される方も"当たり前のように"おられて、VRoidの地産地消を感じました。
感想
春インターンでも思いましたが、全社会議の雰囲気好きすぎます……
よかった点(keep)
- mermaid記法を活用して状況を整理しつつ分かりやすくドキュメントに残せた
- 実装の落とし所を見つけられた
- 咄嗟でも現状についての説明ができた
- 1on1の終わりに次何するか(これから何をしていくか)を明確に決めていくことができた(月、火はメンターさんに先導してもらっていたが、自分から提案していけるようになった)
- JavaScriptに詳しすぎる方にアドバイスいただいたりと、チームの方々のお力を借りることができた
反省点(problem)
- 文字コードとの戦いを甘く見ていた
- 見積もりより進められなかった(見積もりが甘かった)
次に活かす点(try)
- 感覚的な見積もりを避ける(論理的な見積もりをする)
4日目(木)
やったこと
3日目で固めた仕様を実装していきました。
予定している実装について管理画面を使うCMの方からもOKいただけて、ついに本番デプロイへ!
と思いきや、テストとPHPStan周りに大苦戦して本番デプロイは明日になりました……
見積もっていた時間から大きく外れたのはテストのコンストラクタ周りの挙動認識とPHPDocの記法誤りが原因で、圧倒的技術力不足です。
よかった点(keep)
- 当たり前のようにJSもPHPも型を付けた実装ができた(JSDoc,PHPDoc)
- インターン・アルバイトの経験を活かせた
- VimキーバインドやGitのエイリアスを多用し、爆速で作業を進めた
反省点(problem)
- 見積もりの甘さ(xx時までに終わらせます!が終わってない)
- 焦ってミスを連発した
次に活かす点(try)
- テスト周りが慣れてなさすぎるので日常的にテストを書く!!!!!←個人開発に対する戒め
- 焦る状況を作らないようにする(早期の見積もり修正や事前の周知を行う)
感想
時間内に終えられなかったのが、ものすごく悔しかったです……
5日目(金)
やったこと
4日目の実装をついに本番デプロイしました。
利用者の方々からもお褒めの言葉をいただけました!
そして最終発表の準備・練習・発表!
発表スライドの作成は自分の弱みがもろに出てしまい、メンターさんに構成と時間配分のアドバイスいただき、なんとか発表までに間に合わせました...…!
発表が始まる5分前とかまでスライド修正していました……
最終発表のスライドで機密情報でない部分を少しだけ掲載します。
発表の後は人事面談を終えて、課題解決部のウィンセッションに参加しました。
ウィンセッションは週で頑張ったことを褒め合ったり、嬉しかったことを共有する時間です。
業務で頑張ったことや終わらせたタスクの話だけでなくクリスマスケーキが美味しいお店や猫の話までさまざまで、雰囲気の良さを感じました。
最後の夕会では、博多手一本をさせていただきました!
論理福岡、終了。
よかった点(keep)
- 本番デプロイまで終わり、利用者の方から好評いただけた
- 最終発表資料をギリギリで完成させ、なんとか発表できた
反省点(problem)
- スライド作成で勢い駆動をしてしまった
- 章立てや章ごとの時間配分を決めずに最初勢いで進めていた
- スライド作成で話をまとめる部分に苦戦した
- メンターさんにお助けいただきました🙇
- 見積もりがしっかりできていなかった
- タスクの優先順位を付けず上からやってしまう癖が健在……
感想
非常に名残惜しい最後でした。
インターン発表実況スレッドでも、部署のチャンネルでもたくさん反応いただけて嬉しかったです!
インターンを終えて
所感
抽象度の高い課題を与えていただいたことで改善の余地や工夫の余地があり、考えながら楽しく作業を進めることができました。
メンターさんからいただく情報もかゆいところに手が届く情報が多く、言い過ぎないけど言わなすぎない大変ありがたい手助けをしてくださいました。
私はアルバイトという立場で既に居る人間だったため、アルバイトで得た知見を活かしつつも、さらにこれまでSlackでよく見る社員さんだった方との交流が増えたりと、環境面でも業務面でも充実した新鮮な5日間となりました。
ピクシブに対して改めて客観視でき、アルバイトでの日々とは違う気づきや知見を得ることができました。
感情面の感想
ピクシブでのお仕事は、得意なことを活かせて、好きなものを享受できて、誰かの役にも立てて…………そんないい場所あります?
お仕事する時の心理的安全性の高さが半端じゃないです。
今回の選考インターンを通して人生計画を見直してこなきゃいけないと思うほどでした……
会社を知る上で就業型インターンほどよいものはないと改めて感じています。
見つかった課題
- エンジニア視点以外の視点の不足
- 意見交換会の場で初めて認識の齟齬に気づくなど……
- 技術力不足(特にテストや静的解析のための型に関して)
- 見積もりとタスクの優先順位をはっきり付けずに作業する癖
できるようになったこと
- 個人で考えた理想的な案にとどまらず、需要と過去と利用者を踏まえた現状の最適解を選択できた
- 課題を共有する時に聞かれそうなことに対して事前に下調べができた
- 1on1で報連相した後、次に何をするかを明確にしてから作業に戻ることができた
終わり
「(ご縁があれば)4次選考も頑張るぞい」って気持ちです。
選考インターン期間中は大学の全講義に対して事前に欠席連絡を入れての平日参加だったため、お仕事終えてから授業の資料読んだり課題提出したりしつつ、さらに他社の面接準備などもあり怒号の5日間でしたが、とても有意義で充実した楽しい5日間になりました。
おわり