for Startups Tech blog

このブログのデザインを刷新しました。(2023/12/26)

【フォースタ テックブログ】Regional Scrum Gathering℠ Tokyo 2021で配信スタッフとして参加してきました

Copyright 2020, ScrumTokyo. All rights reserved

どうも村林です。
Regional Scrum Gathering Tokyo 2021(以下、RSGT)に配信担当としてスタッフをしてきたので感想書きます。

Regional Scrum Gathering Tokyo 2021とは

Regional Scrum Gathering℠ Tokyo 2021は、東京で行われるRegional Gatheringとして10回目になります。運営母体である一般社団法人スクラムギャザリング東京実行委員会は、スクラムを実践する人が集い垣根を超えて語り合う場を提供するという目的によりコミットしています。

アジャイル初学者からその道の達人までいろんな人達が集まってギャザリングするイベントです。
今年は新型コロナウィルスの影響もあり、オンラインの人もオンサイトの人もギャザリングできるようハイブリッド開催でした。

ハイブリッド開催とは話す人も聞く人も会場かオンラインかを好きに選べるってことです。また会場の人はオンサイトの人の発表しか聞けないなどの制約もなく、会場でオンラインの人の発表を聞く、オンラインの人が会場の発表を聞く、なんなら一緒にOST(Open Space Technology)とかしちゃう。みたいな感じでした。

この要件を満たすために、会場とオンラインの人を双方向に繋ぐということが必要でした。そこらへんをどうにかするべく色々やったのが配信担当です。私は品川アジャイルという品川にまつわる人やまつわらない人が日夜集まってアジャイルの話をするコミュニティに属しているご縁で担当しました。

配信構成

全体像はこちらです

多分これだとなんのこっちゃという話だと思うのでユースケース毎に解説していきます。

まず会場にいる人の発表をオンラインで聞くケースを考えます。

会場のマイク音声はもちろん会場に流さないといけないので、会場の音響設備につなぎます。そして会場の音響設備から分配し、配信用PCに入れます。配信用PCはZoomに接続していて、受け取った音声をZoom側に流します。
これで音声は良さそうです。

次は映像ですが、映像に関しては発表資料と講演者の姿の2つの画面があります。
発表資料は講演者が会場のプロジェクタに接続し、またその画面をZoomで画面共有してもらうことで会場にもZoomにも発表資料を共有することができます。
講演者の姿に関してはカメラで撮影したものを配信用PCに入れ、そこからZoomに出力します。
これでZoomでも講演者の発表スライド、発表姿、音声が全部Zoomに届きますね。
PinP(映像の中に映像をはめ込む)なども考えたのですが、RSGTの参加者のペルソナを考えたときにこちらで映像を組み合わせた状態で渡すより、そのまま渡して参加者の方で勝手に組み合わせられるようにした方が満足度が高いかなということでやめました。幸いZoomは複数の映像のレイアウトを柔軟に変えられますし。Zoom凄い。

次に会場の発表に対してオンラインの人が質問してくるケースを考えます。

講演者が聞くためにZoomからの音声を会場に流す必要があります。
これは配信用PCが受けたZoomの音声を会場の音響設備に流すことで対応できます。

次はオンラインの発表を会場に流すケースです。

基本はオンラインの人が質問してくるケースと同じです。
ただし一点違うのは講演者が会場にいないので、会場のプロジェクターに接続するPCがありません。
これは運営で借りたPCを投影用PCとして置くことで対応しました。
この投影用PCでZoomに接続し、会場のプロジェクタに流すだけで映像はOKです。

最後にオンラインの発表に対して会場の人が質問をするケースです。

これも会場の発表と同じですね。
会場のマイクを使って質問してもらうと、配信用PCを通ってZoomの先にいる発表者の人に伝わります。注意なのが、マイクの音声しか拾っていないのでマイクに向かって話さないと聞こえないことです。

素人でも積み重ねてできた

いかがでしたでしょうか。よくわかりませんね。

実は我々は映像や音声に関して素人だったのですが、ちょっとずつできることを積み重ねていき、こんな最初はよくわからない構成でもある程度できるようになりました。
最初から色んなことをやろうとしない、基本が安定してできるようになると次のステップアップもそんな負荷なくいける。そのステップアップも当たり前にやりだすと、次のステップアップをする。こんな感じでできることを積み上げてできたのが今の構成です。
なので詳しくなってきたらもうちょっと複雑か高度な構成になるかもです。それかよりシンプルになるかも。未来は誰にもわからない。

