2018年4月にミクシィグループに入社して1年。社会人としても成長を始めた新卒入社スタッフの軌跡を、シリーズでお伝えしていきます。どんな経験を積み重ね、この1年を歩んできたのか。そして、その先に見えてきた夢や目標は?リアルな“1年目”の声をお届けします。
今回は、ライブエクスペリエンス事業本部 LX開発室のエンジニア・栗原。彼は高校・大学時代からプログラミングの大会やスマホアプリの開発に挑み、プログラミングの面白さにのめり込んできたそうです。希望とは異なる部署に配属となった栗原でしたが、この1年で大きなレベルアップを実感しているとのこと。彼が歩んできた濃密な1年について語ってもらいました。
━━━━まず初めに。栗原さんとプログラミングとの出会いについて教えてください。
高校2年の頃、「情報オリンピック」という数理情報科学の問題解決能力を競う大会に参加したのがきっかけです。数学のような問題が出されて、それを短い時間で速いプログラムが書けると得点がもらえるという大会ですね。オリンピックに出られるなんてカッコいいという気持ちもあったし、情報オリンピックでの入賞が推薦条件になっている大学もあったので、気軽なノリで参加してみました。
━━━━結果はどうだったんですか?
ボロボロに負けました(笑)。でもプログラミングの面白さに気づいて、ハマっていったんですよね。そこから、独学でAndroidのアプリ開発を始めました。
━━━━どんなアプリを?
2012年にリリースしたのは、恵方巻を食べるときに使うアプリです。もともと自分が恵方巻を食べるときに方位磁石を探し出してくるのが面倒くさいなという思いがあったので、そんなアプリがあったらいいんじゃないか、というアイデアで作りました。自分の位置を踏まえて、恵方はどこかを教えるというシンプルなアプリだったのですが、1万5000ダウンロードを突破しました。
━━━━1万5000ダウンロード!すごいですね。
アプリ開発って簡単じゃん、と調子に乗りましたね(笑)。結局、リリースしなかったアプリも含め、3本くらい開発しました。
その後、パソコン甲子園に参加したんです。パソコン甲子園というのは、プログラミング能力をはじめ、情報処理技術におけるアイデアや表現力等を競い合う大会です。その大会で僕は、プログラミング部門に参加しました。情報オリンピックの比ではないほど参加者が多く、予選は何百チームで本選は30チームほど。先生にも「勝ち残るのは厳しいぞ」と言われていたのですが、なんと本選まで上りつめることができたんです。この経験が自信につながり、大学は情報系の学部を専攻しました。
━━━━大学ではどんな活動を?
大学では、情報科学部・情報科学科を専攻し、画像処理などをテーマに研究していました。他にも、MSP(Microsoft Student Partners)というマイクロソフトが主催する学生コミュニティーにも所属し、Microsoft Azureというクラウドサービスを使ったWebサイト公開の勉強会などを開いていました。ハッカソン大会を運営することもありましたね。
━━━━課外活動にも力を入れていたんですね。栗原さんはインターンも経験していたのですか?
はい。医療系サービスを展開する企業でインターンをしていました。Androidアプリ開発に使う言語「Kotlin」の知識に長けたエンジニアの方が活躍されていたので、近くで働きながら学びたい、と。でも実は、ミクシィのインターン選考も受けていたんですよ。落ちちゃったんですけど(苦笑)。
━━━━そうだったんですか!
大学の研究室の先輩が、ミクシィのインターンを経験されていて、「すごく良かった」と言っていたので興味を持ちました。また、Androidカンファレンスである「DroidKaigi」に参加したときに、「家族アルバム みてね」のエンジニアの方と出会い、社風や開発の仕方を伺って、面白そうだな、と。ミクシィはインターン期間中にも住宅補助が出るので、地方出身の学生としてはその点も魅力でしたね。
━━━━なるほど。就活はどうでした?
僕は世の中にどれだけ貢献できるかということに興味を持っていたので、「みんなに使ってもらえて、喜ばれるサービス」という軸に置いて、就活をしていました。
━━━━そこでもう一度、ミクシィにチャレンジした理由は?
課外活動やインターンを通じて、自分的にもレベルアップしたのを実感していましたし、ミクシィが展開するサービスが面白そうだったから。特に「みてね」は、色々な人から感謝されるサービスだと思っていました。赤ちゃんを育てている世代をはじめ、おじいちゃんやおばあちゃんからも喜ばれていますよね。
僕はスマホでゲーム以外の可能性を導き出したかったんです。周りはみんな、スマホをゲーム機として使っているようなイメージがあったから。そんなことを思っていたときに出会った「みてね」というサービスは特に輝いて見えました。ミクシィで働くことで、「みてね」の開発方法や、どうやってお客様の意見をサービスに反映しているのかなどを吸収していきたいと思っていました。
━━━━そして、無事内定、と。
そうですね。ありがたいことに、内定をいただけました。その後は配属先を決めるため、「みてね」や「minimo」など、さまざまな事業部の方々と面接をしました。「みてね」を志望していましたが、配属先はライブエクスペリエンス事業本部。希望とは違う部署のサーバサイドエンジニアとして配属が決定し、当時はショックでしたね…。
━━━━そうですよね…。
大学時代にアプリ開発と画像処理を手掛けおり、サーバサイドの経験はありませんでした。そういった未経験の仕事にも若干戸惑いましたね。でも分からないことを調べたりするのは、学生時代から独学で経験してきていたので、苦ではありませんでした。知識の豊富な先輩もいましたし。
━━━━ライブエクスペリエンス事業本部とは、どんな部署ですか。
ライブエクスペリエンス事業本部は、「家族や友達同士が集まって盛り上がる体験ができる場所の提供」をコンセプトにしている部署です。さらに言えば、集まっていただいた方の間でのコミュニケーションが生まれる仕組みを作っていく、ということも目的にしています。
━━━━具体的には、どんな仕事を?
2018年6月30日・7月1日に幕張メッセで、ゲーム・音楽・スポーツなどが融合したLIVEイベント「XFLAG PARK2018」の開催に向け、システム面のサポートを手掛けました。その一つが、チケットの購入・抽選応募ができる「XFLAG TICKET」の運営です。入社後、5~6月はこのチケットサイトの簡単な機能追加などを行なっていました。
━━━━その後はどんな仕事をしていたんですか?
「XFLAG PARK2018」では、「モンスターストライク(以下モンスト)」のキャラクターとおしゃべりできる「モンストーク」というステージの運営に携わっていました。「モンストーク」というのは、モンストのキャラクターをVtuber化させて、おしゃべりができたり、モンストのクイズを出すステージ。その後、キャラクターと会場のお客様との写真を撮影します。
6月以降は、その記念写真を配布するためのビーコンを利用したシステムの開発・運用を手掛けました。写真をダウンロードできるのはイベントでの告知から1時間。社内用の管理画面にも、時間制限で画像が送れるエンドポイントを追加しました。また、会場のみなさんが記念写真をダウンロードできるように、リアルタイムで画像をサーバ上にアップロードするのも僕の仕事でした。
━━━━「モンストーク」の公演は一日4回くらいありましたよね。
そうです。2日合わせて8回ほど、画像をアップしました。これがとても大変な仕事で。なぜなら、画像が送られてきてから、画像ダウンロードの告知までの時間はわずか5分程度。画像が大きいのでリサイズしないといけないですし、迅速にアップロードしないといけない。画像がダウンロードできなかったら、お客様にご迷惑を掛けてしまうので、とても神経を使いました。
━━━━実際にイベントを終えてみて、どうでしたか。
サーバサイドの開発は初めての経験だったので、結構パワーを使ったなという印象です。でも無事に会場のお客様に画像を届けることができましたし、失敗一つなく終えることができたので、思い出深い仕事ではありますね。
━━━━「XFLAG PARK2018」が終わって、ひと段落してからは、どんな仕事を?
サーバサイドのコードを書いていたのですが、11月くらいから、リトルプラネットとXFLAGによる体験型知育デジタルテーマパーク「リトルプラネット × エックスフラッグ」や、モンストの決勝大会「モンスターストライク プロフェッショナルズ2018 トーナメントツアー」など、さまざまなイベントが始まるということで、その前に「XFLAG TICKET」のシステムリプレースを実施することにしたんです。
もともと拡張性がない作りになっていたので、拡張性のある作りにイチから作り直しました。そこでインフラに挑戦したいです、と手を挙げたんです。
━━━━インフラ開発を?
もともとインフラにも興味がありましたし、開発体制を踏まえてもインフラを担当する人がいたほうが、プロジェクト全体のスピードを落とさずいけるのではないかと思ったからです。
僕は「経験したことがないからできません」ではなく、経験したことのない分野でも勉強して、できるようにしてみせる、というスタンスを大切にしています。インフラ未経験だけど、未経験というのは“やらない理由”にはならないと思ったんですよ。
━━━━チャレンジングですね。具体的にはどんな仕事を?
過去に一回、部署で利用経験があったオープンソースのプラットフォーム「Kubernetes(クーベルネイテス)」(K8s)の導入。CI/CDの構築を行ったことで今まで手動でのデプロイをgithub経由での自動化にしました。
━━━━「Kubernetes」というのはどういう技術なんですか。
Container Orchestration Systemの1つです。アプリケーションをコンテナで管理することができスケールが容易にできます。僕の部署では開発環境もコンテナで管理しています。開発環境に近い状況で本番環境を作ることができるので、開発環境と本番環境の差異を極力減らすことができるんです。また、インフラの環境がコードで指示できるので効率もいいですし、負荷分散もしやすいということで、将来的なチケットサイトの拡大を見込んで、「Kubernetes」を導入することになりました。
━━━━導入するにあたり、大変だったことは?
「Kubernetes」はトレンドの技術。数年後、主流になる技術だと僕は思っています。学習コストは高いですが、今後に活かすことができるという判断で、導入が決まりました。しかしまだまだ日本で導入している企業は少なく、情報を仕入れようにも英語のサイトしかありませんでした。社内には過去に「Kubernetes」を使ったことのあるエンジニアがいるので、色々と相談したいと思っていましたが、とにかく全てが分からず…。何が分からないのか分からない状態でした。
━━━━どうやって乗り越えたんですか。
3週間、学ぶ期間をもらって、英語のドキュメントはもちろん、Webで調べられる情報は洗いざらい調べました。それを続けていると、唐突に来るんですよ。「分かった!」という瞬間が。自分の変化として、仕事を通じて積極的になれるようになった、と実感しています。今ちょっとは貪欲になれているのかなと思います。
━━━━なぜそんなに積極的になれたんでしょう?
今の部署で働いてみて衝撃的だったのは、「人のせいにはしない」という文化。一人のエンジニアに責任を負わせるのではなく、必ずチームとして機能させるという姿勢があります。ミスが起きた過程にはソースコードレビューがあるはずだから、個人のせいではなくて、レビューを見逃してしまったチーム全体としての責任がある、という考え方があります。
━━━━その考え方が根付いていると、安心して仕事ができますよね。
そうなんです。チームを信頼しながら、「僕はこれをやりたい」と手を挙げられる。つまり心理的安全性が担保された環境だから、大胆にチャレンジできるし、分からないことを分からないと言える。エンジニアとしての技術力が磨かれただけでなく、挑戦することへのハードルも下がった。それも良かったですね。
僕の信念として、「言語はあくまで手段であって、目的ではない」というものがあります。インフラに挑戦するときも、未経験ではありましたが強い抵抗はありませんでした。貴重な経験が積める良い機会、という気持ちで取り組めました。そのとき、チームを信頼できるというところはありました。そういうところは、社の雰囲気とか、いい会社だなと強く思いました。
━━━━チームから任されるって、嬉しいですよね。
嬉しいです。もし失敗してもフォローしてくれる関係性があるから、安心して挑戦できたと思います。
━━━━自分の成長を実感する瞬間ってありますか?
最近は、DB設計などについて先輩と同じ目線で話せるようになったのは、大きな成長かと思います。以前はついていけてないな、という実感がありましたが、今では自分から設計内容の提案もできるようになりましたし、先輩が言っていることも理解できるようになりました。
━━━━サーバサイドの理解が深まったんですね。もともとアプリ開発をしたいという希望で入社されましたが、その辺についてはどう思っていますか?
学生の頃に持っていたアプリへの熱量は、今はもうないのかもしれません。学生の頃は、インフラやサーバサイドというのは面白くない、ユーザーからのフィードバックがあったほうが面白いと思っていたのですが、実際にサーバサイドやインフラ開発を経験してみると、新たな面白さを見つけることができました。
━━━━そうなんですね。どの辺が面白いですか?
たくさんのユーザーがアクセスしても、サービスを止めないで継続させていくための仕組みや、DBに負荷を掛けない効率の良いコードの検討など、結構面白いですよ。「ある程度トラフィックが来ても、絶対にさばけるという設計にしているから、このサイトが止まるわけない」と想像しながら作るのは楽しいですから。
━━━━実際にインフラ開発を経験してみて良かったと思いますか?
はい、良かったです。他事業部のエンジニアと話していても、内容を理解できるようになりましたし、サービス毎のシステム面のすごさにも気付けたのは、大きな収穫になりました。
サーバサイドとインフラの構築を経験したことで、自信になりました。チケットサイトのインフラ担当と言えば僕。チーム内で自分の立ち位置を見つけ、チームに貢献できるようになったのも、この経験があったからだと思います。
━━━━現在の課題は?
「コードを早く書けるようになる」と、「設計力を付ける」ですね。今はコードを書くスピードが遅いのが課題です。昨日の自分より成長しているか、という目線で成長していきたいと思っていますが、先輩はやっぱりものすごく速い。先輩のスピードに付いていけるようになりたいですね。
先輩のようになるためには、量をこなしていくしかないと思っています。実は手が止まっているのは、設計が上手くいってないから。設計さえ上手くできていれば、あとはコードを打つだけ。なので、設計の経験は圧倒的に不足していると思います。また現在は与えられたタスク消化に精一杯なので、もっと自ら課題を見つけて取り組むというステージに立たないといけないと思っています。
━━━━今後挑戦してみたいことがあれば、教えてください。
ライブエクスペリエンス事業本部は、アプリからサーバサイド、インフラ、IoTまで、一通り開発に関われるチャンスがある面白い部署です。2年目の目標は、チケットサイトで利用している入場筐体のIoT開発に取り組んでいきたいと思っています。
– – – – – – – – – ※※※ - – – – – – – – –
■ pick up! ■
【「自分ならではの武器を持った、エンジニアになりたい」~新卒1年目 成長の軌跡~#11】
【ユーザーに近い開発が、僕を成長させてくれている。 ~新卒1年目の成長の軌跡~ #1】