1
/
5

基礎を見直しエンジニア組織の力を引き上げる、SRE主催の「アルゴリズム勉強会」とは

こんにちは。Voicyカンパニークリエイターの “はる” こと高森はるなです。

テックブランディングに注力しているVoicy。これまでにも何度かエンジニアが主体となって行った施策についてご紹介をしてきました。

( ↓ 興味がある方はぜひ読んでみてください!)

今回は、SREの千田が「アルゴリズム勉強会」という社内向け勉強会を開催すると聞いたので、そちらを取材していきたいと思います!

「基礎は大事」開催のきっかけはもくもく会

エンジニアの基礎力を向上させるために開催を決めたという今回の勉強会。
主催者であるSREの千田は、「誰もが知っているだろう」という固定概念を取り払い、改めて基礎から見直すことで、組織のエンジニアリング力強化に繋がると考えたそうです。

(千田)有志のメンバーで休日に集まり、もくもく会をしていたときのこと。ある日の勉強題材が“アルゴリズム”だったのですが、自分が比較的に得意な領域だったのでメンバーに解説をしていた際に「応用や最新の技術に目が行きがちなエンジニアリングスキルだが、意外にも基礎に重点を置くエンジニアは少ないのかもしれない」と気づき、社内向けのアルゴリズム勉強会を企画できないかと考えるようになりました。
アルゴリズムの中でも基礎的な内容ではあったのですが、基礎だからこそ経験を積んでいくと意識する優先度が下がったり、意外と見落とされてしまったりしているのではないか。また、それは基礎がゆえに日々への影響範囲が大きいのではないか、と考えたんです。
(千田)勉強会の目的は3つ。まずはエンジニアの基礎力向上です。基礎を固めていくことで、例えば技術選定時にカタログスペック(表面的な仕様)だけでなく、プロジェクトの要件や現在のアーキテクチャにマッチしているかを意識した意思決定ができるようになると考えています。

次に、エンジニアだけでなく社内のエンジニア以外のメンバーにも参加してもらえたらと思い、「エンジニアとのコミュニケーションをなめらかに」という目的を掲げました。エンジニアではないメンバーからすると、エンジニアの頭の中ってどうなっているかよくわからないんじゃないかなと。ただ、相互理解が進めばよりコミュニケーションが取りやすくなると感じていて、エンジニアについて知ってもらう機会になればと思いました。また、今回は高校レベルの数学で理解できる内容を選んだため、純粋に興味のあるメンバーもいるかもしれないと思いました。

最後の自己紹介は、ちょっとした遊び心なのですが(笑)。エンジニア以前に、まずは僕自身のことをもっと社内のメンバーに知ってもらいたいと思って目的に入れ込んでみました。

エンジニア基礎体力を鍛える!アルゴリズム勉強会

3月の頭に開催された、その名も「エンジニア基礎体力を鍛える!アルゴリズム勉強会」。当日はオフラインとオンラインのハイブリッドで行われ、総勢16名のメンバーが参加しました。エンジニア以外に、PdMなどプロダクト開発に携わるメンバーを始め、ビジネスチームからの参加者も!

勉強会のアジェンダはこちら。

  • スライドで言葉や概念の説明(30分)
  • 実装してみる時間(30分)
  • 数学も交えて理解を深める(30分)
(千田)エンジニア以外のメンバーからも参加者がいたため、専門的な言葉の説明から行いました。最も説明が難しい「そもそもアルゴリズムとは何か」から始め、「配列の探索」や「ソート」といったテーマでイメージを膨らませてもらいました。また、アルゴリズムの効率を表す「計算量」という概念を紹介し、全探索や二分探索といった異なるアルゴリズム間でどのように計算量が異なるのか説明していきました。

一通りの説明が終わると、続いてはワークショップの時間。

ワークショップでは、“選択ソートの実装”を行いました。好きな言語を用いて良いというルールのもと、プログラムの書き方に少しだけ制約を課すことで、実装の指針となるように設計したのだそう。

実際にプログラミングをするということで、参加者は集中モード。こういった機会だからこそ、普段の業務では使っていないRustやJuliaといったプログラミング言語を使っているメンバーも見られました。

速いと10分とかからずに実装を終えるメンバーが出てきて、自分の作業が終わったエンジニアはエンジニアではないメンバーに説明をするなど、参加者同士で教え合うシーンも。

(千田)ワークは30分ほどの時間で行いました。答え合わせとして、「僕だったらこう書く」という回答例の共有と解説。最後は選択ソートのアルゴリズム手順を計算式に落とし込み、計算量を導出しました。個人的に、数式はスライドで見るよりも目の前で計算する過程を見れた方が理解しやすいこともあり、実際にみんなの前でホワイトボードを用いて式を起こしていく形式にしてみました。

勉強会を主催してみて

勉強会後のアンケートにて、エンジニアからは「良い復習になった」「基礎を見直す機会になった」、エンジニア以外の参加者からは「実装は難しかったが座学が面白かった」「コードをエンジニアに見せてもらって理解ができた」など、ポジティブな意見が多く寄せられました。

(千田)エンジニアを始め、社内のメンバーが楽しんで参加してくれて嬉しかったです。反面、参加者が前提で持っている理解度が異なるため、全員に対して同じ内容を伝えるのは難しかったですね。特にエンジニア以外のメンバーに対する内容は、もう少し設計が必要だなと感じました。
参加者からは「勉強したいことが増えた」や「次はこの内容について聞きたい」という意見ももらっているので、フィードバックを活かして、これから第二回アルゴリズム勉強会に向けた企画をしようとしているところです。次回は参加者のレベルごとに内容を分けて話そうかなと思っています。
(千田)Voicyは技術に前向きなエンジニアが多く、自己研鑽はもちろん、インプットした情報が活発にシェアされている環境です。だからこそ自分も「基礎は誰でも知っているからシェアをする必要はない」ではなく、「シェアすることで少しでも誰かの力になるかもしれない」と考え、勉強会の開催に挑戦することができました。勉強会終了後に「時間内の実装が間に合わなくて悔しかったから、次の日に復習して自分で実装した」という声を複数人からもらい、前のめりに参加してくれる姿勢を感じて嬉しかったです。
こういった勉強会の機会はもちろんなのですが、個人的には複数人に向かって話すことよりも、個別で説明するほうが得意なので、これからは任意で行っているもくもく会をもっと活発化させていけたらな、なんて思っています。

今回は、アルゴリズム勉強会を取材してみました!
今後もVoicyのエンジニアによる様々な取り組みをお届けしていきたいと思います。

株式会社Voicy's job postings
30 Likes
30 Likes

Weekly ranking

Show other rankings