あと初期案はRSGT実行委員長で品川アジャイルのメンバーでもある川口恭伸さんが考えてくださったのですが、川口さんがこの構成を考えたときに留意した点は以下の通りだそうです。

  1. 登壇者にとって最小変更
  2. その変更点も慣れているZoom対応のみ
  3. 映像系は登壇者、音声系は会場設備(ハウリング対策)
  4. どのPCがこけても全落ちしない(ある程度は相互にリカバーできる)
  5. ネットがこけても平然と会場は進行できる(ハイブリッドなのだけど、実績ある部分を優先)
  6. リモート参加者/講演者に追加のオペレーションを求めない(説明しきれない)
  7. 会場に複雑な機材を入れない(PC中心)
  8. 運用者はみんなプロじゃなくて参加者に近いコミュニティメンバーなので、習熟の時間をとる(お金を人件費より教育研修費で使いたい)
  9. ホールは別に業者さんにお願いすることでリスクヘッジ (ただこの構成は踏襲していただくことでコストは下げる)

大規模なイベントを継続してやってきた川口さんのノウハウが詰まってますね。
新しく発生するリスクに対してはできるだけ冗長化する。
慣れているものでやるのが一番安定してできる、という思想があるような気がします。

得た学び

留意した点の8番に関しては私は恩恵に与かりました。
何をしたかと言うとわざわざ本番の二週間前くらいにカメラを機材レンタル屋さんから借り、その他機材も家に持ち帰り、年末年始にお家で配信設備の構成を試して遊んでました。
そこでようやくぼんやりしていた配信構成が解像度高く自分の中に入りました。
「こうすれば動くらしい」から「これはこういう仕組みだから動く」って感じですね。
仕組みがわかったことで当日昼休みのときに会場に何も流れてなかったのが寂しくてDiscordの映像を会場に流したり、機材トラブルがあった際に土壇場で違う構成で乗り切ったりすることができました。
基本をしっかりするから応用ができるという学びです。

またスタッフ内で印象的だったのが「疲れない、頑張らない」を大事にしていたことでした。大体のイベントでは「燃えつきろ!一生懸命だろ!!」って方向に行きがちなんですがイベントスタッフって頑張っちゃうんですよね。勝手に。
だってみんなに楽しんでもらいたいし、やりがいもあるし。スタッフが追加で動かなきゃいけないときって大体誰かが困っているときだし。
で、頑張ると燃え尽きて、来年からはちょっと出来ないなぁとスタッフがどんどん離脱してイベントの持続可能性が減ってしまう。
営利団体でもないことも相まっていつでも辞められるから、辞めないように工夫する。
スタッフが楽しくて疲れないのが第一。そうすると来年も開かれる。

という思想があるのかなーと思いました。
コミュニティを持続的にしていきたい人は参考になるかもです。

おわりに

ということで、配信スタッフとしてRSGTに参加してきた話でした。

最後に実行委員、スタッフ、発表者、参加者の皆さんお疲れさまでした!
また来年お会いしましょう!

あ、あとフォースタートアップスではRSGTと聞いてピンとくるアジャイルに興味のあるエンジニアを募集中です。
プロダクトに向き合ってより良くあろうとするチームで働きたい場合は是非ご連絡ください!

【フォースタ テックブログ】フォースタートアップスでWebエンジニアインターンで働くということ

フォースタートアップス(以下、フォースタ)ではクリエイティブ職の長期インターンシップの受け入れを実施しています。

インターンシップというと、短期集中のカリキュラムで就労体験を行うパターンもありますが、弊社では実務に則した開発業務を中長期で行っていただいています。もちろんですが就労分の報酬をお支払いしており、これまでWebエンジニアとデザイナーのインターンを採用しています。

今回、Webエンジニアのインターンとして働く2名にインタビューを行い、インターンをすることになった経緯や自己成長に繋がっていること、未来のインターン生へのメッセージなどリアルな声を聞いてみましたので紹介します。

どのような経緯でインターンをすることになったのか

自己紹介とこれまでの経歴、フォースタでインターンをすることになった経緯などを教えてください。

菊山インターンをしている菊山と申します。
簡単に自己紹介をしますと、インターンというと学生のイメージがあるかと思うのですが私は社会人経験があり、入社した時は24歳でした。
関西の大学を卒業後、新卒で地元の銀行に就職しています。そして、退職後に一定の期間プログラミングの勉強をした後にフォースタのエンジニアインターンという経歴です。

