【業務紹介】技術を愛し、品質にこだわる。Belugaキャンペーンの新機能開発に密着

2026.07.28

ユニークビジョンが提供するシステムやサービスは、多くの大手企業のSNSマーケティングを支え、日々多くのエンドユーザーに利用されています。その信頼性を支えているのは、エンジニア一人ひとりの高い技術力と、妥協のない品質へのこだわりです。

今回は、新卒2年目のエンジニア北村さんに密着し、「Belugaキャンペーン forTikTokの新機能開発プロジェクト」を例に、キックオフからリリース判定までのプロセスをご紹介します。業務の裏側にある技術への情熱とリアルな開発の現場をお届けします。

どのようにサービスを生み出すのか?「機能開発」と「案件構築」

開発プロセスを紐解く前に、まず知っていただきたい前提があります。ユニークビジョンには、大きく分けて「機能開発」と「案件構築」という2つの起案ルートが存在します。

1.機能開発:クライアントからの要望や社内のエンジニアやディレクターが起点となり「プロダクトをより良くするために、このプラットフォームの新機能に対応しよう」「将来のためにシステムの基盤を強化しよう」と、長期的な視点でサービスを成長させるための開発。

2.案件構築:クライアントの「こういうキャンペーンをやりたい」「こんなマーケティング課題を解決したい」という具体的なニーズを受け、特定のキャンペーンを唯一無二のブランド体験に昇華するためのカスタム開発。

今回の機能開発は、まさにこの両方が交差する場所から生まれました。クライアントからの具体的なニーズ(案件)を想定しつつ、TikTokというプラットフォームの可能性を広げるための共通機能(開発)として、ディレクターとエンジニアが一体となってプロジェクトを推進します。

キックオフ・要件定義:ユーザー目線で「なぜ?」を突き詰める

プロジェクトは、プロジェクトリーダー(PL)、テックリード(TL)、担当エンジニアの3名による目線合わせからスタートし、まずは大まかな開発工数やタスクの優先順位・開発の方針などを決めていきます。 今回は、TikToikのキャンペーンに使う新機能「DMでの画像返信・配信」「ボタン付きテンプレートメッセージ投稿」の2つのissueを同時進行で開発することになりました。

大まかな概要とかかる時間を出したのち、キャンペーンディレクター職のメンバーと細かい要件をすり合わせます。お客様と直接やり取りをしているディレクターは、お客様の要望をシステムの要件としてまとめ、エンジニアと一緒に良いプロダクトを作るための架け橋となってくれます。そんなディレクターからのニーズに対し、エンジニアは「なぜその機能が必要なのか?」を考え、認識をすり合わせます。

ーー北村さんに質問:要件定義で重視している点やこだわりはありますか?

北村さん:単に言われた仕様をそのまま形にする作業にしないことですかね。要件定義では「今ある機能と組み合わせれば、より効果的な機能として活用できそう」のような提案や期日までにどこまで実装可能か、どんなリスクがあるかなど、様々な観点から技術的に考察する必要があります。中でも私が特に意識しているのは、ユーザーの使いやすさ(UX)です。すでに他プラットフォームで似た機能がある場合は、この段階からユーザーが迷わないよう仕様を統一する、直感的に分かりやすい画面構成にするなど、ディレクターさんと話し合って決めていきます。

設計レビュー:もしもを徹底的に潰す第三者の視点

要件が固まると、具体的なシステム設計へと進みます。ユニークビジョンでは、設計段階から二重のチェック体制を敷いています。

1.基本設計レビュー
まずは案件開始までに何を優先的に行うべきかを整理します。設計レビューでは自チームのPLとTL、さらに他チームのTLやシニアエンジニアから選抜された品質レビューメンバーが2名程度同席します。ここではプラットフォームの仕様に沿っているかどうかのほかに、これから行う開発の方針として致命的な抜け漏れがないか、このまま詳細設計に移行して問題がないかという観点で「こんな場合どうする?」「そうならないためにどうしたらいい?」という、徹底的な例外系のディスカッションが交わされます。

2. 詳細設計レビュー
基本設計がしっかりとできれば、次は詳細設計を行います。詳細設計のレビューも基本設計のレビュー同様、 プラットフォームの仕様に合わせられているかはもちろん、第三者のシビアな視点から、想定されるケースに漏れがないかを確認します。

●エラーが発生した時、ログはどこまで残るか?(障害時に原因を突き止め切れるか)
大きなファイルをアップロードした時、挙動や負荷はどうなるか?
●自分自身での技術検証(プロトタイプ作成など)の裏付けは取れているか?

ーー北村さんに質問:設計レビューの際、ユニークビジョンならではのレビューの文化はありますか?

北村さん:働いて強く感じるのは、全ての設計に「なぜそうしたのか」、つまり意図が求められるということです。例えばログの有無一つをとっても意味を持たせる。経験年数に関わらず「なんとなく」を許さないレビュー体制が、起こりうる障害を未然に防いでいるんだなと感じます。

開発・コードレビュー:2週間で60回!ルーレットが育む学びの文化

設計レビューを通過したのちは、いよいよ実装フェーズです。今回は途中で先輩社員も合流し、2人体制でスケジュールを調整しながら期日通りに開発が進むようスケジュールを調整しました。ユニークビジョンでは、コードに変更を加える場合は必ずコードレビューが必要です。驚くべきことに、今回の約2週間の開発期間中で行われたコードレビューは合計60回にのぼりました。

実はこのレビューの仕組みにも、ユニークビジョンならではの面白い工夫があります。自チームのメンバーからランダムに選ばれる「ルーレットレビュー」という制度です。 基本はGitHubを通じた非同期でのレビューですが、必要に応じて顔を合わせて同期的に行うこともあります。
こうしたレビューも単なる検証ではなくコミュニケーションや学びの一環として行うことで組織全体での技術力の向上を図っているのです。

ーー北村さんに質問: ルーレットビュー、実際にやってみてどうですか?

北村さん:先輩のコードをレビューすることも多いのでとても勉強になります。内容をきちんと知って理解していないとできないですし、なぜこのコードが良いのか/悪いのかを言語化する力もつきます。優秀なメンバーが集まっているからこそ成り立つ独自の制度だと思います。

ーー北村さんに質問: コードレビューはすべてルーレット形式なのでしょうか?

いえ、もちろん場面によっては開発者がレビュイーを指定するタイプのものもあります。ワークフローでレビュー依頼を送るのですが、その際に「この修正はシステムの深い知識が必要だから詳しい人に投げよう」「この件はすでに口頭で説明しているからこの人に投げよう」みたいな感じで、場面によって使い分けています。私の体感としては半々くらいですかね。

リリース判定:手順書に沿った、厳格な審査

開発とテストを終え、いよいよリリース判定を迎えます。ここにはPLだけでなく、品質レビューメンバーも同席。用意された「リリース手順書」に沿って、本当にリリースできる状態になっているかどうかを一項目ずつ厳格に判断します。
すべてのプロセスにおいて議論を尽くし、全員が納得した状態でなければ、プロダクトが世に出ることはありません。この厳格さこそが、複雑なキャンペーンシステムを安全に実施するためのインフラとしてお客様からの信頼性を支えています。

開発を終えて:どの分野にも「詳しい誰か」がいる、心強さ

ユニークビジョンの開発環境は、若手のエンジニアにとって圧倒的な速度でプロフェッショナルとしての地力をつけられる場所です。入社直後から、ただ言われたコードを書くのではなく「例外系への配慮」「チームを巻き込んだコードレビュー」「ユーザー目線のUI/UX提案」といった、ハイレベルなチーム開発を日常的に経験できます。

ーー北村さんに質問: 2つのissueの同時進行での開発、お疲れ様でした。北村さんにとって、ユニークビジョンのエンジニア組織はどのようなものだと感じますか?

北村さん:ありがとうございます。そうですね、入社して改めて感じるのは「レベルの高いエンジニアが集まっているな」ということです。少し具体的にいうと、レビューの際の視点の鋭さはもちろんなのですが、どの技術分野であっても、必ず誰か一人はめちゃくちゃ詳しい人がいるんです。しかも、チームの垣根に関係なく、誰にでもいつでも質問できる関係性なのがとてもありがたいですね。
エンジニアだけでなく、複雑な要望もしっかりとシステムに落とし込むためにシステムの要件としてまとめてくれるディレクターさんやそのほかの社員の皆さんもすごく優秀な方が揃っているなと感じます。それぞれが強みを生かしながら一丸となって良いプロダクト作りに一緒に向かっていける。心強いなといつも感じています。

改めて北村さん、そして関わった社員の皆さん、新機能の開発お疲れ様でした。これからたくさんのお客様に使っていただけることを願っています。
今回開発した機能につきましてはこちらで詳しく紹介されています。

「なんとなく」ではなく、根拠のある設計を追求したい。優秀な先輩たちの刺激を受けながら成長したい。そんな向上心や探求心をお持ちのあなたと、一緒に開発できる日を楽しみにしています。

SHARE

