実際のエンジニア新人研修技術課題 03_ExcelVBA

【習得して欲しい技術】
■プログラムのコメントを元にプログラムを実装する
■わからない技術を自分で調べる
■モジュールを操作してみる
■関数化を行ってみる

デバッグ研修で学習したExcelVBAを使用して、プログラムの流れに沿って自分でExcelVBAのプログラムをゼロに近い状態から作成していく研修です。システム開発では多くの場合、開発をするために詳細設計書という、プログラムの流れを日本語で書かれた設計書が存在しています。この研修では10個の課題があり、それぞれにプログラムにコメントで流れが記載してあります。それをもとに自分でプログラム開発を行います。

システム開発では、
・わからないことを自分で調べ、
・調べたことを試して動きを理解し、
・作りたいプログラムを作成していく、
という流れが非常に重要です。
新人研修では記載されているコメントをもとに、わからないことを検索して試すということを繰り返すことになります。新人もベテランも、開発作業をする時は、ずっとこの流れを繰り返していくことになります。デバッグと並んで必ずできなければならないことですので、研修の頃から繰り返しやっていきます。

例えば、課題に「Excelシートの内容をcsvファイルに出力する」といったコメントがあったとします。この時、どのように調べて実装をするでしょうか。プログラム開発している時、わからないことを調べるのは「プログラム言語 やりたいこと」で調べる人が多いです。今回の場合で言えば、私なら「ExcelVBA csv出力」と調べます。そうすると、沢山のホームページでやり方を解説してくれているため、それを見て理解をすることになります。

ここで、沢山のページがあり、結果が同じでもいくつかのやり方が紹介されているため、経験が浅いとどれが正解かがわからないこともよくあります。解説を読んでいると、調べたい内容とは別のわからない用語や技術が沢山出てきますので、さらにわからないことが増えていきます。わからない用語や技術を調べようとして検索をすると、さらにわからない用語が増えていくなど「終わりがないのではないか?」と思ってしまう人もいるかもしれません。

調べるべき用語と調べなくてもいい用語がわからないため区別をするのが難しく、全部調べようとしてしまい、スケジュールが遅延することも、しばしばあります。そうやって遅延するのも経験です。ミスをすれば覚えますので、遅延も計画のうちです。遅延をした時は、遅延をするとわかったタイミングで報告があるか、定時くらいの業務報告の時に報告があるか、報告がないかというところを見ます。プロジェクトで遅延の際、報告はタイミングや報告方法が大事なので、遅延が発生したタイミングで教えていきます。

実際に大変な作業です。経験や知識がなければないほど、調べなければならない用語が沢山でてきます。調べなくてはならない用語と、調べなければならない用語があっても、区別をすることができません。そのような判断ができるようになるのも経験です。

でも、ここに慣れて欲しいのです。
何度も言いますが、
システム開発では、
・わからないことを自分で調べ、
・調べたことを試して動きを理解し、
・作りたいプログラムを作成していく、
という流れが非常に重要です。

私は今でも、この流れでシステム開発を行っています。ベテランになったらなったで作業内容が難しくなるため、自分の経験だけで対応できないことは沢山あります。ずっとこのようなことを繰り返してスキルを高めていきます。

また、プログラムは1つの場所に処理を記載し続けるということはしません。モジュールや関数といったことを理解していないと、正しい状態でプログラムは組めませんので、「3_ExcelVBA」研修では、モジュール化や関数化をするための基本を教えます。

研修生が作成したプログラムは全課題のソースコードレビューを行います。各研修の最初のほうは研修生に説明をしてもらいます。ハイレベルなソースコードを求めるわけではありませんが、きれいなプログラムの書き方ができるような指摘を行います。

■ソースコードレビューの内容
・変数名
・定数名
・関数名
・インデント
・改行のタイミング
・その他気になるところ
※処理の順番は記載されているため独自処理がなければ指摘対象外

課題合格の判断は、ソースコードレビューの内容はおいておき、課題でやりたい処理が実現できればOKです。まずは動くものを作る。それが大事です。それができれば、あとは品質を高めるだけです。

実際の課題を1つ抜粋しますので解いてみてください。専門学校生やITエンジニアになりたい人は、事前にこのような問題を解いておくと、自分のレベルがわかってよいかもしれませんね。

■03_ExcelVBA研修課題サンプル

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*
*

トップに戻る