なぜエンジニアに転職したのかというと、単純にプログラムを書いている時が楽しいのと、学ぶことで作りたいと思えるものを形にしていけるということにテンションが上がるからです。
自分でWebサイトを作ってみたいと思ったことが最初のきっかけで、Webサイト作成の勉強のためのツール、YouTubeで簡単なサービスを作っている動画を真似て作ったりしていくうちに、ハマっていきました。

フォースタのことは、転職活動をしている時に初めて知りました。調べてるうちに事業や会社のビジョンに興味が湧き、応募したところ実務経験がないということでインターンからでもどうか、という提案をいただき採用となりました。

原島:大学3年の原島です。大学では経済学を勉強しています。ゲストハウスでアルバイトをしていた時に「ホームページ作れるけど勉強してみない?」と社員の方から誘われた事がきっかけでプログラミングを始めました。勉強し始めると想像以上に楽しくて次第にプログラミングに没頭するようになり、エンジニアを目指すようになりました。

学生スタートアップでエンジニアとして働いていた経験もありスタートアップが大好きです。Wantedlyでフォースタの募集を見た時に直感で「ここで働きたい!」と思いました。募集は正規雇用の採用だったのですが、ダメもとで「インターンとして働きたい」と伝えたところ、CTOの戸村さんのご厚意もありインターンとして採用して頂きました。

現在の業務内容とインターンを通して学んだこと・スキル・自己の成長に繋がったこと

Webエンジニアインターンとして携わっている業務内容を教えてください。これまでに、または現在進行中でスキル面や自己成長に繋がったことがあれば聞かせてください。

菊山STARTUP DBの管理システムの開発、保守をメインに行なっています。社内ユーザーからの改善案の一次受けをしたり、緊急度にもよりますが、エラー対応は基本的にインターン内で行なっています。インターンであっても、プロダクトの改善案などをGitHubでIssueをあげることで開発MTGで検討され、採用されることもあります。

エンジニアとして働いて9ヶ月ほどですが、技術面だけではなくそれ以外でも様々な学びがありました。

技術面では、単純に知識量だったり実装方法の考え方であったり、理解しやすいコードを書くことの重要性などです。特に、理解しやすいコードを書く技術はチーム開発、品質を維持していく上でも大切なことなので日々意識しながらコードを書いています。

STARTUP DBはマイクロサービス化されており、役割毎に分離された構成での開発は学べることが多いです。
マイクロサービス構成での開発はフロントエンドとバックエンドを別で管理しているので、各サービスの修正をする際に他のシステムへの影響を考えなくて良いということがメリットとしてあります。これによりバックエンドとフロントエンドの役割が明確になっているので、それぞれが集中して開発でき、開発速度の向上に繋がっています。また修正や原因調査が行いやすいなど開発効率の向上も実感できています。

頭ではわかっていても、実際に開発を進めているとその恩恵を感じることができ、理解が深まりました。

また週に1度、勉強会とスキルアップという時間があり、知識の共有であったり各自の技術的なスキルアップの時間が設けられています。自分の知らない技術の紹介であったり、社員の方とモブプロを行って問題を解いたりと、先輩方からの知識やコードを書いている時の考え方など学びになることばかりです。

それ以外にも、会社の成長を体験できました。私が入社した時と比べて、毎月様々な経歴をもつ方々が入社されました。組織の変化を身を持って実感できることは貴重な経験だと思っています。

入社初期と比べると自身の成長を実感することができていますが、最初の2〜3ヶ月はわからないことだらけで大変でした。

Ruby on Railsにも全く触れたことがない状態だったので、ソースコードを理解するのも大変でしたし、DBのテーブルが相当数あるのでデータ構造を理解するのも大変でした。(今でも全部は理解できていません)

ですが、メンターでついてくださっている社員の方々にはコードレビューをしていただいたり、質問があれば一緒に考えていただいたり、助けていただいたおかげで徐々に理解が進み自信がついていきました。また、先輩方の仕事に対しての姿勢、熱量は自分へに刺激になっていると同時に学ばせていただいています。

いつもサポートしていただいている先輩方には本当に感謝しています。

原島:主にSTARTUP DBの根幹である管理画面をRuby on Railsで開発しています。
大量のスタートアップの情報が毎日のように更新されるので、エンジニアにはスピーディかつ正確な開発が求められます。
アジャイル開発の中で運営とも連携を取りながら進めていく事になるので、総合的なチーム開発の能力が身につきました。
また個人としても、メンターの方に毎週の振り返りをしてもらっているので常に自分の目標と課題を明確にする事ができています。

以前働いていた学生スタートアップと比べて感じた違いは、様々な分野から経験豊富なエンジニアが集まっているので、技術書からは得られない知見が溜まっていく事です。

