リモートのテックシェアを有意義なものにする方法
フロントエンドエンジニアの茶木です。
社内では定期的にテックシェアが開催されています。先日のリモートのテックシェアが特に有意義だったと感じたので、どのようにすればテックシェアを有意義なものにできるか考えてみます。
結論
先にリモートのテックシェアを有意義にするための方法の結論を述べます。
この結論は「メンバー間での理解度にばらつきがありそうなときは」という但し書きがつくかも知れません。
- テーマは事前に決める
- メンバーの理解度を確認しながらすすめる
- インスペクターなどコードを触れるツールを使用して触りながらすすめる
それぞれの項目の解説は後半にあります。
まず、当該の有意義な回になったテックシェアについて背景を説明します。
テックシェアの内容
背景
テーマは、JavaScript の 高階関数、クロージャー、カリー化 でした。多くの学習者のつまづきポイントだと思います。
代表でエンジニアでもある 原田 が、テーマについてリードしていく形で、理解に不安のあるエンジニアが参加しました。
開催前のメンバーの理解度もばらつきがありました。自分は参加メンバーの中では比較的高い理解度で、理屈は概ね理解し、実際のコーディングに使っているものもあるが「クロージャーと呼ぶのはコードのどの部分なのか」「カリー化を効果的に使えるのはどういったときか」といった箇所に疑問が残る状態でした。
テックシェアの流れ
そのテックシェアでは、プレゼンテーションを画面共有しつつ、画面脇にブラウザのインスペクターを出し、JSを実行しながら進行しています。各タイトルでは、メンバーの理解度を確認し、説明できるメンバーが説明できる範囲を説明していくスタイルで進行しています。
理解度の変化
終了後に参加メンバーが以前より深い理解を得たように見えました。
それ以上に、自身も含めて、理解していなかった部分を見つけたり、あるいは次の課題発見をしたりしていました。例を挙げます。
- クロージャー内の宣言した変数がスコープの範囲として保持されるのは理解したが、関数の持つ引数が保持されるのはなぜなのか
- クロージャーがメモリリークの温床になるが、これはガーベージコレクションの理解が必要だ。
などです。
結果として大成功の回になったと思います。そして、良いテックシェアにするために重要な要素があると気が付きました。前述の結論です。
テックシェアのコツ
テーマは事前に決める
弊社のテックシェアは、当日、話題を持ち寄って始めることもあるのですが、方向性のすりあわせや遠慮などが発生して、充実したケースになる回は少ない感触があります。逆に、今回のようにテーマが事前に決まっていると、メンバーそれぞれが下調べすることで、全員が発言に積極的になります。
メンバーの理解度を確認しながらすすめる
ときおりメンバーの理解度を確認し、全員参加で進行できるようにします。プレゼンテーションのページ切り替えなどのタイミングで確認し、メンバー同士で理解内容を解説しあうことで、理解度にあわせた進行になります。
インスペクターなどコードを触れるツールを使用して触りながらすすめる
コードの話をするならば、実際に動かして見れるわかりやすいです。エディタのライブシェアなども良いですが、ブラウザ付属のインスペクターは手軽でプレゼンテーションの画面共有と相性が良いです。
良かったところと課題感
良かったところを述べます。
- テーマが決まっており話題がぶれない
- 終了後に各メンバーがそれぞれのレベル感で新しい課題を見つけている
- 一度使った資料は、新メンバー加入時に必要に応じて使える
また一方で、課題もあります。
- 事前にテーマを決めて準備をするひと手間がある
- 理解度が大きく開いているメンバー同士は、注目点がバラけてしまって進行が難しい場合もある
おわりに
自分がよく理解していると思う分野ほど、積極的にテックシェアに出てみると良いかも知れません。メンバーに説明している間に、曖昧な部分があぶり出されたり、次なる課題が見えてくることがあります。
Gaji-Laboでは、 Next.js 経験が豊富なフロントエンドエンジニアを募集しています
弊社では Next.js の知見で事業作りに貢献したいフロントエンドエンジニアを募集しています。大きな制作会社や事業会社とはひと味もふた味も違う Gaji-Labo を味わいに来ませんか?
Next.js の設計・実装を得意とするフロントエンドエンジニア募集要項
もちろん、一緒にお仕事をしてくださるパートナーさんも随時募集中です。まずはお気軽に声をかけてください。お仕事お問い合わせや採用への応募、共に大歓迎です!