「技術が好きだから、最適解を形にしたい」大規模負荷や新技術に挑み続けるテックリードの視点

2026.05.21

【プロフィール】矢光(yako)

2020年に新卒でユニークビジョンに入社。エンジニアとして「Beluga スタジオ」「Beluga Campaign for LINE」などの主力プロダクトの開発に携わり、数々の大規模案件を成功に導く。現在はテックリードとしてチームを牽引するほか、社外カンファレンスへの登壇など、技術発信にも積極的に取り組んでいる。

「プログラムが書けるようになりたい」から始まったキャリア

――矢光さんは学生時代、数学を専攻されていたそうですね。エンジニアを目指したきっかけは何だったのでしょうか?

大学は情報系でしたが、プログラミングをバリバリ書くよりも数学寄りの研究をしていました。仕事を探す段階になって「手に職をつけたい」「自分の手でプログラムを書けるようになりたい」という憧れから、エンジニアとして働くことを決意しました。
ユニークビジョンを知ったのはスカウトがきっかけでした。技術力の高さや自由度の高いカルチャーに惹かれ、一度話を聞いてみようと思いエントリーしました。最終的には面談で社員と話し、技術に対して真摯で、非常に雰囲気がいいなと感じたことが入社を決意した決め手になりました。

――入社直後は、慣れないWeb技術やリモート環境でのスタートで苦労もあったとか。

当時コロナ真っ只中で、入社4日目からフルリモートでの研修が始まりました。しかも、当時は今より研修制度が整っていない過渡期。入社してすぐに6冊の本を渡され「2週間後に内容について発表して」という課題が渡されました。講義やシステム構築実習の合間を縫って本を読み、プレゼンの準備を進めるという超特急のスケジュールでした(笑)。Web系の概念が全くわからず苦戦しましたが、メンターの先輩にサポートしてもらいながら必死に食らいつきました。

着実に確実に。努力で身につけた技術力と業務遂行力

――最初はどのような業務を任されたのでしょう。

研修後に「Belugaスタジオ」チームに配属となり、まず管理画面の簡単な改修を任されました。分からないことだらけだったのでコードベースを読んだり、ヘッダーの色を変えてみたりして実際に動かしながら技術要素の理解を進めていました。当時はまだまだ方針相談も開発も下手で、テックリードの遥さんにライブラリを使うべきと指摘されていたのですが、結局ライブラリを使わず実装し、それによりバグを埋め込んでしまったんです……。
この経験から、先輩方が技術的な根拠を一つひとつ丁寧に確認し、密度の高いフィードバックをくださるのはすべて品質への責任感からくるものなんだと学びました。あの時の経験が、今の自分のプロフェッショナルとしての土台になっています。

その後はシステム間連携が必要なログインサービス連携機能や、ライブラリバージョンアップなどを経験しました。一人で任される範囲が広がっていくと同時に、影響範囲が大きい開発においては特にチームのコミュニケーションが重要だと学びました。また、社外の知見を必要とすることも増え、コードと向き合いながらキャッチアップして取り組みました。どんな開発タスクが来ても時間をかけて調べれば取り組める、という自信がついたのがこの時期ですね。

――テックリードにはいつから?

入社してちょうど1年が経ったあたりでテックリード業務を任せていただくようになりました。この頃からより難しい開発が増えました。例えばXのトレンドデータを回数制限付きで帳票として出力できる機能や、投稿時の複数承認機能追加などですね。特に複数承認機能の追加開発は、Belugaスタジオがお客様から選ばれる主な理由にもなる重要な機能で既存のコードに横断的に手を入れる必要があったので苦労しました。このあたりから「手戻りの少ない安定した開発を行うためには設計時にどうしたらいいのか」という逆算を意識できるようになりました。

3年目にはBelugaキャンペーンの新機能開発に抜擢いただき、初めて0からプロダクト開発を行いました。開始時には不確定要素も多い状態でしたが、他社のサービスの仕組みを調査して綿密な詳細設計を作成して何とか形にすることができました。これまでは目の前の開発に熱中していましたが、このプロジェクトを一緒に進めた優秀なメンバーに感化されたこともあり、強いエンジニアとはなにか、自分はどうなっていきたいのかをこの頃から考えるようになりはじめました。

1秒に300アクセスという高い負荷に挑む

――現在、主力のサービスや機能の多くで矢光さんが開発に携わっていたとか。

ありがたいことに、実はそうなんです(笑)先ほどお話しした新機能も、のちに主力サービスのもととなりましたし、他にもweb認証機能やマイレージ機能など、お客様によく使っていただいている機能の開発に携わってきました。プロジェクト単位で言うと、新サービスとなるBelugaキャンペーン for TikTokの設計・開発に初期段階から携わりましたし、今はLINEキャンペーンのオンライン入稿管理システムをPLと二人三脚で立ち上げ、機能化を全力で進めているところです。

どんな開発も思い出深いのですが、特に痺れたのは、当時としては史上最大の負荷対策です。秒間100アクセスでも多いと言われる中で「1秒止まるだけで300人が離脱する」という緊張感です。どこにボトルネックがあるかを特定し、既存のアーキテクチャを変えずに、実装レベルでの細かなチューニングを積み重ねて最適化することで負荷を押さえました。普段、開始確認と呼ばれるキャンペーン開始直後のエラー監視はディレクターさんが行うのですが、この時はあまりに気になって僕も張り付いてみていました。インシデントなく無事にキャンペーンが動いた瞬間の安堵感と達成感は非常に大きかったです。ちなみに今、社内では秒間1000アクセスという負荷を想定した案件開発も行われています。今後もさらに高負荷なキャンペーンを安全稼働させられるよう、僕たちエンジニアが頑張らないとなと思っています。

――かなり順風満帆にキャリアを歩まれている印象ですが、逆にうまくいかなかったことはありますか?

入社2年目でBelugaキャンペーンの個別通知設定の開発を行った際「これで行けるだろう」と甘く見積もったタスクが気合ではどうにもならなくなり、多大な時間を費やしてしまいました。「慣れた時が一番危ない」というのは、今も自分への教訓として刻んでいます。それ以来、お客さんや他のメンバーに迷惑をかけないためにもタスクの見積もりは常に慎重に、悩んだ際は大きめに見積もるよう徹底しています。

――苦い経験もされたんですね。これまでのご経験の中で、特に印象に残っている仕事はありますか?

Belugaキャンペーン for LINE(BC4L)チームでの案件です。サンプルのマイレージ作成を、フロントエンド中心に進めました。当時LINEのキャンペーンはまだまだ機能が充実していない中で、2週間というタイトなスケジュールをスピード感を持ってやり遂げたことが印象に残っている理由です。短い期間での実装でしたが完成度をクライアントさんにもほめていただけたのも嬉しかったです。この時に築いた信頼関係が、のちの受注や今の良好な関係につながっているのではないかと、実は密かに思っています(笑)

テックリードになっても「書くこと」にこだわりたい

――現在はテックリードという立場ですが、マネジメントと開発のバランスはどう考えていますか?

正直に言えば、今も開発が大好きで、ずっとコードを書いていたいタイプです(笑)。テックリードは通常全体を円滑に進めるマネジメント要素も強いですが、自分が開発が好きというのを汲んでいただき、今も実装に携わることができています。同じ役割でもその人の個性や強みを理解して業務に反映していただけるので、そこは本当にありがたいですね。
最近では、エンジニアがいなくても運用が回るように入稿システムのUI/UXを改善したり、社内のコンポーネントライブラリを刷新したりと「いかに効率よく、誰でも簡単に設定できるか」という仕組みづくりに注力しています。

――これまでのお話から開発に対する熱意がすごく伝わってきました!そこまで熱意を注ぐ理由はあるのですか?

うーん……。小さい頃からプログラミングをしてたわけではないのですが、元々憧れはあったんです。手に職をつけたい、モノづくりに関わりたいという漠然とした憧れが、社会人になった今も自分の原動力になっているのかもしれません。実際、初めて新機能の開発を任されたとき、LLMがない時代だったのにLLMを使うようなスピードで開発を進める先輩の姿を見てものすごく格好いいなと感じたのを覚えています。今でも尊敬するエンジニアを聞かれた際には、その先輩が真っ先に思い浮かびます。

WGで取り組む、組織規模での品質向上と持続可能な開発の仕組みづくり

――開発プロジェクトだけでなく、社内のワーキンググループ(WG)にも積極的に参加されていますよね。

はい。僕自身は2021年1月ごろからWGに参加しています。最初に入ったのはプロジェクトマネジメントWGという、社内の開発フローの統一などを目指して活動していました。その後もコードレビュー、フロントエンド、バックエンド、AI開発など時代とともに目まぐるしく変わる技術課題に対して、様々な角度から解決策を模索しています。

中でも特に思い入れが強いのはコードレビューWGです。チーム内でルーレット形式でレビュワーが決まる制度や、レビュー量を可視化する仕組みなどを作り、全社的な開発品質の向上を目指してきました。一度は役目を終えてWGは解散したのですが、最近またレビューを強化しようとWGが立ち上がりました。今回は特に、生成AIを活用しながらも質の高いコードを作り続けるためのレビュー制度や組織の拡大に合わせて曖昧になっていたレビュー基準を今一度見直すところから動いていこうと考えています。

