株式会社Blankrではクリエイターが自身の望む活動に注力できるよう支援する推し活動プラットフォーム「ライドリ」を提供しています。
サービスサイト:https://rideo.jp/
今回は弊社でフルスタックエンジニアとして活躍されている諏訪さんにお話しを伺いました。
ー業務内容について教えてください!
諏訪:私は実装方針を立てる技術顧問的な立ち位置をやらせていただいています。開発を担当することもありますが、現在はレビューなどを主に行っています。難易度の高い要件があったときにPOC的な先行実装などを通じてメンバーの技術力の底上げを担うような役割をやっていますね。
ーBlankrの魅力は何ですか?
諏訪:技術的な観点からみると、Blankrが提供しているサービスは挑戦のしがいがあるサービスだと思います。
ライドリという1対1の通話サービスを提供しているため、クライアント間のリアルタイム通信が必要です。かつ音声や動画だけでなくユーザーのイベントなどをリアルタイムに扱う必要があります。そこがよくあるウェブサービスとは違う技術が必要で、リアルタイム通信でいかに安全に効率的に処理できるか、というのが求められていると思いますね。技術的に一歩踏み込んだものが求められるサービスであるっていうところが魅力的に思っている部分ですね。
また技術面以外でいうと、Blankrはライドリの運営としてファンと配信者の両方と近い位置でサポートを行っているので、新しい機能を出したときのフィードバックがもらいやすい環境だと思います。
作ったもののフィードバックをすぐにもらえて、それをまたすぐに次に活かせることでPDCAのサイクルを早く回せるということは作り手としての魅力的な部分だと思いますね。
ー4年間Blankrにいる中で良くなった点はありますか?
諏訪:まず、プロダクトとしては確実に進化していますね。最初はシンプルな1対1の通話だけができるサービスだったのが、プレゼントが渡せるようになったり、配信者側でファンのメモが書けたりTwitterのタイムラインが見れたり、ファンクラブ機能がリリースされたりなど使いやすく進化していっているように思います。
開発体制としては、最初は作るものだけ決めて後は各々で開発を進めていたのが去年の年末から合宿などを通して変わっていった印象です。
一部スクラムの考え方を取り込み始めて各々で動いているというよりは協業するような開発体制に変わってきたと思いますね。
ー技術スタックの選定にも関わられていたようですが、今の技術スタックやアーキテクチャを選定した理由はなんですか?
諏訪:初期は初学者の開発メンバー、プログラミングの基礎的な知識はあるけれどプロダクトづくりの経験があまりないという人たちが多いチームでした。ドメインモデリングをしてもらいながらモデルの境界や依存関係、振る舞いの責任範囲等のSOLID原則をしっかり考えてもらいながら実装してもらうためにCleanArchitectureを採用しました。
また、最初は通信のインターフェースにはシンプルなRESTful APIを使って作っていたんですけど、途中からGraphQLに全面移行しました。最初はシンプルな1on1通話アプリケーションとしての提供だったのが、クリエイターに向けた便利な機能を追加したり、ファンの方の推し活動を後押しするような機能を追加した結果、推し活プラットフォームという形に変わってきて機能が複雑化していったんですよね。1画面が依存するデータ構造がかなり多岐に渡るように変化しRESTful APIだとフロントエンドでの型の扱いや通信のオーバーヘッドがきになるようになってきました。その両面を解決するためにGraphQLを採用しました。
ー設計・実装の過程で大切にしている部分は何ですか?
諏訪:特に設計ですね。設計さえちゃんとしていれば実装は後からいくらでも変えようがあり、反対に設計がだめだと実装設計を変えるには全部直す必要が出てくるので何よりも設計が大事だと思っていますね。
ー設計は大事ですよね。設計力を上げるためにはやっぱり経験して改善していくのが一番の近道ですか?
諏訪:そうですね、それが一番近道ですかね。体系的に本を出していたり技術テックブログみたいなもので言語化している人もいるけれど、やっぱり読むだけだとそうしないといけない課題が完全に身について覚えられるわけではないと思います。
実際に自分が同じ問題にあたった際に、初めてその内容が真に理解できたみたいなこともあるので、経験は大事ですね。
ーエンジニアとしてスキルアップを行うために意識していることはありますか?
諏訪:自分はあまり縛られすぎないようにすることを意識しています。同じことを繰り返すのが辛いと感じるタイプなので、新しい言語や、同じ言語だとしても実装方針や設計思想などが異なる環境で挑戦することが重要だと感じています。パフォーマンス面やセキュリティーなどは個人開発では学びにくいので、企業で実際に運用されている本番環境を触ることが僕的には大事かなと思っていますね。
ー最後にBlankrにおススメできる人はどんな人ですか?
諏訪:技術的な視点でいうと、能動的に動ける人にお勧めだと思っています。スタートアップは限られたリソースの中で事業をやっているので会社側が成長機会作ってあげるのは結構難しいかなと思っています。
反対にこういった環境だからこそ転がっているけれど手がつけられていない課題がたくさんあるのではないかと思いますね。アプリケーションの開発がメインだと思いますが、セキュリティー周りや負荷周りがどうなっているかなど、能動的に課題を発見して進められる人は自分の成長機会と繋げることができると思います。
個々の裁量が大きいので自ら課題を発見して実行できる人にとっては成長していける環境が整っていると思いますね。
株式会社Blankrではフルスタックエンジニアをはじめ様々な職種を募集中です。
興味のある方は下記のURLよりご応募お待ちしております!