新人のプログラミング教育|重要なポイントとは?

 2020.03.17  株式会社システムインテグレータ

情報処理を専攻していた新入社員であっても、現場で使える人材になるまでには相当の時間がかかります。それがどんなに優秀な人材であってもです。多くの企業では「即戦力となって欲しい」という願いから、先輩社員のそばに付かせてOJTで教育を進めていくことでしょう。しかし果たして、新人教育の正解とは何でしょうか?

「正解は何か?」と聞かれれば、企業によって三社三様としか答えられませんが、新人プログラマを教育するにあたり重要なポイントはいくつかあります。本記事ではそのポイントを紹介しますので、新人教育に悩んでいる方はぜひ参考にしてください。

新人プログラマ=コンピュータ知識のない素人

情報処理を専攻してきた新人プログラマや、趣味でプログラミングを行っていた新人プログラマには、当然ながら一定ののコンピュータ知識が備わっています。通常のコンピュータ知識を持つ人からすれば当然玄人ですし、プロフェッショナルのように映るでしょう。

しかしながら、システム開発の現場では「コンピュータ知識のないまったくの素人」として扱わなくてはいけません。なぜなら、新人プログラマが学校で勉強したことや、趣味として行ってきたプログラミングとはまったく違った世界が待っているからです。

こうした事象はシステム開発に限った話ではありません。高校や大学で専攻していた学問をそのまま職にした場合、たいていの人は「現場では通用しない知識が多い」という問題に直面します。新人プログラマ教育では、まずこの壁を如何に乗り越えさせるかが重要になってくるので、新人プログラマに一定の知識があると考えず、コンピュータ知識のない素人として指導していく方が良いのです。

丁寧に教えるか?突き放すか?

新人教育にあたる現場責任者や先輩社員の中には2つのタイプがあります。新人プログラマに対して「丁寧に教える」、もしくは「突き放す」の2つです。後者は「分からないことがあればまずは自分で調べろ。それでも分からなければ聞け。」と本人の自主性を促そうとしながら教育にあたります。「自分で苦労して調べたことの方が定着しやすい」というのが大方の主張ですが、実は教育という面ではあまり効率的ではありません。

学習した内容の定着率というのは、本人が自主的に調べたか否かではなく、明らかに本人のやる気によるところが大半を占めています。大人ならば「調べる」という行動は簡単なものですし、今ではインターネットもあります。そのため、自分で調べさせることで定着率が上がるということはそうそう起こらないことなのです。

突き放して自己成長を期待するよりも、丁寧に教えることの方が重要です。学習内容の定着率を上げるにはやはり本人のモチベーションが高いことが条件になります。「自分で調べろ」というのは少なからず突き放されている感覚になり、モチベーションが向上することはありません。新人プログラマ時代は先輩社員同士の話に付いていくのもやっとな状態なので、それ以上心理的負担をかけて良いことはないのです。

だからこそ丁寧に教えることが新人プログラマのモチベーション向上・維持に繋がりますし、心理的負担を減らしながら効率よく学習内容を定着させる手段になります。

新人プログラマに理解させるべきこと

システム開発現場の中で新人プログラマに教えるべきことはたくさんあります。しかしまず大切なのは、以下のような基本的な知識を理解させることになります。

コンピュータの基本

新人プログラマはコンピュータ知識のないまったくの素人です(を前提に教育にあたります)。学校で教わったり独自に勉強したりしたコンピュータ知識は現場で通用しないことが多いでしょう。コンピュータの世界は1と0しかないこと、ファイル・フォルダ・ディレクトリとは何か?など、コンピュータ知識に関する基本から丁寧に指導していきましょう。ここが十分に理解できていないと、新人プログラマはなかなか先へ進めません。

処理フローの考え方

コンピュータに仕事をさせるということは、仕事の手順を処理フローとして理解できるようにならなければいけません。コンピュータが理解できるような論理的な処理フローの考え方を教え込むことが大切です。具体的には後述する論理的思考能力で紹介します。

エラー処理の重要性

新人プログラマが作ったコードは未熟です。必ずと言ってよいほどエラーが発生します。しかし多くの新人プログラマはエラー処理が抜けてしまう傾向があります。システム開発の世界では正解だと思っていたことが成功するとは限らないこと、エラーが起きたらどう処理すればよいのか?ということを徹底的に教え込みましょう。

スパゲティコードを作らない

麺同士が複雑に絡み合い、先端がどこにあるかも分からない。少し引っ張れば切れてしまいそうなスパゲッティコードは決して作ってはいけないことを徹底して教える必要があります。システム開発の現場では多くの開発者が関係しますし、万人にとって理解しやすいコードを書けるのが優秀なプログラマというものです。

常に目的意識を持つ

新人プログラマが陥りがちな状態は、「自分が今、何を何のために作っているのか?」を意識しないままプログラミングを行うことです。「何を作っているか」は分かっていても、「何のために作っているか」まで意識できない人は非常に多いでしょう。しかし、システム開発の世界では常に目的意識を持って、今作っているプログラムがどこにどう繋がっているのかを意識しながら仕事にあたれる人が、結局は良いプログラマになります。

論理的思考能力を養うような教育を

プログラミングを学習すると、あらゆるビジネスに通じる論理的思考(ロジカルシンキング)の力が養われるといいます。実際にプログラミングとは論理的思考の連続なので、自然と強制トレーニングを行っているようなものです。しかし、単にプログラムを作るだけで論理的思考能力は養われません。論理的思考能力が備わっているように見えて、実際はかなり抽象的な考え方しかできないという人はたくさんいます。

そこで、論理的思考能力を養うための教育を徹底しましょう。最初は「自動販売機で飲み物を買う手順を考える」といった初歩的なことで構いません。大切なのは、とことん細分化させて考えさせることです。そこから処理フローの考え方や、想定外処理の考えかたなどに発展させて論理的思考を繰り返させます。

参考ブログ:ロジカルシンキング(論理的思考)とは?

新人教育マニュアルを作成する

新人プログラマを効率良く教育し、いち早く即戦力として迎えるためには教育そのものの質を均一化しなければいけません。部門責任者や先輩社員ごとに教えることが違うと、新人プログラマは一向に育ちませんし、新人間で成長の差も大きく開いていきます。

そこで大切なのが「新人教育マニュアルの作成」です。新人プログラマに教育すべき基本的事項や教育方法などをマニュアルとしてまとめ、誰もが一定に教育できる環境を整えます。新人プログラマからしても体系化された教育の方が安心して望めますし、その結果効率的な教育が実現します。

さいごに

本記事では以下の5つのポイントについてご説明しました。

  1. 新人プログラマ=コンピュータ知識のない素人
  2. 丁寧に教えるか?突き放すか?
  3. 新人プログラマに理解させるべきこと
  4. 論理的思考能力を養うような教育を
  5. 新人教育マニュアルを作成する

新人プログラマの教育へ取り組む際は、以上のポイントを意識しながら取り組んでみてください。それだけで、今までとは違った新人教育を進められるはずです。

新規CTA

新規CTA
新規CTA

RELATED POST関連記事


RECENT POST「教育」の最新記事


この記事が気に入ったらいいねしよう!