OpenWork Tech Blog

OpenWork を運営するエンジニアによるテックブログです。

自己啓発支援制度を使ったエンジニア社内勉強会と課題図書の紹介

f:id:saoha:20210623165051p:plain こんにちは。Webアプリチームの大橋です。

前回は西川さんが自然消滅しない輪読会のやり方 について書いてくださいましたが、OpenWorkのWebアプリチームではこれまでも様々な社内勉強会を実施しています。

そこで今回は、勉強会を支えるOpenWorkの制度と、今まで私たちが実施してきた勉強会の方法や課題図書、そして得られたメリットについてご紹介したいと思います。

OpenWorkの自己啓発支援制度

勉強会では、まず1冊の本を選定して、各自で購入準備をしておくことから始めることが多いのですが、技術書ってかなり費用がかかりますよね。

OpenWorkでは従業員が主体的に成長することを支援するための制度として「自己啓発支援制度」があり、1人あたり年間12万円、会社が費用を負担してくれます。
目的は書籍だけに限らず、雑誌、新聞、オンラインアプリ、セミナー、講座、資格受験料もOKです。(2021年6月現在)

この制度のおかげで、勉強会ではテーマに合った書籍を課題図書にし、参加者に購入を薦めることができますし、外部の講座に参加して勉強会で共有することも可能です。

勉強会のスタイルと課題図書

毎週1回30分で実施しています。
任意参加ですが、新入社員もベテラン社員も分け隔てなく、ほとんどの社員が参加しています。
実施形式と課題図書についてご紹介します。

輪読会方式

各章ごとに担当を決め、持ち回りで担当者が要点のまとめと議題を提示しました。
本に書いてあることは読んでいる前提で、できるだけ議論の時間を長く設けるようにしました。

現場で役立つシステム設計の原則
オブジェクト指向の考え方を何故そうするのかと共に学べる書籍です。
議論のテーマはOpenWorkのソースコードの改善点にしていました。

最初にこの本の輪読会をしていたのは1年半ほど前ですが、当時参加していなかったネイティブアプリチームと新入社員が今は中心となり、同じ書籍をテーマに現在も輪読会を行っています。
こちらは1章を更に細かく分けて週3日実施しており、主担当がQiitaTeamにまとめ記事を作成して発表した後に参加者同士で話す時間を設けています。

レガシーコードからの脱却
この頃から全員リモートワークになり、勉強会もZoomで行うようになりました。
議論のテーマは、OpenWorkのシステムで実践するにはどのような方法、課題があるか?という論点にしました。

SCRUM BOOT CAMP THE BOOK
今はWebアプリチームでもスクラム開発を始めていますが、当時スクラム開発をしているのはネイティブアプリチームのみでした。
絵が多くて読みやすく、スクラムをやったことない人でもイメージしやすいです。

この頃は既に勉強会もZoomで行うことが定着したので、後半はルームを分けて少人数で議論し、最後に各ルームで話した内容を発表し合うスタイルになりました。
これを行うことで、発言者が限定されることなく、全員が話しやすい雰囲気になったと思います。

課題提示方式

数人が主催メンバーとなり勉強会の運営を行うスタイルで、課題を事前に参加者に提供します。
勉強会の当日はルームに分かれて課題を見せ合いながら議論し、最後にルームごとに発表しました。

ドメイン駆動設計 モデリング/実装ガイド
UML図を作ったり、コードを改修するよう課題が事前課題として提示されました。
課題を準備する側は勿論、課題を解く側も通常業務の合間にやらなければならないので大変だったと思いますが、実際に手を動かしながら考えられること、事前課題に取り組む時と勉強会当日に再度考えることができるのが良かったと思います。

ソフトウェア品質を高める開発者テスト
初回は事前課題ではなく、当日課題を提示して、チームに分かれてモブプログラミングを試みました。
参加者が事前に時間を使う必要がないのがメリットですが、勉強会自体の時間に余裕があったり、制限時間内に終わる課題でないと難しいと感じました。
その後は事前課題を提示しましたが、あまり時間をかけずにできる内容にしたので参加者の負担も少なく、議論の時間も取ることができました。

単発テーマ

ネイティブアプリチーム、インフラチーム、リファクタプロジェクトからの技術知識共有を勉強会の時間で行っていただくこともよくあります。
また、講座、セミナーを受けた社員からの共有もありました。
担当者が発表し、質疑応答の時間を設ける形が多いですが、説明後にハンズオン形式で実践する勉強会もありました。

社内独自のテーマ

社内で取り組んでいることを話し合う回もあります。
社員の行動指針の具体的な注力方針(ACTION STYLE)について話し合ったり、開発プロセスを改善していくため、障害原因の深堀りのコツを学んだりしています。

社内勉強会の目的とメリット

勉強会をほぼ毎週続けて1年半ほどになりますが、ネタが切れたり、準備が大変、ということも多いです。(実際、ネタがない週はお休みします。)
それでも続ける目的とメリットについて考えてみました。

技術力の底上げ

個人のスキルだけでなく、チーム全体としてのスキルを上げていくことが、サービスの品質を保つことに繋がると思います。
日々業務に追われていて勉強する時間が取れない人にとっても良い機会だと思います。

プレゼン能力

私のように人前で話すのが苦手な人や、新入社員の方は、輪読会で発表するだけでもプレゼンの練習になると思います。新入社員の方もとても上手です。

品質改善

技術書の内容を元に、OpenWorkのサービス品質を改善する為に議論を行うことができます。
議論の上明確な答えが出ないことのほうが多いかもしれませんが、参加者同士、現状の課題や理想を共有するだけでも意義があります。

参加者同士のコミュニケーション

これは特に今のリモート環境下でメリットがあると思いました。
1人で技術書を黙々と読むよりも、他の人の意見で刺激を受け、理解を深めることができます。

最後に

いかがでしたでしょうか?
OpenWorkでは新入社員を中心にエンジニアの人数も増えており、勉強会の内容や方法も変遷のときを迎えています。
今後もメンバーの意見を取り入れたり、組織の規模に合った勉強会にブラッシュアップできたら良いと思います。
勉強会の企画や運営をしたい方も歓迎しています。
vorkers.jp