――矢光さんから見た、ユニークビジョンの開発組織はどんなものでしょうか?

ユニークビジョンの良さは「新しい技術を使いたい」というだけの提案ではなく「費用対効果があり、プロダクトを良くする」と判断されれば、新しい技術がフラットに採用されることにあります。先ほどのWGのように、現場が感じた課題をメンバーが様々な観点から会社に提案したり解決に向けて動いたりしているのも、その表れです。最近も、開発効率向上のためAPIのリプレースを提案しました。ユーザーへの直接的な価値がないため一般的には理解されにくいことだと思いますが、長期的な費用対効果を踏まえて採用されました。新しい流れになんとなく乗るのではなく、モノを見て判断する文化が、技術者としては非常に居心地が良いですね。

――昨年の年間表彰では技術賞を授賞されていましたね。

はい。昨年はありがたいことに技術賞に選んでいただきました。これまでお話しした社内ベースコンポーネントの刷新やCMSのUI構築など、フロントエンド領域を中心に「現場が本当に使いやすい仕組み」を模索してきた一連の取り組みを、賞という形で評価してもらえたことは大きな励みになりました。 

今後は社内だけではなく、社外にも誇れるエンジニアになりたいと考えています。最近ではVue Fes Japan 2025をはじめとしたカンファレンスでの登壇、テックブログの執筆など技術発信を行うことに注力しています。直近では、国内最大級のTypeScriptカンファレンスである「TSKaigi」に向けて、自分でプロポーザル(登壇提案)を書き、無事に採択されました。ノウハウのない中で手探りながらも検証して得た、開発しやすい環境づくりの知見を詰め込んだ内容なのですが、自分の意思で行動し、社外の技術コミュニティに評価してもらえたことは大きな自信になりました。 

過去に登壇したVue Fes Japanでの経験やテックブログの執筆も含め、こうした社外への発信を通してユニークビジョンの技術の面白さを知ってもらえると嬉しいです。また、こういった活動を社内にもどんどん還元していきたいです。自分が最前線で打席に立ち続けることで、会社の技術的プレゼンスを高めることにも貢献できればと考えています。こういった活動を通して世界に誇れる人になれると嬉しいですね。

技術を「どう使うか」を考え抜ける仲間と

――最後に、今後どのようなエンジニアと一緒に働きたいですか?

大前提として、僕と同じように「技術が好きな人」と話したいです。ユニークビジョンのエンジニアの仕事は、ただ言われたものを設計書通りに書くものではありません。クライアントの要望を実現するためにどんなシステムに落とし込むかはもちろん、フロントエンドからバックエンド・インフラまで一環して設計し実装する必要があります。例えばBelugaキャンペーンではどのような案件の負荷要件にも耐えうるアーキテクチャを多角的に考察して設計します。また、実装の際にも単純なサーバ増強ではなく、案件に最適化したパフォーマンスチューニングをコーディングで行うことでサービスの質とコスト最適化を図るなど、システムの裏側を深く理解して開発に取り組む能力が不可欠です。こうした難しさや挑戦を「楽しい」と感じられる人はユニークビジョンの環境を楽しんでいただけると思います。

一方で、技術へのこだわりが強すぎてオーバーエンジニアリングになってしまうのは良くない。技術への情熱はありつつも、目の前の課題に対して、技術をどう使うのが最適かを冷静に考えられる人が理想的ですね。これからも新しい技術をプロダクトに還元していきたい。そんな挑戦を一緒に楽しんでいただける方と、ぜひ一緒に働きたいです!

SHARE

本棚の隙間を埋めるように、当たり前の質を追求する。1年目でテックリードを任されたエンジニアの静かなる情熱

2026.04.14

【プロフィール】 石原(Ishihara)
2021年、新卒でユニークビジョンに入社。1年目にしてテックリードに抜擢。開発業務のみならず、全社活動の領域でも圧倒的な当事者意識を発揮する。現在はCRM開発や技術組織の再編に携わる。

違和感がないことが、入社の決め手だった

――大学ではどんな事を学ばれていたのですか?
大学では材料工学を専攻していました。鉱石から金属を取り出したり、金属に様々な加工を加えて材料を作ったりするための方法を学び、それらの技術の基礎を成す、熱力学や流体力学などを勉強していました。実は、プログラミング自体はもちろん触ったことはあったのですが、Python2くらいしかきちんとやったことがあるものはなく、web開発もしたことがなかったです。

――材料工学だったんですね。そもそもなぜ新卒でエンジニアを目指されたのですか?
……実は、なぜエンジニアになったのか、明確な理由は自分でもよく覚えていないんです。卒業が見えてきて、いざ就職を考えた時に、自分の思考プロセスを活かせる場所を探した結果でした。ただ、企業選びの軸ははっきりしており、減点方式で自分に合わないものを排除していったんです。

――減点方式とは、具体的にどういうことでしょう?
例えばスーツ着用が必須だったり、全社運動会のような過度に盛り上がる文化があったり……。そういう「堅さ」や「ノリ」にどうしても違和感があって。ユニークビジョンは、面接でも等身大で変な虚飾がなく、選考を進める中で違和感なく自分がいられる場所だと感じたんです。

「できない」ことで落ち込まない。できるための手段を探すだけ。

――未経験に近い状態でのスタートはいかがでしたか?
実践経験がないので正直分からないことだらけの状況でした。入社後の研修で、CTOの青柳さんから「本屋を便利にするシステムを作る」という課題を出されました。Web開発の経験もなかったし、普段仕事以外でそこまで電子機器を触らないので最初は「普通」が何かがわからない。でも、落ち込むことはなかったですね。

――それはなぜですか?
材料の研究と同じで、物理法則やルールが決まっている以上、必ず正解に辿り着けるからです。「100メートルを8秒で走れ」というような、身体的な限界を求められているわけではない。ルールを把握し、理屈を積み上げ、わからないことを一つずつ調べていけば、必ず正解に辿り着ける。そう考えて進めていました。

失敗を経て磨かれた、エンジニアとしての誠実さとその後の活躍

――「淡々と、でも確実に」という姿勢が石原さんの強みですね。でも、苦い経験もあったとか。
はい。研修後は、まずBelugaスタジオのチームに配属されたのですが、入社半年くらいのタイミングで帳票出力機能の設計で大きなバグを出してしまったことがあります。特定の操作をするとファイルが出ないという致命的なものでした。Belugaスタジオというサービスは、特に代理店さんなんかは一日中ログインして使ってくださるサービスなんです。自分のミスでお客さんに不便な思いをさせてしまったという思いがとても強く残りました。最終的に先輩が鮮やかに修正してくれたのですが、その時、品質の重要性を再認識すると同時に自分のロジカルシンキングの甘さを痛感したんです。「理屈に穴がないか」をMECE(漏れなくダブりなく)に突き詰める。もちろんテクニックとしてだけでなく、経験則で身に着ける部分もあります。

この一件以降は、設計の段階で理屈に穴がないかを自分の担当領域だけでなく、別のメンバーのレビューをするときにも特に意識してチェックするようになりました。今ではバードウォッチャーが鳥を瞬時に見つけるように、違和感のある部分が直観的に分かるようになってきました(笑)エンジニアとしての誠実さは、こうした経験の積み重ねで磨かれた気がします。

――1年目という若さでテックリードに抜擢された経緯を教えてください。
当時テックリードとしてBelugaスタジオチームを引っ張ってくれていた先輩が別のチームに移動することになったので、代理として役割を引き継いだのがきっかけです。その後、正式にテックリードとしてチームを引っ張る立場になりました。実は自分自身「これをしたい!」という業務へのこだわりや明確なイメージがあったわけではありませんでした。当時も今も、何か穴が空いているのが落ち着かない質で、気づいた仕事を片っ端から拾っていくという仕事スタイルなんです。そのおかげでできることがどんどん増えていったように思います。

激動のX API対応と、静かに燃えるリベンジ

――2023年のX(旧Twitter)APIの大規模な仕様変更への対応は、かなり過酷だったのではないでしょうか?
そうですね。かなり突然発表され、社内も大慌てだったのを覚えています。レートリミットもレスポンス形式もすべてが変わりましたからね。影響範囲を洗い出し、チームで丸1年かけて関連機能をすべて書き換えました。

――ずっと同じチームだったのですか?
いえ、入社して丸3年くらいでCRMのチームに異動しています。一か所を長くやっていたので「他のところも経験してみて」という感じで、当時そのチームのテックリードをしていた勝間田さんとスイッチする形でジョインしました。まだまだできたばかりでクローズに公開しているサービスだったので、サービスをここから大きくしていくぞというフェーズでした。Belugaスタジオとはまた違った経験ができました。