更に、インプット/アウトプットの量が圧倒的に多くなります。普段の会話からも技術的なインプットがあり、意図せずとも知らない技術に触れる回数が増えました。
エンジニアチームでは毎週勉強会と技術書の輪読会があります。発表者の皆さんは勉強会の内容を技術ブログに投稿しているので、自分も刺激されて日々の学びを投稿するようになりました。
自分もジョインして1ヶ月経ったあたりで「初めてハッカソンに参加してみた話」という題材で勉強会に登壇する事ができました。新人がアウトプットする場が整っている環境はフォースタならではだと思いました。

未来のインターン生に向けたメッセージ

最後に、フォースタでインターンをすることについてメリットに感じている部分や体験価値について教えてください。また今後一緒に働くことになるかも知れない未来のインターン生に向けたメッセージを頂けますか?

菊山:フォースタでは、週1回程度でスタートアップの勉強会をしていただく機会があり、スタートアップに興味がある人、将来的に起業を考えている人にとって学べることが多いはずです。またSTARTUP DBでは約13,000社ものデータがあり、日々データを取り扱っていく中で知らなかった企業を知れる機会にもなると思います。

技術力をつけたい、またスタートアップに興味がある人にとって、最高の職場環境です。
まだまだ自分が発見できていない魅力はあると思いますが、少しでもフォースタのインターンに興味を持っていただいた方は、是非お待ちしております!

原島:フォースタには多様なバックグラウンドを持ったメンバーがいるので、皆さんの今後のキャリア形成の参考になると思います。
「スタートアップが好きだ」「日本のスタートアップの成長をテクノロジーで加速させたい」と思う学生にとっては最高の環境だと思います!
フォースタのビジョンへ共感できるエンジニアの方をお待ちしております!

【フォースタ テックブログ】事業成長を目指して社内向けシステムのデータ分析基盤を整える話

 

こんにちは、2020年10月よりfor Startups, Inc.のテックラボにジョインした速水です。社内向けのプロダクト「タレントエージェンシー支援システム(SFA/CRM)」のサーバーサイドエンジニアとして働いています。

今回は、上記プロダクトでGoogle Tag ManagerやGoogle Analyticsを導入し、データドリブンな施策を進めるための基盤を整えている話をさせていただきます。

タレントエージェンシー支援システム(SFA/CRM)とは

タレントエージェンシー支援システム(SFA/CRM)は、主に社内のヒューマンキャピタリストが利用するもので、顧客管理や業務プロセス管理のような役割を果たしています。顧客管理という特性上、安易に外部のサービスとデータを連携することができず、分析ツールの導入や可視化、分析があまり進んでいませんでした。RedashやKibanaを使った可視化が行われているデータもありますが、プロダクトの利用状況の把握という観点で、もう少し機動性を高めたいと考えました。

tech.forstartups.com

tech.forstartups.com

土台としてGoogle Tag Managerを導入

RailsやNuxtによるアプリケーションのため、Google Analyticsを直接導入することもできますが、連携するデータの加工や、機能自体の開発と計測の分離による機動性向上をふまえ、土台としてGoogle Tag Managerを導入し、その上でGoogle Analyticsと連携する方法を取りました。Railsでは、全ページ共通のテンプレートに、環境ごとに発行したコード(コンテナスニペット)を、環境変数に応じて挿入する形で導入しました。Nuxtでは、nuxt-community/gtm-moduleを使用しました。

いざ利用状況を見てみると、思わぬところがよく使われていたり、逆に要望はあったが実際にはあまり使われていない機能などが、数字として明確に見えるようになりました。また、数字が見えるようになったことで、「ここを細分化して見てみよう!」であったり、「ここのイベントは括って取得した方がより実態がわかりそう」といった議論も活発になりました。新機能の設計をする際も、現状ある周辺の機能がどれくらい使われているのか、実数が把握できると、達成すべきUXを定める参考になります。

連携するデータには注意が必要ですが、データの加工はもちろん、計測の出し入れをプロダクトの機能リリースとは別に行えることで、必要な時に必要なデータがある状態に近づきつつあります。

施策の実現スピードが上がるという副次的な効果も

転職候補者様に向けて提供している候補者様専用ページの中で、NPS®(ネットプロモータースコア)を取得しようというアイデアが出た際に、工数をかけずに最速で実現するにはどうしたら良いか、議論になりました。結果、Google Tag Manager経由で連携することができるHotjarというSaaSを採用し、当初の想定よりもかなり早いタイミングでリリースすることができました。Staging環境でのモックアップの共有も簡単に行うことができ、チームメンバー間のイメージの擦り合わせが早く進み、施策の実現スピード向上につながりました。

