マッチングアプリの開発インターンを経て

皆さんはじめまして!

私は、四年生の初めから終わりまでの約一年間、株式会社キネカでWebエンジニアとしてインターンをしていました。

一年間キネカでエンジニアとして働き、たくさんの学びがありました。今回、ぜひ皆様に私がインターンを通して学んだことをシェアしたいと思い、本記事を執筆しました。

株式会社キネカについて

まず最初に、私がインターンをしていたキネカについて簡単な紹介をさせて下さい。

キネカは、業界シェアNO.1のエンタメマッチングアプリ「pato」を運営している会社です。エンタメマッチングアプリって、普通のマッチングアプリとどこが違うの?と思われている方もいると思います。簡単に説明すると、前者には「ゲスト(サービスの提供を受けるユーザー)」と、「キャスト(サービスの提供を行うユーザー)」の二種類のユーザーが存在します。ゲストが高いエンタメスキルを持ったキャストと出会い、ゲストはキャストから受けたサービスへの対価を払います。この点が、普通のマッチングアプリと異なる点です。patoについて詳しく知りたい方は、こちらからご覧ください。

私は、patoの開発をインターンとして、一年間携わらせて頂きました。

キネカでのインターンでたくさんのことを学ばせて頂きました。ここでは、その中でも三つ、私に大きな影響を与えてくれた体験を紹介しようと思います。

事業目線を持て

私が、インターンを初めてすぐの頃はかなり、エンジニアとして未熟なところが多かったように感じます。プログラミングの実務経験が無かったので、チーム開発をする上での基本中の基本であるGitすらまともに使え無かったり、開発環境の構築で手こずったり。本当にここでエンジニアとしてやっていけるのか、不安が募りました。

分からないことがあっても、先輩方にこんな初歩的なことを聞いたら、迷惑に思われてしまうのではないかと躊躇してしまいました。そのため、初めて任せてもらった仕事を終わらせるのにかなりの時間がかかりました。

そのような私の態度を見た先輩から、私が事業目線を持てていないとの指摘を受けました。先輩のこの指摘はたしかに的を得ていることに気がつきました。私は先輩方の時間を奪いたくないと考え、わからないことがあっても自分の力だけで解決しようと必死になっていました。しかし、先輩方に迷惑をかけまいという考えは、私が恥をかきたくないという思いと表裏一体であり、驚くほど自分本位な考えであったことに気がつきました。

今の私の判断が、事業の成長に焦点を当てて選んだものなのか、はたまた自己利益のために選んだものなのか。事業目線を持つとういうことが、それからの私の大きな課題になりました。

賞賛する文化

キネカには、社員全員に奨励されているマインドセットがいくつかあります。そのうちの一つに「お祭りとカオスを楽しむ」というものがあります。私はインターンでの初めての実装を終えたときに、このお祭りとカオスを味わいました。私が追加した機能がリリースされると、どこからともなく拍手が聞こえ、それが徐々に周りの社員へと波及し、やがてはオフィス全体から拍手喝采を受けました。大袈裟に聞こえるかもしれませんが、本当にオフィスにいる全ての人から喝采を受けました笑

このようにキネカでは、何かを達成した人には惜しみなく賞賛を送ろうという文化が根付いています。社員の士気を高め、みんなが気持ちよく働けるようにしようという思いから、このような文化が生まれているのではないかと思います。

「いい会社にはいい文化がある」

オフィスで何回も言われている言葉です。文化を構成する最小単位は言葉であるという考えから、キネカでは社員がネガティブな言葉を使わないというルールがあります。一人の社員が発したネガティブな発言は、時間を経て社内全体へと波及していき、会社全体に悪影響を及びます。

同じように、ポジティブな言葉を使うと、会社全体に良い影響を与えることができると思います。私が初めて機能をリリースしたときのように、社内の誰か一人が拍手をすると、それは社内全体へと広がり、賞賛された人は継続して努力をし、賞賛されたい人はもっと大きな努力をしようとするからです。

いい会社にはいい文化があり、文化を構成する最小単位は言葉である。

この言葉は、これからの私の社会人人生でずっと大事に持っておきたい言葉です。

エンジニアは最後のガーディアン

私がインターンを始めて半年ほどたった頃、チーム開発にもかなり慣れ、以前よりも手際よく実装ができるようになってきました。インターンを始める前よりも、技術力が向上した実感がありました。

私の成長を見てくれていた先輩が、これまでよりも難易度の高い実装を任せてくれました。それまで私が任せれていた実装は、既にある機能の修正、簡単な機能の追加であり、しかもそれらは社内の管理者しか触れることのない機能でした。しかし、今回の実装は多くのアプリユーザーの方に使っていただける箇所であり、なおかつ全く新しい機能なのでこれまでよりも実装の規模も責任も大きいものでした。

当初、一か月ほどでリリースできると見積もっていましたが、実際はリリースまで二か月とかなり遅れてしまいました。

リリースまでにこれほど時間がかかってしまった原因は二つあると分析しました。

まず、私のエンジニアとしての技術力が低かったこと。

次に、ビジネスサイド・デザイナーとの連携がうまくとれていなかったこと。

既にある機能の改良とは違い、新しい機能の開発はソースコード上に参考にできるコードがある訳では無いので、フレームワークをしっかりと理解する必要がありました。この学習コストが大きく、実装に時間が掛かってしまいました。

私が実装をしている間に、実装当初に予定されていた要件・デザインに磨きがかけられていました。しかし、実装中の私はそれに気がつかず、完成してから新しい要件・デザインに合うように差し戻しで実装を行なったため、さらに時間が掛かってしまいました。

私は、実装が長引いてしまった要因のうち、前者の責任は私に、後者はチームのシステムに責任があると考えました。機能の要件・デザインに変更があった場合は、それがエンジニアにわかりやすく伝わるような仕組みを作る必要があると考えました。このことを上司に相談したところ、確かにチームのシステムに問題が無いとは言えないが、一番の責任は当事者意識を持っていない私にあると指摘されました。

仕様の継続的な改良は、プロダクトの成長に必要不可欠だと思います。私は、新機能の開発に長い期間を費やしていました。その間に仕様・デザインの改良が行われていることは十分に予測できることでした。そこに思慮が及ばなかったのは、「指示されたものをただ実装すればいい」と考えていた私の責任感の無さが招いたことです。

エンジニアは最後のガーディアンであるべき。

私の上司が教えてくれた言葉です。仕様・デザインの不備、違和感に最後に気付き、修正を加えられるのはエンジニアだけです。エンジニアはただ機能を実装するだけの仕事ではありません。機能がリリースされる前に、その安全性と妥当性の最終チェックを行う責務を負っています。「エンジニアは最後のガーディアン」。その後は常にこのことを意識しながら仕事をしました。

最後に

キネカでの一年間のインターンで、技術的なことはもちろん、働いている社員の考えに触れ、仕事への向き合い方など多くの大切なことを学びました。

ここでの仕事を通して、私はエンジニアとしての仕事が好きだという確信を得られました。社会人になる前にエンジニアになるという覚悟を決めることができました。

キネカを去るときに、先輩から「著者の内定先で、入社前に一番技術力がある人に育てるという思いで接していた」と言われました。そのとき感じたことを決して忘れないように、一流のエンジニアになってまた皆さんにお会いすることが、私の新たな目標となりました。

一年間、本当にお世話になりました。

この記事が気に入ったらサポートをしてみませんか?