そのあとは少しだけBelugaキャンペーン for LINEのチームにも所属をしていたのですが、その時が一番まとめるメンバーの人数が多かったですね。しかも、実は同時に新しい開発プロジェクトの立ち上げと、ワーキング・グループの再編にも関わっていたんです。その後そのプロジェクトで正式にチームを作ることになり、今は代表の白圡さん直下で新規事業のテックリードをしています。

「やる?」の一言から始まったワーキング・グループ(WG)への挑戦

――石原さんは開発プロジェクトにとどまらず、WGでも大活躍されていますよね。いつから参加されているのですか?
入社してちょうど1年くらいのタイミングでWGにも参加することになりました。今は複数のWGを掛け持ちしているのですが、最初に挑戦したのは技術広報のチームです。ある日オフィスを歩いていたところ突然、白圡さんから「やる?」と声をかけられたのがきっかけです。チームの立ち上げと同時にリーダーとしてアサインいただきました。

――今のラーニングWGのことですね!
そうです。UV Studyという社外勉強会の登壇者を能動的に集めたり、VueFesなどの技術イベントのスポンサーとして協賛したりするのを主導するチームですね。中でも大変だったのは初めてVueFesにスポンサー協賛した時のことです。

――VueFesの準備では、展示用のクロスの材質を確かめに実店舗まで行かれたそうですね。
ネットの情報だけでは手触りがわからなかったので(笑)。実はクロス以外の備品の名前もまったくわからない状況だったのですが、そんなこと言ってられないのでデザイナーにも相談しながら一緒に決めました。必要としているものが欠けているなら、自分の領域外であっても隙間を埋めるよう動いただけなんです。

――ほかに印象深いエピソードはありますか?
2023年にUV Studyで「競技プログラミング」をテーマにしたビアバッシュ形式のLT会がかなり盛り上がったことです。
いつもconnpassで告知して参加者を募っているのですが、このときは社内の競技プログラミング部のメンバーの力も借りて声をかけていきました。結果、オフラインで24名、オンラインで211名、計235名にご参加いただいたんです。普段は大体30名前後にご参加いただいていたので、大成功したと言えます。
他社の技術広報の方とお話するときも、この話題で盛り上がることがたびたびありましたね。

――200名を超える勉強会、すごいですね……!
ありがとうございます。でも成功ばかりではなく、失敗の経験もあります。他社との共催イベントで集客が全く振るわなかったことがあります。今思えばイベントページの公開が遅くなってしまったり、参加者のメリットをきちんと設計しきれていなかったり反省点はすごく明確なのですが。当時は社内だけでなく、向こうの担当者さんも巻き込んでいたのでかなり焦りましたね。
でも、失敗したまま終わらせるのは嫌だったので、4ヶ月後に別の共催イベントを企画して、きっちり成功させてリベンジを果たしました。

――石原さんが「WGをやっていてよかった」と感じることは何ですか?
開発プロジェクトとは違って、なくても会社がつぶれることはないけどあったらよりよいことに主体的に関われることです。先ほどの共催イベントを例に上げると、企画関係者の方とのやり取りやタスク管理などものごとの進め方を学ぶことができたのはWGに所属をしていたからこそだと思います。

社外だけでなく、社内でも関わる人の幅が広がります。特に技術WGの再編を任せてもらってからは、別職種の方とのやり取りも一気に増えました。社内に影響の輪が広がっていくのを実感できるのもWGに所属をしているやりがいの一つだと感じています。

求めるのは「粘り強く、探求し続けられる人」

――石原さんを突き動かす、青い炎の源泉は何なのでしょう。
……「流れ」ですかね。例えば本棚の順番がずれていたら直したいし、抜けていたら埋めたい。目の前にある課題があるべき姿になっていないのが、ただ落ち着かないだけなんです。

――最後に、今後どのような方と一緒に働きたいか教えてください。
ユニークビジョンは今、組織としても技術基盤としても大きな転換期にあります。そんな中でエンジニアに求められるのは、派手なパフォーマンスではありません。ただ、知識を深く、粘り強く探求していける。一つひとつの課題に誠実に向き合い、習得して進んでいける。そんな一緒に「本棚の隙間」を埋めていける方と働きたいです。

SHARE

「速さ」と「安全性」の追求。ユニークビジョンがRustを標準採用する理由とその舞台裏

2026.02.13

ユニークビジョンがプログラミング言語「Rust」を本格的に採用し始めてから、数年が経過しました。今では当社のバックエンド開発において欠かせない存在となっているRustですが、その導入のきっかけは、ある「切実な課題」でした。今回は当社がRustを導入するに至った背景や当社の開発スタンスについて、創業メンバーでエグゼクティブエンジニアの青柳よりお話しします。

きっかけは、Ruby on Railsで限界を感じた「大量の帳票作成」

Belugaキャンペーンを提供する際、以前はSNSキャンペーンのデータを集計する帳票作成プログラムをRuby on Railsで実装していました。しかし扱うデータ量が膨大になり、処理が追いつかず動かなくなってしまう事態に直面しました。4GBのメモリを積んだサーバーがメモリを食いつぶし、サーバーごとダウンしてしまったのです。

そこで、当時プライベートで学んでいたRustを試験的に投入してみたところ、わずか6分ほどで14万件ものデータ処理とダウンロードが完了しました。しかもメモリ使用量はわずか10MB程度に収まったのです。この圧倒的なパフォーマンスの差を目の当たりにし「RailsとRustを適材適所で組み合わせれば極めて効率的なアプリケーションを構築できる」と確信しました。その後、大量データ処理や速度が必要なプログラムに利用を広げています。

なぜ、私たちはRustを選ぶのか?——3つの選定理由

上記のきっかけ以外にも、私たちがRustを高く評価している理由が3つあります。

1つ目は、Rustの「堅牢さ」です。
– 多人数開発を支える「強い型システム」: 複数のエンジニアが異なるコンポーネントを開発する際、タイプミスやデータの扱い方に対する認識の違いは避けられません。Rustのコンパイラはこうしたミスを事前に厳格にチェックするため、開発の初期段階で間違いに気づけます。
– 非同期処理の信頼性: 大量データを捌くための非同期プログラミングにおいて、最も厄介なのがデータ競合です。Rustは所有権システムによりコンパイラがメモリアクセスの安全性を保証してくれます。コンパイラが「どのデータがどこで使われているか」を厳格にチェックして実行時のメモリエラーを防ぐため、複雑な非同期ロジックも安心して実装できます。

2つ目は、ビジネスの安定性とコストに直結する「パフォーマンスの良さ」です。
– 速い実行速度による高品質なサービス提供:RustではC/C++に匹敵する速度で動作するプログラムを書けます。当社はSNSキャンペーンで大量のデータ処理や配信処理などを行うため、実行速度の速いプログラムが書けるのは大きなメリットです。
– インフラコストを押さえて高いパフォーマンスを発揮:RustはCPUもメモリも効率よく使えます。そのため、高い処理能力を維持しつつ、欲しいパフォーマンスを出すために必要なインフラコストを最小限に抑えられます。これは、ビジネスの観点からも大きなメリットです。

3つ目は、開発を支える「エコシステムが充実している」点です。
– 一貫した開発体験: 公式が提供するcargorustfmtclippy(Linter)といったツールの完成度が非常に高いのも特徴の一つです。これにより、プロジェクトごとにコーディング規約を細かく策定したり、開発環境の構築・維持にリソースを割いたりするコストを最小限に抑え、一貫性のある開発環境を迅速に整えたりできます。

エンジニアの間では「Rustでコンパイルが通ればバグがほとんどない」という言葉をよく聞きます。他の言語ではなかなか得られないこの安心感こそが、Rustを採用する最大のメリットかもしれません。

現場での実践。Rustが支える大規模SNSキャンペーンの裏側

実際の開発の現場では、高いパフォーマンスと信頼性が求められる領域でRustを活用しています。

– SNSクローラーとWebhook処理: SNSキャンペーンシステムでは、数百万規模の投稿をリアルタイムで収集・処理する必要があります。投稿の収集はREST APIだけではなくWebhookで収集するものもあります。SNSなど外部プラットフォームで発生したイベントに呼応して実行したい処理があり、イベントの発生がWebhookで通知される場合を想定してみます。受信側のサーバーは速やかにイベントを処理しなければなりませんが、Rustのようなパフォーマンスの良い言語で実装すれば即時のレスポンスができます。また能動的にデータを取得するクローラーにおいては、レートリミットを遵守しながら、最大限の効率で取得し続けるための精緻な並行実行制御が必要です。こうした「速度」と「複雑な状態管理」の高度なハンドリングをRustで実現しています。

– 即時性が求められる配信プログラム: キャンペーン参加者への即時返信など、一瞬の遅延も許されない配信処理をRustの速度が支えています。キャンペーン参加者にとって、自分のアクションに対する「即時返信」はユーザー体験の核心です。特に人気キャンペーンで参加が集中した際、大量の返信タスクを即座にさばき切る必要があります。収集フェーズと同様、配信時にも各プラットフォームの制限を考慮しつつ、最大限の効率でメッセージを送り出す必要があります。大量・即時というハードな要求に対し、Rustの実行速度が不可欠な要素となっています。

