音声スタートアップVoicyでの2年目を振り返る
2023年12月で入社して丸2年になりました。というわけで、2年目を振り返ります。めちゃくちゃざっくり一言で振り返るなら、前半と後半で異なる役割を担い、それらを兼任していた過渡期に認知負荷と意識の切り替えで苦労した年でした。
1年目、2022年にも振り返り記事を書いています。1年目が気になった方はこちらからどうぞ。
SRE/PlatformチームのSRE
さっそく本業 (エンジニアリング) の振り返りから始めます。2022年2月から始まったSREチーム。2023年も引き続きSREとして幕を開けます。専門用語が難しかったら飛ばして先へ進んでください。後半ではエンジニア以外の活動について書いています。
Argo CD
2023年のはじめは2022年末から引き続き、KubernetesのCD (Continuous Delivery) 周りを扱っていました。いにしへより伝わるFlux v1を廃止し、Argo CDに移行するプロジェクトです。Argo CDの導入に併せてArgo CD Image Updaterを導入したり、Argo Rolloutsでカナリアリリースしたりもしました。
このプロジェクトを通して、アプリケーションエンジニアのコードがGitHubにpushされてからKubernetesクラスター上でコンテナが動くまでに起きていること (CI含む) 、ServiceやIngressの挙動、Amazon EKS特有の機能の理解が進んだことや、Voicyのクラスターで稼働させているアプリケーションを網羅的に把握できたなど、いろいろ収穫がありました。
あと「公式ドキュメントを読め。」が身に沁みました。結局一番正しいことが書いてあるのは公式ドキュメントです。まあ、公式ドキュメントを読んでもなお分からないことはいろいろありましたが。(「その場合はコードを読め。」「はい。」)
Argo Rolloutsでカナリアリリースする話はVoicy Tech Blogに書いていたみたいです。(最近まで忘れていました)
また、以下はプロジェクト終了後、3月にKubernetes勉強会で発表したスライドを公開したものです。
そしてこちらは、この頃に困ったことを思い出しながら12月に書いた記事です。
これ関連のアウトプットはけっこう多いですね。
経験がない新しいことに取り組みながらも予定よりすこし巻きで完了しましたし、得たものも多かったので良きプロジェクトでした。実際にやっていたときはたぶんそこそこつらかったと思うのですが、ほぼ1年前なので辛かった部分の記憶はけっこう忘れていますね。
音声処理高速化
次に取り組んでいたのが、音声処理高速化です。これがだいたい3, 4月ごろです。
以前、Voicyにはこんな感じの問い合わせがちょこちょこ来ていました。
ぐぬぬ。
パーソナリティの皆さんが収録した音源は、Voicyのサーバーにアップロードされるとそのままリスナーの耳に届いているわけではなく、ノイズの低減や音量の調節など、いくつかの音声処理が行われてから配信されます。上記のような現象が発生するのは、たくさんの方が一斉に収録したタイミングなど、この処理が完了するより前に放送が公開されてしまうことがあったからです。
この処理を速くするのが僕のミッションでした。詳細は省きますが、処理時間の中央値でだいたい10倍くらい速くなり、これ以来、上記の問い合わせは見なくなりました。めでたしめでたし。
ここまでが、専任でSREだった頃のプロジェクトの振り返りです。他にも細かいことはいろいろやっていましたが省略!
ホーム改善チームのバックエンドエンジニア
5月ごろから、SREチームとホーム改善チームの兼任になりました。ここでのメインのミッションは、サーバーサイドの開発です。あとはたまに現れるSREタスクです。最終的にはバックエンドエンジニア8割、SRE2割くらいの比率で動いていました。
ホームリニューアル
ホーム改善チームの活動は、その名の通りホームリニューアルです。Voicyのアプリのホーム画面は、2023年11月29日に生まれ変わりました。
SREチーム専任から、SREチームとホーム改善チームの兼任になった頃、それはもう認知負荷の嵐でした。SREチームは2週間のスプリントで活動していましたが、ホーム改善チームは1週間のスプリントで動いていましたし、それまでインフラをメインに担当していたのですが、インフラへ向ける意識はそのままに、バックエンドの開発もすることになりました。また、バックエンドの開発をするということはある程度フロントエンドのお気持ちにも思いを馳せなければなりません。最終的にできあがるデザインから意味を考えたり、プロジェクトの進捗も考えます。
そんな状況でさらに大変だったことがあります。新しいホームでは、今まで使われていたバックエンドのサーバーは使わず、完全に新しいプログラムをゼロから作り始めました。こちらは、ただ新しいプログラムに置き換えただけでなく、古いプログラムとは全く異なるアーキテクチャで作られています。アーキテクチャの詳細は書きませんが、優秀なアーキテクトがVoicyが今提供していたり今後提供するであろうサービスや、ステークホルダーについて考え抜いた上で設計されており、それを理解するのもはじめは難しかったです。まだこの世界のどこにも答えがなかったものなので。
ということでいろいろ大変だったので、いろいろ試行錯誤もしました。まずはSREチームの活動を手放すことからです。ちまちまミーティングの時間を削ったり、自分がキャッチアップすることのメリットがそこまでない情報を意図的に拾わないようにしたりしました。自分の脳のキャパを過信しちゃだめですね。
続いて、新しいバックエンドプログラムへの理解を深めることが重要でした。これはもうたくさん書く、たくさん質問する、たくさんフィードバックを受ける、しかありませんでした。銀の弾丸はない。もちろん到底同じレベルには達していませんが、最初にホーム開発に携わり始めた頃と比べると、だいぶ新しいアーキテクチャの考え方に慣れてきたと思います。とてもきれいです。「よくできてるわ〜」と思うことが多いです。
プロジェクトの後半は、いよいよリリース日との戦いになってきます。基本的には取捨選択と気合いです。それ以外でやってよかったことは、タスクを物理的に見えるようにしたことです。
Voicyの開発プロジェクトはタスク管理ソフトで管理しています。本来ならやるべきタスクはそれを見ればわかるはずなのですが、大きなプロジェクトだったこともあり、全体像の把握がなかなか難しかったです。リリース日が数週間後に迫ってきたタイミングで、何が残っているのか、チームのみんなが明確に把握できていないということがありました。そこで、今まで画面上に表現されていたタスクを名刺サイズの紙に書き出して並べてみることにしました。これによって、このタスクは今週!これは来週!このペースでやれば間に合う!という共通認識を取ることができました。
あとLINEでログインできる機能も、ホーム改善チームともうひとつ別のチームで協力して作りました。
エンジニアリング以外の活動
アルゴリズム勉強会
3月に「エンジニア基礎体力を鍛える!アルゴリズム勉強会」というものを開催しました。一番の目的はタイトルの通り、エンジニアの基礎体力を鍛えることです。
スライドを使った講義
その後、実際にコードを書いてもらう
必要に応じてホワイトボードで解説
という流れです。
開催のきっかけは、2022年の年末にコンサル出身のリーダーの方が仮説思考の勉強会を開いてくださったことです。「自分も何かできないかな〜」と思い、アルゴリズム勉強会をやってみることにしました。
第1回は比較的簡単な内容にしてエンジニア以外のメンバーにも参加してもらいました。プログラマーが普段どんなことを考えているのか体験してもらうことで、エンジニアと他職種のメンバーの間でのコミュニケーションがよりなめらかになるのでは考えたためです。そのときの様子をHRのメンバーが記事にしてくれました。
うれしかったのは、これをきっかけにビジネスチームのメンバーが社内で「アイデア出し勉強会」を開催してくれたことです。バトンが繋がってますね。
第2回以降は対象者をエンジニアに絞り、もう少し詳細な内容で開催しました。合計4回か5回くらい実施したと思います。
AI勉強会
続いて、7月に社内でAI勉強会を開催しました。この勉強会では、ニューラルネットワークの数学的な解説を試みました。題して、「AIは魔法じゃない!高校数学でわかる機械学習の初歩」。ChatGPTが信じられない高精度な回答を返してくるようになり、世界は明らかに新しいステージに進みました。そんな中で、適切なAIと距離感で付き合うための助けとなれば嬉しいと思い、魔法のようにしか見えないAIの基本的な仕組みがどうなっているかを解説してみることにしました。
どうして自分がこんな話をするかと言うと、学生時代に3年ほど、ディープラーニングを使った研究をしていたからです。3年くらいで解説しようとするのもどうかと思いましたが、0年よりは伝えられることがあるだろうとも思いました。
この勉強会の内容は外部には公開していませんが、次に紹介する技術書典で書いた内容をベースにスライドを作成して実施しました。
ちなみに「AIは魔法じゃない!」なんていうタイトルをつけましたが、僕の今の感想は「AIは魔法じゃないけど一周まわって魔法」です。
技術書典14
今年もやってきました技術書典。時系列が前後しますが、5月のできごとです。技術書典は、技術書版のコミケのようなイベントです。Voicy全体としては5冊目、自分が関わり始めてから出版されたものとしては3冊目の "Voicy Tech Story Vol.5" を携えて参加しました。Voicy Tech Storyは有志のエンジニアが集い、一人一章ずつ書いたものを集めて作り上げている本です。
今回、初めてこの技術書典執筆プロジェクトを仕切る役割を任せてもらいました。これまでも、そしてもちろんこの回も、自分の章の執筆だけでも苦労していたのですが、それに加えて他のメンバーの執筆のサポートやレビュー、製本、当日のブースの設営など、考えることがたくさんありました。大変でした。
さきほどAI勉強会の節で触れた通り、ぼくの章ではニューラルネットを簡単な数学で解説しました。社内のメンバーからは「グラフとか数式とか書いてあって教科書みたい」と言われました。自分自身としては入門者向けのけっこうわかりやすい説明ができたと思っています。
以下の記事を読むと、日焼けにより真っ赤な顔で本を売っているぼくの写真が見つかります。
音声配信 voi-chord
Voicyのエンジニアメンバーが運営するVoicyチャンネル、"voi-chord" (ボイコード) 。2022年は運営メンバーとして関わっていましたが、今年は別のメンバーたちが運営していました。
でも1年間ほぼ毎週のペースで収録/配信を続けてきたので、運営メンバーではなくなってもこれを続けたいと思い、今年に入ってからも【週末版】として放送枠を分けてもらいました。週末版では、エンジニアリングマネージャーのかげにぃと2人で、1週間の放送を振り返る放送をしています。Voicy内で #weekendvoichord という長いハッシュタグで検索すると、voi-chordの週末版の放送を見つけることができます。
実は、週末版が始まった経緯はもうひとつあります。それはかげにぃが「マネージャーなのに自分自身が音声配信できてない…」と言っていたことです。何かしらの形でvoi-chordに関わりたいな〜と思っていたときにこの話を聞いたので、「じゃあ一緒にやりますか!」と提案して始めることになりました。
以下の記事には、この2年間voi-chordでいろいろ試してきたエンジニアの音声発信について書いています。
Voicy FES '23
去年は通常業務をしていてあまり関わることができなかったVoicyフェスですが、今年は実際に会場に足を運び (と言っても同じビルの別の階ですが) 、パーソナリティの皆さんとお話しさせていただくことができました。たくさんのエネルギーをいただきました。自分にとってとても大きな経験だったのですが、言葉にすると陳腐になりそうなのでこれくらいにしておきます。
その他
リーダーについて
2月にこんな記事を書きました。なかなか良いことを書いたと思っています。何か新しい役割に挑戦したいとき、まずは勇気を出して手を挙げて、実際にその役割になってみるのが大事だなと思わされた話です。
ベストボ祝儀スト
今年はたくさん表彰してもらった年でもありました。一つ目がベストボ祝儀スト。Voicyにはボ祝儀という制度があります。月に6人 (以前は10人) まで、他の社員に感謝のメッセージとともに "Poicy" というポイントを送ることができるピアボーナス制度です。2023年のキックオフにて、1年間欠かさず送れる上限までみんなにボ祝儀を送ってきた人として表彰してもらいました。
Give First賞
8月、2023年の第3クォーターのキックオフにて、Voicyマインドのひとつである "Give First" を体現したメンバーとして選んでもらえました。この賞は全社員からの投票で選んでもらったもので、とても嬉しかったです。偉そうにGive Firstについて語った記事が以下です。
終わりに
このあたりで2023年の振り返りを締めくくりたいと思います。2022年の振り返りよりも書くことが多くて大変でした。これだけ書いてもまだ全部書ききれていない気がしています。今年はVoicy外でも記憶に残ることがいくつかあり、濃い1年だったなと感じています。1年間おつかれさまでした。
この記事が気に入ったらサポートをしてみませんか?