エンジニアnote第1回「CINRAエンジニアが大切にしたいこと」
こんにちは、CINRA, Inc.(以下、CINRA)エンジニアマネージャーの横川です。
最初に少し自己紹介をさせてください。私は最初に勤めた会社では事務をしていましたが、業務でC#を書く機会があり、そこからエンジニアのキャリアをスタートさせました。その後、ECサイトのシステム開発会社に転職し、もっと上流に近いところから案件に携わりたいという思いからCINRAに移り、現在に至ります。
CINRAでは4名のエンジニアとともに様々なことに取り組んでいます。少人数ながらも全員がものづくりに対する情熱を持っているチームです。そんなチームの価値観や取り組みを広く知っていただくために、noteのマガジンを始めることにしました。初回のテーマは「CINRAエンジニアが大切にしたいこと」です。制作フローや、制作においてどのようなディスカッションが行なわれているのか、といった話を通して、私たちの価値観やものづくりに対する姿勢をお伝えします。
専門性の高い領域だからこそ心がけること
CINRAは、自社メディアの運営に加えて、受託制作も数多く手がけています。メディアの印象が強いかもしれませんが、エンジニアは多くの受託制作プロジェクトにも関わっています。この記事では、特に受託制作におけるエンジニアの役割や関わり方についてお話しします。
ウェブサイトを制作したり運用したりする際に、エンジニアが最も大切にしないといけないことは何でしょうか。
技術選定、システム設計、可用性、UI/UXなど、各工程で決めるべきことは多岐にわたります。これらを的確に判断するのは簡単ではなく、一定の知識が必要です。一方で、クライアントはウェブサイト制作の経験が少ないことが多く、最適な選択をするための知識が十分でないこともあります。メリット・デメリットの情報だけでは、自分の会社にとって何が最適なのか、何を基準に選んだらいいのか悩んでしまいます。
私たちはそこに寄り添い、クライアント本位のコミュニケーションを取ることを心がけています。可用性の話をする場合には、サイトの特性やクライアントの予算規模を考慮して提案しますし、技術選定をする際には、誰がどれくらいの頻度で使うのかを踏まえて最適な提案をします。エンジニアという専門性の高い領域だからこそ、大切な考え方だと思っています。
クライアント本位で考えるためには相手のことをよく知る必要がありますが、CINRAではエンジニアが提案段階からプロジェクトに関わることが多いため、より深く担当者やビジネスサイドの事情を理解し、コミュニケーションを取ることができます。
「どのように」の前に「何を」作るかを考える
提案やグロースの段階では、クライアントから「こういうことをやりたい」「こういう機能がほしい」といった様々な要望があります。エンジニアはそのディスカッションに参加して、最適な提案をプロジェクトメンバーと一緒に考えます。
例えば「会員機能を作りたい」という要望があった場合、
ログイン方式には何を採用するのか
会員登録したユーザーが利用できる機能は何か
といった機能要件を詰めるヒアリングをいきなりするのではなく、
なぜ会員機能が必要なのか
プロジェクトのKPIは何なのか
といった根本的な理由をまずヒアリングします。見えてきた与件次第では別の実現方法を提案することもあります。このように、与件に対して「どのように」実装するかではなく、「何を」実装すべきかを考え、クライアントにとって本当に必要なものを提供できるようにディスカッションを重ねます。
ゼロから実装をすることだけが答えではない
「何を」作るかはクライアントとディスカッションしますが、「どのように」作るかは専門知識やナレッジが必要なため、制作会社が責任を持って考えるべき部分です。エンジニアのアイディア次第でプロジェクトの質は大きく変わります。
例えば、社会課題の解決に取り組んでいるクライアントのプロジェクトで、「会員機能付きのウェブサイトを作りたい」という要望があった際には次のようなディスカッションが行われました。
そのクライアントは、ウェブサイトを訪れたユーザーやオフラインイベントに参加したユーザーと長期的に密なコミュニケーションを取るために、会員機能を希望していました。想定されていた機能は次のようなものです。
イベントの来場者にポイントを付与し、溜まったポイントをプレゼントと交換できる
会員データを活用し、ユーザーのステップや特定のセグメントを考慮した情報発信を行える
今後の施策を進める上で、ユーザーデータは重要な資産となるため、まずは会員登録を促すことが重要です。多くの場合、会員登録のタイミングはイベント来場時であるため、プロジェクトメンバーから「ハードルを下げる工夫が必要だ」との意見があり、SSO(シングルサインオン)の導入を検討しました。しかし、会員登録後の情報発信についても、メールやマイページへの掲載だけでは見落とされる可能性が高く、十分な訴求ができないのではという懸念がありました。
これらを解決する手段として、LINE公式アカウントを活用できるのではという意見がエンジニアチームから出たため、フィジビリティチェックをした上で最終的にこの案で提案をしました。ポイント管理やプレゼント交換機能は自前で作らずに、より最適な外部サービスを選定し、提案することができました。
このように、私たちはクライアントの事業や課題を深く理解し、最適な解決策を提案することを大切にしています。解決策が必ずしもゼロからの実装である必要はなく、既存のサービスを活用することで価値の提供ができるのであれば、それを積極的に提案します。逆に、ゼロから開発する方が費用対効果やサービス成長にメリットがある場合は、そのように提案します。
ユーザーに届いた先のことを考え、制作する面白さ
CINRAでは、エンジニアが上流から関わり、何を作るべきかを定義するところからプロジェクトに参加しています。作るべきもの、既存のサービスに委ねるべきもの、そもそも作るべきではないものを見極めて要件を詰めることで、プロジェクト全体がいいものになります。エンジニアは、自分たちが作るものがどのようにユーザーに届くのかを理解しながら制作に取り組むため、自然とオーナーシップが生まれ、クオリティにこだわりたいという意識が高まります。
もちろんこの通りにいかないこともありますし、まだまだこれからの部分も多いですが、こうしたものづくりへの姿勢を大切にしているのがCINRAのエンジニアチームです。
そんなチームで一緒に働くことに興味を持っていただけましたら、ぜひカジュアル面談にお越しください!
関連リンク
バックエンド求人:https://www.wantedly.com/projects/689006
フロントエンド求人:https://www.wantedly.com/projects/1494061