– 高負荷WebAPI: キャンペーン公開直後などの急激なアクセス集中(スパイク)が発生するWebAPIでも、Rustが活躍します。リクエストごとのオーバーヘッドが小さく、ガベージコレクション(GC)による一時的なパフォーマンス低下も発生しないため、過酷な状況下でも安定して稼働がします。一方で、私たちは「銀の弾丸」は存在しないとも考えています。機械学習の結果を利用する際にはPython、開発のスピード感を優先する管理画面のAPIサーバーにはTypeScriptといったように、要件に合わせた技術選定を徹底しています。

課題と向き合い、コミュニティと共に歩む

もちろん、Rustの導入には学習コストが高い、工夫しないとコンパイル時間が長くなってしまう、公式ライブラリが少ないなどの課題が伴います。
そのため、当社ではさまざまな取り組みを行っております。学習コストについて、Rustに詳しいエンジニアによるコードレビューやペアプログラミングをいつでも受けられるようにし、組織的に学習をサポートしています。また、Rustをテーマにした勉強会を継続的に開催することで、個人に閉じない形で組織全体のレベルアップを図っています。コンパイル時間についてはCI/CDでキャッシュを最適化をしています。また、足りないライブラリは自作してOSSとして公開しています。特に私はSNS関連のAPIのラッパーについて書くことが多いです。そのほか、Rust.Tokyoへのプラチナスポンサーとしての活動やRustをテーマにした社外勉強会の開催を通じて、コミュニティ発展への寄与を目指しています。

技術への飽くなき追求が、プロダクトの信頼を生む

ユニークビジョンにとってRustは、単なるプログラミング言語の一つではありません。「堅牢な設計」でバグを未然に防ぎ「高いパフォーマンス」でユーザー体験を最大化し「優れたエコシステム」で開発の質を維持し続ける。これらすべてを組み合わせて、初めてお客様に「絶対に落ちない、止まらないサービス」を届けられると考えています。

難解なコンパイラエラーと向き合う時間は、プロダクトの信頼性を積み上げる時間でもあります。私たちはこれからも、新しい技術への挑戦を楽しみながら、より強固なシステムを構築していきます。

SHARE

コミュニケーションを大切に、人と人との相乗効果でより良いサービスを生み出す働き方を求めて

2021.02.08

個性豊かなユニークビジョン社員の入社に至るまでの経歴や、どんな想いをもって日々の仕事に打ち込んでいるのかなどをご紹介する「ユニークビジョンではたらく仲間」。
今回は、ユニークビジョンのエンジニアとして活躍している中村 遥に話を聞きました。

未経験からエンジニア、未経験からweb業界、「モノづくり」を求めて新しいことに挑戦

ユニークビジョンに入社する前は、新卒で入社した500名ほどの規模のSIerで働いていました。下請けの仕事が多い会社ではありましたが、僕は3,4人で構成された社内ベンチャーのチームにアサインされて、自社のBtoBパッケージ製品の開発をしていました。携わっていたのは工場の生産ラインに部品を供給していくためのフォークリフトの動きを可視化する仕組みで、実際にお客様先に足を運んでヒアリングもしましたし、設計、開発、テスト、またお客様先に行って見てもらう…という風に、全部やっていましたね。

もともとは生物系の大学で修士まで行っていたのですが、博士課程に進んだり研究職についたりという道ではなく、モノづくりに関わりたいと思って就職を選びました。生物に興味を持ち始めて大学の専攻を決める前からコンピューターは好きだったので、特段経験はありませんでしたがこれを仕事にできたらと思っていたんです。
研修が長くてしっかりしているという観点で最初の会社を選び、半年間の座学や仕事の中でも沢山学んで来れました。この会社ではエンジニアもしつつお客様先にも行くという働き方でしたが、使っている人の声を聞くと実際に必要とされていると感じられるのでうれしかったですね。
求められた機能を作って喜んでもらえると、漠然と「モノづくりがしたい」と思っていた自分はこういった仕事をやりたかったんだなと実感できました。

ただ自社サービスの開発というのは自分に合っていたものの、この会社で自社サービスを作っていたのは僕たちのチームだけだったため、何を始めるにもノウハウが無かったんです。もちろんその分やりがいはありますが、それが本当に正しいのかもわからない状態で続けていくのは難しく、とても大変でした。
そんな時、広い世界の中で何でもできてエネルギーの高いWeb業界に興味を持ち始めていたので、思い切ってWebの自社サービスを開発する会社への転職に踏み切りました。Web業界への転職にあたっては、解いたプログラミング問題がそのまま転職活動のアピールになるサービスを使って勉強していましたね。数問解いたところですぐに何社かスカウトが来たので、Web業界の情報収集や、実際にその現場で働く人と話してみたいという目的でカジュアル面談をいくつか受けていました。

その時のユニークビジョンはまだ今の半分以下の20名弱しかいなかったのですが、面接で代表の白圡と話した中で、この先会社をどうしていきたいといったビジョンがとてもしっかりしている印象を受けました。当時のユニークビジョンは受託開発の割合もそれなりにありましたが、そこから自社サービスのみに切り替えていこうとしているところで、自分の考えていたことと繋がるものを感じて入社を決めました。
あとは、その時から既にTwitter事業での強みを持っていたことも魅力的でしたね。Webの業界は差別化が難しいので、会社全体として技術的に強みとなるものを持っているのは純粋にすごいなと思いましたし、500人規模から20人規模への転職でもユニークビジョンにはそこまで不安はなかったです。

人との関わり・サービスとの関わりを深めていく働き方が好き

ユニークビジョンに入社して最初は、SNS総合管理ツールBelugaのリニューアルプロジェクトで最初の設計段階から収束まで足掛け3年携わり、その後はBelugaの新機能開発をしていました。
社内でコードレビューの制度が整ってきた段階で各チームにレビュアーを置こうとなった時には、長くBelugaにいて一番仕様を把握していたこともあり、Belugaチームのレビュアーになりました。その後のプロジェクトでもレビュアーを続けています。プロジェクト立ち上げ・設計の段階から入ることが多いので、コーディングだけでなく仕様的なレビューを行うことも多いですね。

去年からはLINE上でキャンペーンを行う仕組みのBelugaキャンペーンfor LINEにて、キャンペーン結果を閲覧できるダッシュボード部分の立ち上げと開発に入りました。その後は現在に至るまで、本体部分の機能追加や実際のキャンペーン対応などを行っています。
去年の後半からはそれに並行して、「ユニークビジョンで複数回案件を実施する」ということに付加価値を生み出すCRM(顧客関係管理)や、「案件ごとの運用コストを抑える」というメリットをユニークビジョン・お客様の双方にもたらすCMS(コンテンツ管理システム)サービスの立ち上げにも関わっています。

最初のBelugaで設計段階から最後まで関わらせてもらえたのはタイミング的なことも大きいですが、その中でいろいろな経験をしたのでそれを他のサービスにも生かしていきたいという思いがあり、ユニークビジョンのエンジニアの中ではかなり早い段階からプロジェクトに関わる存在になっていますね。 一口にエンジニアといっても色々な働き方があるかと思いますが、僕は自分が関わって決めた仕様が形になって、それを使ってもらうところを見ることができて…というところにやりがいを感じるので、ひたすらコーディングをしているよりも今の働き方が好きなんです。

設計は難しいですがコーディングよりも広い範囲の仕事ができますし、よりそのサービスを深く知っていけるのが魅力的ですね。Belugaでは設計が上手くいかず、その後の開発も含めて長く時間がかかってしまったという背景がありました。当然ですが設計の善し悪しはそのままプロジェクトの進行に影響を与えるので、それだけやりがいも大きいですし、学ぶことが多いです。

この働き方をしていると、サービスで何を実現するかというところからPMやディレクターと議論したり、時には実際に必要としているお客様と会話する機会を設けてもらったり、他のプロジェクトでも関係する人たちと話してみたりと、沢山の人と関わります。 設計はコーディングよりも周りの人たちとのコミュニケーションが必要になってくるフェーズですが、それが自分に合っていると感じますし、常に全体像を明確に持ちながら進められる仕事は楽しいです。前職でもお客様とよく話しながら進めていましたが、モノづくりというのはそういう仕事かなと思っています。

1エンジニアとして開発するにあたっては、なんでこれが必要なのか、何のための機能なのか、ということはとても考えますね。エンジニアがサービスに関わる上で決めないといけないことは、画面の見た目、データの持ち方など様々ありますが、そういったものは各々の好みで決めるものではありません。どういう人がどういう業務、どういう思考の流れで使うものなのかというのは出来る限り考えるように意識しています。
キャンペーンであれば、作ったものを提供するユニークビジョンのディレクター、使ってもらうお客様、そして参加してくれる一般の方々と、いろんな人たちのやり取りのを繋ぐものなので、いろんな立場に立って考えることが大事だと思っています。

