EY-Officeは教育のビジネスを行っていますが最初から行っていたわけではなく、最初はソフトウェア開発のみ行っていました。そんな当時ソフトウェア開発で行っていた会社のマネージャーの方から「開発者のスキルアップ教育をしてれませんか?」と声をかけられたのが始まりです。その後は教育も開発と並ぶビジネスになっています。
しかし、今回はビジネスとしての教育ではなく、新人にプログラミングの指導をしたりするような教育はプログラマーのスキルアップになるのか?という話題です。
昔つかっていた画像の再利用しました
技術知識が深まる
私も教育を始めた当初に体験して驚いたのですが、普段のプログラミングではなんとなく使っている技術(フレームワーク、API、パターン・・・)でも人に伝えようとすると中途半端な知識では自信を持って教えられません。
その技術のコンセプトや各種機能を再度勉強し、新たな発見をする事がたくさんあります。
また、一見その技術のどこが良いのか分かりにくいものもあります、例えばReactのJSX(→関連記事)。これらを説得力をもって説明するのは、その技術の本質や納得できるようなサンプルコードを考える必要があります。
ドキュメントを書く能力が高まる
教育を行うにはテキストやスライド(パワポ)を用意すると思います。教育を何度かこなすと簡潔な文書や図を使って説明を書く能力が上がってきます。
また、他人の作ったプレゼン資料を見ても内容以外に、この説明うまいな!と気づくことが出来るようになりテキスト作りが上手くなると思います。
これらの能力は、開発ドキュメントの作成にも役立ちます。なんと言ってもドキュメント書くの面倒くさいと思う苦手感が減ります。
読みやすいコードを書く習慣が付く
プログラミング教育では教材のサンプルコードが必要になります。とうぜん読みやすく理解しやすいコードを書かないといけません。
しかも教育する際には「良いコードを書きましょう」などと口走るわけです・・・
こうなると、普段コードを書くさいにも「受講者には良いコードを書けと言ってるのに、こんなコード書いてていいのか」のような言葉が頭に浮かび、雑なコードが書けなくなります。😅
プレゼン能力が高まる
教育は受講者が理解出来ているか、顔色みたり、質問したりしながら講義を進めていきます。時にアドリブで、たまに準備してあった予備コンテンツを使い補足をしたりします。
これらの能力は、社内や開発者コミュニティーでプレゼンする際に役に立ちます。
プレゼン能力が高まる事はコミュニケーション能力が高まるとことで、長い人生の中で役に立つ能力だと思います。
まとめ
新人にプログラミングの指導をしたりするような教育はプログラマーのスキルアップになるのか?に対する回答はYesです。
私も若い頃、バリバリとコードを書くのが好きだったころ、新人にプログラミング教えてほしいと上の方から言われた時に「面倒だなぁ〜」と思い拒否した事もありました。
しかし独立後に教育の仕事を始めたのは、現在ふり返ると素晴らしい判断だった思います。