指標の設計やデータ取得、可視化、分析はあくまでプロセスで、どれだけ事業の提供価値につなげることができるかが重要ですが、どのフェーズにおいてもスピード感をもって取り組むことは、成果につながるスピードに直結すると考えています。

弊社ヒューマンキャピタリストとの面談後、転職候補者様からフィードバックをいただくことで、面談はもちろん、全体を通して体験の向上に役立てています。(画面はサンプルです。)

さらなるデータドリブンに向けて

フォースタートアップスでは、データドリブンをより加速していきたいと考えています。まだデータ量が少ないところや、取得していても活用し切れていないデータもありますが、一つ一つ課題をクリアして、その基盤を築いていくのは、非常に面白い仕事でもあります。

システムの利用者でもあるヒューマンキャピタリストも増えており、拡大していく組織でビジョンに共感しつつ、データドリブンによる事業提供価値の最大化に熱い思いを持っている人未来の仲間を募集中です!

【フォースタ テックブログ】ノーコードで業務効率化、PdMがZapierを活用した話

こんにちは、for Startups, Inc.でSTARTUP DBというサービスの責任者をしている寺田(@yuyaterada)と申します。来年春頃の大型リリースに向けて目下準備中です。

その中で、さまざまなタスク管理や人事業務が発生していますが、エンジニアにはプロダクト開発に集中してもらう為、タスク自動化ツール「Zapier」を導入しています。

今回はSTARTUP DB運営の肝にもなっている「Zapier」について紹介させていただきます。

Zapierとは?

海外の「IFTTT」などのiPaaSのひとつで、複数のウェブアプリケーションを連携させて、定型的な業務を自動化できます。エンジニアに頼んでコーディングせずとも、タスクの自動化をノーコードで実現できてしまいます。

zapier.com

活用事例を紹介します

1/【勤怠管理】インターンの勤怠報告忘れをSlackに通知

STARTUP DBの運営チームにはインターンが多く在籍していて、ジョブカン勤怠管理でシフト管理をしています。

勤怠報告忘れが発生した場合、Gmailに指定したキーワードを含むメールが届いたらSlackに通知するようにしています。

Formatter(text)で指定テキストを切り取り、Slackメッセージの文面調整をしています。

■通知画面

 

2/【問い合わせ対応】Googleフォームに新規投稿されたらSlack通知

STARTUP DBでは各種問い合わせフォームをGoogleフォームにしています。新規問い合わせが入ったら、Slackに通知されるようにしています。

 

3/【タスク管理】毎月1日に自動的にタスクをSlack通知&Trelloカード化

運営する中でのTodo管理はTrelloで行っています。毎月定例で発生するタスクは、自動的にSlackに通知とTrelloのカード化をしています。

 

4/【採用管理】インターン採用の応募をSlack通知&Trelloカード化&スプレッドシートに記録

現在インターン採用はWantedlyを主軸として集客をし、応募後のステータス状況をTrelloで管理しています。また数値分析をGoogleスプレッドシートで可視化し、健康状態を管理しています。

■手法

Wantedlyでエントリーメールがあり次第、自動でスプレッドシートに応募記録、Slack通知、Trelloカード化。応募メールは、ZapierのFormatter(text)で指定テキストを切り取る

リファラルなど、Wantedly以外のエントリーがあったら、手動でTrelloカード作成

 

 

②Trelloカードに面談日を設定し、面談前日になったら、Slack通知でアナウンスする

 

③書類選考から選考進捗があり次第、手動でTrelloのカード移動する

スプレッドシートに移動記録が登録され、選考ステータスによって列に◯or☓が入り、行の背景色の色が変更されるようスプレッドシートの条件付き書式で設定

※TrelloのカードIDで同カードの移動管理をしています

 

スプレッドシートの集計シートに数式を入れ、自動的に更新される

 

おわりに

いくつか活用事例を紹介しましたが、プロダクト開発においてエンジニアのリソースは最大の資産になるので、今後もZapierを使ってノーコードで実装できるものは自動化し、よりエンジニアが開発に集中できる環境を整えていけたらと考えています。最近社内のWikiツールで導入したNotionが近々APIを公開するという噂があるのでZapierにも連携されないか期待しています。

そんなfor Startupsではエンジニア、デザイナーを絶賛募集中です。

Zapierについても是非気軽に情報交換できたら嬉しいです!