現在はキャンペーンの案件対応業務にあたっていますが、今までユニークビジョンでやってきた仕事とはかなり異なっています。どちらかといえば、前職での経験に近いですね。
お客様と会議やslackでやり取りを重ね、お客様が何をしたくてユニークビジョンは何ができるのかというところを常に判断しながら進めていきます。安心して進めてもらえるベストなキャンペーンを実現するためにはこちらから曖昧な部分は残せないですし、ディレクターを挟む挟まないに関わらずお客様と対面するからこその緊張感があります。

Belugaのようにすべてユニークビジョンの中で考えながら作っていく開発色の強いものと、Belugaキャンペーンのようにどんどん変わる状況の中で対応していく運用に手を動かし続けるものと、どちらもできるのはユニークビジョンの面白いところですね。 ユニークビジョンで作っているものは現在すべて自社サービスなので、いろんなサービスをその時々で作っていけるのは働き方としてとてもいいなと思います。

ユニークビジョンは技術でお客様の要望を解決していくので、お客様がより良いキャンペーンにしていくために実現したいということは極力叶えられるよう動きますし、それが開発などの途中段階であっても随時対応していけるのはユニークビジョンの強みです。本当にすごいお客様ばかりですし案件も錚々たるものばかりなので、上手くいけばかなり面白くて影響力も高いキャンペーンになるだろうなという案件が多く、とても身が引き締まる思いです。

ユニークビジョンはTwitter社のTwitter Marketing Partnerに選定していただいていますが、Twitterに関わる技術的な部分で困ることはそうそう無いですね。入社前にも感じていましたが、これはとても大きな強みだと感じています。 今僕がメインで担当しているのはLINE側で、こちらはまだまだ大変なところもありますが、案件をたくさんいただいていくにつれてTwitter側と同じくらいまでの強みに持っていける感覚は十分にあります。

何か困ったときはいろんな人に聞いて最善策を探すことが多いですが、みんな自分が持っている技術をもったいぶらずオープンに教えてくれます。
去年、社内の有志によってプロジェクト横断で使用できるコマンド群が開発されたのですが、通常業務をこなしつつそのように各々の活動も進めていくのは、これまで経験してきた環境と比べてもかなり顕著に感じています。前職の時はみんな余力がなかったのかそういうことが全くなかったので、今の環境には技術的な活発さを感じますね。

ただ、ユニークビジョンは業界をリードしているからこそ、新しいものをリリースすればするほど難しくなっていく立場にあります。この状態でうまく生き続けるには、会社の中で何人かだけが特別仕組みに詳しくある状態ではなく、バランスを保たないといけません。 実は技術的に属人化してしまっている部分も現状では存在していて、そこは今後を考える上で解決しないといけない課題だと感じています。

会社としてのコミュニケーションを向上して、最大限に力を発揮できる環境づくり

ユニークビジョン特有の取り組みとして、部署がない代わりにプロジェクト以外の仕事をそれぞれが担う「ワーキンググループ」という働き方があり、その中で僕はコミュニケーションチームに参加しています。 最初は別のメンバーが社内の連絡ツール導入を推進するために作っていたチームを引き継いで、社内のコミュニケーション改善に取り組んでいます。

コミュニケーションという言葉の意味は広いですが、会社としてコミュニケーションに求められることは、会社という大きな人の集まりの中で一人ひとりの力を真に発揮できる状態にもっていくことだと思っています。何人かの人が集まった時、1+1は2に満たないこともあれば、相乗効果で大きな力になることもあります。2にならなくても、一人では見えなかった景色が見えてくることもあります。コミュニケーションチームとしては、この1+1でできることを理想の状態に近づけていけるように動いています。

現在は毎月アンケートを実施して心理的安全性を調査したり、ソーシャルキャピタル、つまり社内の関係性の可視化を進めたりといったことを軸にして、それぞれの数値を改善するため、その時々で必要な施策を考えて取り組んでいます。 こういった要素は会社を進める中で置いて行かれてしまいがちですがとても大事なことなので、ただ施策を打つだけでなく考えていることもみんなに伝えて、コミュニケーションの重要性の啓蒙にも重きを置いています。

ユニークビジョンにはOPEN&FLATという指針があり、何においても決断が早く、それにより動きがとても早いです。何か新しくやりたいということだったり、プロジェクトの再編成だったり、人員配置も一週間前に告知されたものから変わっていたりします(笑) それは、その時々で最善が変わり、柔軟に対応していっているということなのだと思います。無駄にだらだらと同じことをするのではなく、その時必要なことに集中することができるのでとてもいいですね。
部署という概念もないので、会社全体で適材適所の配置ができるのは会社・個人双方に良い環境だと思います。ワーキンググループも強制ではなく、声をかけられたり希望者が手を上げたりして進めるチームですし、会社をこうしていきたいんだ!という気持ちがある人には実現しやすくて向いている環境です。

OPEN&FLATかつ50名ほどの今の規模感というのは、誰にでも話しかけやすくてプロジェクトを円滑に進めやすいですね。Belugaの開発をしていた時はリニューアル前の仕組みもあって完全な0からのスタートではなかったのですが、Belugaキャンペーンfor LINE以降では新しいことを決めないといけないことが増えつつも、やはり自分一人で完全に決められないことも沢山あります。上下関係や部署がなく、エンジニアとディレクターの隔たりもないユニークビジョンの環境では、いろんな人とざっくばらんに会話ができるのがありがたいです。

この状況をいかに維持していくかも、コミュニケーションチームの頑張りどころだなと感じています。今年からオフィスが移転して2倍の広さになり、コミュニケーションに良くも悪くも変化が生じています。会社規模自体の拡大も見越してのオフィス拡張なので、このタイミングはコミュニケーションの観点で転換期なのかもしれないと感じています。

コミュニケーション改善の一環…というわけではないですが(笑)、個人的に登山が趣味で、会社のメンバーを募って時々山登りに行っています。
同じ体験を共有すると自然と仲良くなりますし、普段の仕事では見られないメンバーの一面が見られたり、プロジェクトではあまり関わり合いのないメンバーと交流出来たりして、とても有意義だと感じています。回を重ねるごとにメンバーが増えてきているので、もっといろんな人に参加してもらえたら嬉しいですね!

個々にリーダーシップを発揮し、巻き込みあって新しいものを作っていきたい

ユニークビジョンに入社した時から、アサインされたプロジェクトではそれぞれ最初から最後まで関わらせてもらっていますが、安心して0から100まで任せられて、このプロジェクトといえば中村遥が頑張っていたよね、と認識されるくらいの存在になりたいなと思っています。
一人でできることは限られているのでうまく周りを巻き込みながら、関わるメンバーにとって新しいことができて、サービスとしても今までにないものが作れたら最高ですね!
会社もますます大きくなっていく段階ですが、チームメンバーだけでなく社内のいろんな人としっかり繋がりを持っていられる人でありたいです。社内の誰にでもすぐに相談に行けて、自分にも気軽に来てもらえる状態でいたいです。

気が付いたら僕ももう古株の方になっていて、OPEN&FLATを掲げる会社ではあるものの先輩と言われる立ち位置ではあるので、若手エンジニアに与えうる影響も考えるようになってきています。
見られる側の立場として、自然と模範になれたらと思って意識して仕事を進めているところはありますね。困っているときに、技術のことでも仕事のことでもなくても、相談相手になれる人でありたいと思っています。

ユニークビジョンで大事にしているOPEN&FLATという考えにおいて、FLATな会社でいられる最大は100人ほどだと聞いています。なのでそれくらいの規模感にはすぐに達していくのだと思いますが、その規模になってもみんなの気持ちにムラがなく、同じくらいの熱量を共有していける会社を目指したいですね。
動きが早くてどんどんサービスを作っていくベンチャーらしさは保ちつつも、業界をリードする存在であり続けたいと思っています。

短期的には、今関わっているBelugaキャンペーンfor LINEをBelugaキャンペーンと同じくらいにまで成長させたいです!CRMやCMSもそこに寄与できるサービスだと思うので、どちらも全力で推し進めていきます。

ユニークビジョンの環境にマッチする人は、会社の指針にもある通り、リーダーシップを持っている人です。個人的には、リーダーシップを個々が発揮するからこそ、OPEN&FLATな環境が成立すると思っています。
何かこうしていきたいという信念があって、それを周りに伝播したり共有したりして進めていける人と一緒に仕事をしていきたいです。想いがないのも困りますが、自分の信念だけでコミュニケーションなく突き進まれてしまっても、それは会社として1+1=2にならないと思っています。
個人個人ではなく、会社だからこそできることに取り組んでいきたいです。

一緒に話すことでお互いに気づきを得られたり、各々が持つ良い者が組み合わさることもあると思います。これはディレクターでもエンジニアでも変わらず共通して大事だと思っています。
ユニークビジョンには個性的なメンバーも多いですが、そういう意味では個性や特色の強い人と働けたら、刺激的で面白いですね!

SHARE

【創業メンバーインタビュー】”泥臭さ”と”瞬発力”で成長し続けるユニークビジョンの技術

