Enablement Bootcamp for Gopherizing 〜 業務で使えるGoを学ぼう 〜
はじめに
ナレッジワーク Enablement Groupの上田(@tenntenn)です。
私が所属するEnablement Groupでは、「エンジニア職にできる喜びを届ける」というミッションを掲げて、エンジニアイネーブルメント事業を行っています。
具体的には、Goエンジニア向けの_YOUR WORK for Gophers(β)の開発、Enablement WorkshopやEnablement Internshipなどのイベントの企画・運営などを行っています。
本記事ではエンジニアイネーブルメント事業の1つとして行なう予定の「Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜」について、開催に向けて思いを述べます。
なお、エンジニアと表記した場合、ソフトウェアエンジニアを表しています。
エンジニア採用におけるジレンマ
企業の事業やミッション、スタイル(バリュー)などに共感し、働いてみたいと考えていても、残念ながらその企業と自身のスキルセットがマッチしていない場合があります。
実務レベルのスキルは一朝一夕では身につきません。個人で学習するとなると時間や労力もかかるため、スキルセットのミスマッチがあると転職のハードルは高くなってしまいます。転職先の候補にすら挙がらない場合も多いでしょう。
たとえば、プログラミング言語Go(以下、Goと表記)を導入している企業は、開発規模を問わず、年々増えてきています。
Go Conferenceのスポンサー企業の数においても、2022年の35社から2023年の53社と大幅に増えています。そのため、Goエンジニアの採用も活発になっており、需要に対して不足している状況といえるでしょう。
Goエンジニアを求める企業が多くある一方で、Go未経験者にとってGoを実務レベルで学ぶことができる機会は少なく、Goエンジニアを採用したい企業とGoを実務で使ってみたいGo未経験エンジニアの間に需要と供給のジレンマが生まれている状況です。
このジレンマを解決するためには、個人では学習しづらい、実務レベルのスキルを学習できる場が必要となってきます。
仕事と技術コミュニティ
エンジニアにとっての技術コミュニティとは、自分の学んだナレッジを共有する場であり、自分の知らないナレッジを得る場です。また、同じ技術を扱う人たちが集まることで、その人たちの居場所を作ることもあります。
仕事と技術コミュニティは、相反するもののように感じてしまうこともありますが、技術コミュニティに共有されるナレッジは、個人プロジェクトや趣味によるものだけではありません。仕事を通して得たナレッジを交換し合うことも技術コミュニティの重要な側面です。
筆者は、10年以上Goコミュニティを運営しており、一般社団法人Gophers Japanの代表理事やGoogle Developers Expert (Go)なども務めています。Goコミュニティを通して、Goを普及させる活動はもはやライフワークといえます。
筆者のコミュニティにおける活動は、以前Findy Engineer Lab様に記事としてまとめていただいたので、ぜひそちらも御覧ください。
Goコミュニティを運営する中で、コミュニティの活性化に欠かせないのは、その技術を仕事として利用する企業です。仕事で活用する企業が少なければ、ナレッジは溜まりづらく、また新しく学習しようとする人も増えにくいでしょう。
そのため、Goコミュニティを運営する立場としても、仕事としてGoを活用する人や企業が増えていくことは素晴らしいことだと考えています。
Enablement Bootcamp for Gopherizing
ナレッジワークが掲げるイネーブルメントの実現とは、仕事における「ひとりひとりの成果・能力の向上」の実現です。
エンジニアイネーブルメント事業において、実務レベルのスキルを学習する場を提供し、Goエンジニアとして活躍する人を増やしていく活動は、ナレッジワークのミッションに向けての活動の1つといえます。
そこで、エンジニアイネーブルメント事業の活動として、「Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜」という実務レベルのスキルを学習する場を無償で提供することになりました。
このブートキャンプでは、Goエンジニアとして仕事をしたいと考えるバックエンドエンジニアの方を中心に、短期集中で何をどう学べば良いか身につけていただききます。もちろん、実務レベルのスキルは、一朝一夕には身につきませんが、学習の加速度を上げる機会になれればと考えています。
ブートキャンプの流れ
ブートキャンプは、次の図のような流れで開催する予定です。
まず、connpassに記載のあるフォームにてエントリーをしていただきます。エントリーを行なうと申し込み課題が届きますので、8月17日 00:00 (JST)までに解答してください。
もちろん、申込み課題を解答する前に基礎学習として、A Tour of Goや公式チュートリアルを活用して学習いただいても問題ありません。プログラミング言語Go完全入門やGopher道場の講義動画もぜひご活用ください。
申し込み課題は、Goの知識があまりなくても解答できる問題になっています。作成するプログラム自体は単純ですが、どのように入力データや出力データを想定・工夫しているかがキモとなっています。
ブートキャンプの前後にスキル診断を行います。どの知識が自分に足りないのか把握し、そこをどう伸ばしていくかを考えるきっかけにしていただきます。
オンラインで行われるトレーニングは、2時間×4日の合計8時間で行います。時間が限られているため、トレーニングでは、基礎的な文法の学習などは含まず、それらは予習または復習で取り組んでいただきます。
学んだ成果は、10月12日(木)に行われる発表会にて1人5分程度で発表していただきます。発表会には、ブートキャンプの受講生以外からも聴衆を集めたいと考えています。
ブートキャンプは次の日程で行います。いずれの日程にも参加できる方のみを対象とさせていただきます。
講師とトレーニングメニュー
ブートキャンプの講師は筆者とナレッジワークCTOの川中が務める予定です。
トレーニングメニューは次の図のようになっています。Goコミュニティでもよく話題に挙がる「Goらしいコードの書き方」、「テスタブルなコードの書き方」、「実践的なエラー処理」を扱います。また、Goを使ったAPI開発でよく用いられるgRPCについても扱う予定です。それぞれのトレーニングは、Day1、Day2、Day4を筆者が担当し、Day3をCTOの川中が担当する予定です。
おわりに
本記事では、ナレッジワークが提供する「Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜」について紹介しました。興味のある方は、まずエントリーをして申し込み課題にチャレンジしてみてください。本記事で紹介したブートキャンプを通じて、Goで仕事をする人が増えると嬉しいです。
CTOの川中が記事に書いている通り、ナレッジワークではソフトウェアエンジニア倍増計画を進めています。バックエンドエンジニアについても募集しています。
筆者は、ナレッジワークは技術力・チャレンジ・再現性の揃ったイネーブルメントを体現しやすい環境だと考えています。ブートキャンプでGoを学び、ナレッジワークで一緒に働ける人が現れることを楽しみにしています。
また、ナレッジワークに少しでもご興味を持っていただける方は、カジュアル面談フォームからお気軽にお申し込みください。