2021.02.05

個性豊かなユニークビジョン社員の入社に至るまでの経歴や、どんな想いをもって日々の仕事に打ち込んでいるのかなどをご紹介する「ユニークビジョンではたらく仲間」。
今回は、ユニークビジョンの創業メンバーである青柳に話を聞きました。

ユーザに使いやすいものを作りたい

大学を出てエンジニアとして働き始めた当初は、ソフトウェア会社で翻訳ソフトの画面側を作っていました。その当時から「使いやすいものを作りたい」という気持ちが大きかったので、例えば翻訳する画面では横に並んだ翻訳元と翻訳先の両方を、真ん中のスクロールバーで同時にスクロールしていくようなUIを開発しました。その後、他の会社でも同様のUIが作られていったのには驚きましたね(笑)

この仕事は1年ほどで、次は大手企業のUI研究部署に行きました。ここではweb上で3Dモデルのキャラクターと触れ合うシステムに携わり、ここでも画面側をメインで担っていました。web上で3Dモデルを動かすことは今でこそ当たり前ですが当時はとても先進的なことでしたし、ユーザーの行動に合った反応ができるようにキャラクターの動きを作っていくのは今で言うチャットボットのようで、ゲームみたいで楽しかったです。

ただそういった仕事をしていく中で、作ることはもちろん楽しいもののITを軸に新しいことをやりたいと思い、ITコンサルの会社に転職しました。代表の白圡やCOOの菊池と出会ったのはこの会社ですね。当時は会社の一同僚、という関係でしたが。
技術だけではなくもっと幅広くITに触れていきたいと感じていたので、様々な分野の研修に参加していました。実際に配属されていたのはR&Dの部署だったのですが、プロジェクトにベタ付きではなかったこともあり、時間をやりくりして当時500人くらいのメンバーの中でも研修には最も多く参加していました。

部署の中ではリポジトリツールの開発に携わっていました。元々は他の部署で作られたものを引き継いだ形でしたが、それを改善したり全社で使えるようにしたりという部分です。全社統括的な部署だったので、今現在の、他のエンジニアにアドバイスしたりレビューしたりといった業務には通ずるところがありましたね。

仲間に惹かれて加入したユニークビジョンで感じた”今までなかったものが生まれる予感”

その会社でやっていくのも楽しかったのですが、断片的なところではなく初めから自分で作ればもっと良いものを作ることができると思い、フリーランスに転向しました。自分で会社を興すつもりはなかったのでそういった道を選んでいましたが、その後ユニークビジョンを立ち上げた白圡と菊池に声をかけられたので加入することにしました。それまで働いてきた会社や関わった人たちの中で色々な社長を見てきましたが、白圡はその中でも一番良い社長像だなと感じていたのでユニークビジョンへの加入を決断しました。

正直、当時のユニークビジョンと比べたらフリーランスの方がよほど稼げてはいたのですが、この二人となら今までなかったものが生まれるような予感がすごくあったんです。既存のものの拡張などではなく、一から自分たちで新しいものを作れると思いました。技術者は実質自分だけでしたし、かなり大変になるだろうとは思っていましたが、同時にこのメンバーならそれも何とかなるだろうとも感じていました。今思うと、現時点では実際に何とかなってきましたね。ここから先でまた大変なことがあるかもしれませんが…(笑)

ユニークビジョンの一員として働き始めてから、最初はエンジニアが僕一人だったのでもちろん技術面についてはコードの一行一行、隅から隅まで完璧に把握していました。大きなトラブルは特にありませんでしたし、何か小さな問題が起きてもすぐに解決できていました。割と規模の大きい仕事もこなせていけていたので、それは人数が増えても変わらないことだと思っていたのですが、エンジニアを増やして複数人で開発するようになると、品質を保つことが本当に難しくなってしまいました。一人なら自分の集中的な頑張りでなんとかなってしまうことも、チームで動いていたらそういう訳にもいきません。

会社やプロジェクトの規模が大きくなるにつれて、会社として出来るものは増える反面、品質の担保が難しくなるということを身をもって体感したので、今では全体的な品質を横断して見るようにしています。ユニークビジョン全体としてもそういった経験から、品質チームやレビューチームなど、様々な細かい視点からチェックするようにしています。

失敗を繰り返して自分なりのメソッドを確立した、エンジニアとしての信条

プロダクトをきちんと作るということです。早く、品質良く、というのが大前提です。ユニークビジョン加入当初の自分一人のパワーで乗り切るという形ではなく、人が増えて選択肢も多くなった中で、チームやプロジェクトとして同じ目標を達成する方法を常に模索しています。

あとは「同じものを二度書かない」ということもかなり大切にしていますね。同じことを二度書くことは単純に時間も倍かかるということなので、早く作るということの延長でもあります。二度書かないように共通化することになりますが、きちんと共通化ができているとバグが発生しにくくなり、それもまた早く作れることに繋がります。

ただ、共通化や抽象化の線引きは今でも難しいですね。共通化や抽象化をやりすぎると、なんでも受け入れられるお化けのようなものが出来上がります。なんでも出来ますがその分パラメータが大量になり、何の為に存在しているものなのか分からなくなってしまいます。共通化を全くしないのはもちろん良くないですが、やりすぎても弊害が出て来てしまうんです。

この辺りは経験というか、試行錯誤していくうちにバランスを掴んでいくものだと思います。最初から共通化を気にしすぎて遅くなってしまっては意味がないので、僕はまず一気に書いてみて、二度書くタイミングが出て来たら共通化するようにしています。たくさん経験して、たくさん失敗して、この考え方に落ち着きました。設計の本をたくさん読んで論理的に自分のやり方を身につける人もいるかとは思いますが、僕は頑固なので自分で失敗を経験して納得する方法が合っていたんだと思います(笑)

良い考えだなと思っているのは、Perlの作者が提唱している「プログラマの三大美徳」です。怠惰、短気、傲慢、この三つが全てあると良いプログラマだとする考え方です。

まず怠惰だと、いかに楽をできるかという観点で全体の労力を減らすための努力ができます。僕も面倒くさがりなので同じものを二度書くことは無駄だと思っていますし、何度も同じ作業をしたくはないと思っています。その考えから、例えばデプロイ作業を繰り返さなくて良いようにDevOpsチームで自動化を推進するなど、会社全体での活動にも繋がっています。

次に短気というのは、ちょっとしたことにも怒りを覚える気質なので、すぐに改善すべく対応し、瞬発力が高くなるので良いプロダクトになっていきます。

最後に傲慢だと、自分の書いたコードに絶対の自信を持っています。そのためには指摘の余地なく完璧で綺麗なコードを書こうとする努力を惜しまないので、これも結果的に良いプロダクトになっていきます。

どれも言葉自体は悪いですが、エンジニアとしては良い気質なんです。今改めて考えてみると、ユニークビジョンの中でも特に技術力の高いエンジニア達には共通している気質だなと思いますね。

ユニークビジョンが高い品質を提供し続けられる秘訣は”泥臭さ”と”瞬発力”

ユニークビジョンの技術的な一番の強みは、この規模としては非同期プログラミングやパフォーマンスの良いシステムなどでとても速さが出せていることと、Twitterをはじめとする各種SNSなどのAPIを長年使い続けてきたことで積み重ねられたノウハウにあります。
APIについてはただ与えられるまま普通の使い方をするだけではなく、どうしたら最大限に活用できるか考えたり、万が一APIが動かなくなっても自分たちの技術でカバー出来る仕組みを用意したりと、かなり試行錯誤しています。泥臭くてもここまでしっかり要求を実現する方法にたどり着くことができるのは、なかなか難しいことだと思いますね。

どちらも、在籍しているエンジニア陣の成長意欲がとても高く、積極的に動いてくれているからこそ可能になっています。メンバーが積極的にアイデアを出しあったり、活発に技術的な議論が行われていたりと、会社としては今が過去最高に良いチームを築けているなと感じています。

プロダクトとしては、保守性の高さが自慢できるところですね。例えばTwitter上で施策を行う仕組みである「Belugaキャンペーン」ですが、様々なジャンルの企業様からお話をいただいて行う施策は本当に千差万別です。しかし、どんなことを要求されていても全て実現できています。動的にプログラムを追加する独自の仕組みなどもあり、色んな部分で柔軟に要求を吸収できる仕組みになっているんです。

柔軟性が高いということは、先まで見通して考え、問題を先回りして解決していくということです。開発しているその時だけでなく、後から開発する時のことも想定して負債を残さないように考えて作っています。先々までしっかり考えるとその分工数もかかってしまうのでバランスも考えつつではありますが、保守性を上げることは後の工数を減らすことに繋がるので、大事に考えています。

この「Belugaキャンペーン」が少し他と違うのは、かなり高い瞬発力が求められ続けるという点です。実際にそれぞれのお客様に使っていただく期間は一回一回が短いものの、利用頻度は高く、施策の度に全く異なる様々な要求があるんです。様々な問題をかいくぐりながらも泥臭くやり遂げる力や、そのためのベースとなる要求に素早く対応する瞬発力は、ユニークビジョンならではの強みだと思います。
他の会社では見たことがないですし、僕の開発人生でも無かったですね。これだけ頻度高く、すごい量の機能開発をしていることは、エンジニアにとっては面白く感じる部分だと思います。

時代とサービスに合わせた柔軟な技術選定

ユニークビジョンでは創業当初から今まで、いくつかの技術を移り歩いてきました。最初に作った「Beluga」ではFlashだったりPHPだったり、色々な技術を使って沢山失敗してきましたね。創業当初は受託事業が多かったこともあって、書きやすくて人も集めやすいPHPを主に使用していました。しかし会社も発展し始めて受託事業の割合が下がってきたタイミングで、当時のPHPではなかなか痒い所に手が届かず、根本的な部分に手をかけることができないところに不便さを感じていました。制約が多く、自由度が低かったんです。

それからは次から次へと様々な技術に手を出してみていたのですが、会社としてきちんと習熟した言語を持とうと考え、Rubyに集中することにしました。Rubyでは根本的な部分にも手が届きますし、コードに手を加えず差し込みで対応できるくらい柔軟性も高く、少ない量で楽にかけたりと、良い言語だなと感じています。

ただ、Rubyではなかなかパフォーマンスが追いつかない部分があり、今は徐々にRustに切り替えていっています。Rubyではサーバーごと落ちてしまっていたものもRustでは数分で返ってくるなど、かなり恩恵は感じていますね。最近はユニークビジョンとしても世間的な流れとしても、静的型付け言語の方が良いのではないかという考えになってきていることもあり、RustとTypeScriptを主に使用するようになっています。技術はあまり変えないようにしているつもりでしたが、結果的に見ると結構変わっていますね(笑)

幅広い領域に触れられる環境に、意思を持って取り組むエンジニアがたくさん在籍しているユニークビジョン

ユニークビジョンには、UCバークレーを卒業してAppleに買収されたベンチャー企業で働いていたり、命に関わる繊細な仕組みを扱う自動車会社で技術をつけてきていたり、AI将棋の世界大会で上位入賞していたりといった派手な実績を持つメンバーたちに加えて、些細な変化も見逃さずに安定感を発揮し続けるメンバー、新卒でエンジニアの少ないチームにジョインしてメキメキと総合力を身につけているメンバーなど、幅広く強力な視点や技術力を持つエンジニアが在籍しています。

あとは期せずして国際色は豊かになっていますね。エンジニアではベトナム、ミャンマー、アメリカ、ディレクターではオーストリアなど、世界中からメンバーが加入してくれています。海外からくるメンバーは考え方がユニークな人が多いですし、海外で働こうという覚悟を持って来ているので成長スピードやパワーが凄いなと感じます。

また、ユニークビジョンにはワーキンググループという枠組みがあるので、開発プロジェクトのエンジニアとしてだけでなく、各々の領域で力を発揮してくれている人が多いですね。色々なことが出来る環境があり、そこで意思を持って取り組んでくれるエンジニアが沢山いることは、本当に面白い環境です。
ここ数年では成長意欲が高くて積極的に発言してくれる人が増えて来ているので、それはかなりありがたいと思っています。

今後としても、問題を自分で見つけ出して対応できる人に入って来てもらいたいですね。何かに乗っかるだけでなく、自分で動く人と一緒に働きたいです。
考え方としては、この技術が何を解決するためにあるのかという本質を考えることが自然にできる人だと、ユニークビジョンの考え方とマッチするかなと思います。
この言語がやりたい、この技術がやりたい、ということがベースになっていると手段が中心になり本質からずれて来てしまうので、その時々で適した技術を考えられるような、ものづくりが好きな人に入ってもらえたらと思っています。

SHARE

規模が変わっても変わらない。それぞれが自身の強みを発揮し、良いサービスを追求する環境

2019.11.18

個性豊かなユニークビジョン社員の入社に至るまでの経歴や、どんな想いをもって日々の仕事に打ち込んでいるのかなどをご紹介する「ユニークビジョンではたらく仲間」。
今回は、入社7年目で通期MVP受賞経験5回を誇る敏腕エンジニア、高瀬 憲祐に話を聞きました。現在はBelugaキャンペーンの開発を担当している高瀬。ユニークビジョンの創業直後から現在までを振り返り、感じることについて語ってもらいました。

面接時のメンバーは5名。原宿のアパートの一室からスタート

私は2012年に入社しているのですが、当時の社員数は確か7、8人でしたね。面接時はもっと少なくて5人だったと思います。オフィスは原宿にありました。今のオフィスの前の前の前のオフィスですね。普通のアパートの一室という感じで、広さは今のオフィスのカフェスペースよりも狭かったと思います。

ユニークビジョンに入社する前はコンピュータ組立工場での生産技術の業務や、ソフトウエア製品のテクニカルサポートなどを経験してきまして、直接ソフトウエア開発に携わるようになったのはユニークビジョンに入社してからになります。

私は会社の規模にはこだわりが無いタイプで、終身雇用してほしいとかそういう希望も無いので「ソフトウエアの開発に携わっていきたい」という思いで、当時面白そうな会社だなと感じたユニークビジョンを選んだ記憶があります。

入社後7年で社員数が約8倍!急成長しながらも大切にしていること

入社当時はベルーガの開発をみんなで行っていましたね。今の開発メンバーの1チームが会社全体という感じでした。また、ディレクターも今は7名いますが、当時、ディレクター的な動きをしていたのはCOOの菊池1人だったと思います。

今は分担して行っている仕様決めから開発テストまでをみんなでやったりもしていました。一つ一つの仕事をみんなで一丸となってやっていた感じです。人数が少なかった分、それぞれ色々なことをやっていましたね。開発メンバーはCTOの青柳を中心に若手メンバーが青柳の指導を受けながらそれぞれの業務にあたっているような感じでした。今は青柳以外にも主力メンバーがいるので、それぞれが若手の育成支援を行うような体制に変わりました。

私が入社してからの7年で入社当時の5名から現在の40名ほどまで社員数も増えましたし、オフィスもそれに伴いどんどん大きくなってきたりと、改めて変わったなと思います。当時受託案件が大半を占めていたのも、今では受託案件がほとんど無い状態になっていたりと案件の内容も変わりましたしね。
すごいスピードで成長してきたなと思います。

常にクライアントやその先にいるユーザーのメリットを第一に考える。それぞれが自身の強みを発揮し、良いサービスを追求

短期間で急成長してきましたが、本質的なところ、企業として大切にしてきたことは変わっていないような気がします。体制やその時々の状況に合わせてやり方は違いますが、常にクライアントやその先にいるユーザーのメリットを第一に考えてやってきました。開発メンバー、ディレクターが相互で協力してどんどん良いサービスが作れるようになってきています。

私自身がいつも意識していることは、どんなに小さな案件でも万が一の事態に備え、基本的な確認作業を怠らないということです。過去の仕事の経験から”世に出すものは完全なものを提供するのが当たり前”という考えで仕事に取り組んでいるので、どんなミスも見逃さないよう注意するだけでなく、少しでも早くその兆しに気付けるよう心掛けています。細かい話ですが、自分が関わっていないプロジェクトでも定期的にサーバーの状態を確認するようにしたり、エラーメールなども見逃さないようにしています。
小さいことかもしれませんが、入社から今までこだわりを持ってやってきたことの1つです。

私はそういうこだわりを持って、それを自分の強みとして働いていますが、他のメンバーもそれぞれ個々の強みを持っていて、その多様な強みの集合体がユニークビジョンだと思いますね。当事者意識や向上心の高いメンバーが多く、それが会社全体としての高い技術力を支えていますし、会社もそれを更に伸ばせるよう「自己研鑽フライデー」や「技術勉強会」などの制度を通じて応援してくれています。

また、それ以外にもユニークビジョンは、自分が得意な事や新しく挑戦したいことを発信すると積極的にプロジェクトの中に取り込もうとしてくれる、挑戦を応援してくれる文化もあります。
各々が主体性を持って動く、これは昔から本当に変わらないですね。
クライアントや世の中にお返し出来る価値が大きくなることに関してはリスクがあっても挑戦するという風土が昔からあります。この価値観は今後も大切にしていきたいなと思っています。

これまで高い技術力を武器にサービス開発を行ってきたのですが、”どんな技術を使ってどんなものを作ってきたか”ということをあまり社外に発信できていなかったので、今後はそういったことをもっと発信していけたら良いですね。

先にも述べましたが、向上心の高いメンバーが多いので誰かが働き掛けをしなくても、新しい技術をどんどん取り入れ、サービスに反映していく”攻め”の姿勢は今十分にあると思います。ミスを減らすなど”守り”の要素を今後更に強化出来れば会社としてもっと強くなると思うので、品質に対する意識をもっと上げて、より良いサービスを更に世の中に送り出していきたいですね。

この記事を読んで、ユニークビジョンについて気になった方はぜひお気軽に会社に遊びにいらしてください!

SHARE