公開すぐに役立つJavaプログラミング学習法(3):Javaをヒトから学ぶ「これからキャリアを積むにはJavaはマスターしておきたい、しかし時間が......」という声をよく聞く。そこで今回は、忙しいITエンジニアのためのJavaプログラミングの「学び方」を4回の予定で紹介する。本記事は@ITラーニングデスクにおいて2001年11月16日に掲載した記事を加筆、修正したものである。});前回は教材を使用して個人で学習する方法を説明したが、今回はヒトから学ぶ方法(講習会、仲間同士の勉強会)を取り上げる。モノから学ぶよりヒトから学ぶ方が確実で早いが、コスト、スケジュールの調整などの面ではややハードルが高いといえるだろう。価格が高いプロジェクトですぐにJavaの知識が必要であるなど、短期間でJavaを習得したい場合、IT教育機関などで実施されている講習会に参加するのが有効だ。通常の入門コースで2〜3日。そのほか、通信やマルチスレッド、サーブレットやEJB、J2MEプログラミングなどを扱う中・上級コースなどのオプションを入れても1週間弱で、ある程度の知識とスキルを身に付けることができる。多少コストはかかるが、プロジェクトの必要経費として計上できる場合もあり、短期間での技術習得には有効な方法といえる。自習では分かりにくいJavaの概念なども、インストラクターに分かるまで質問することができるのもメリットだ。講師との相性もあるし、また講師ごとに質のバラツキもあるので、あまり信用の置けない教育機関は選ばないようにしたい。講習会の選定で最も重要なのは、自分の勉強したい内容と講習会の内容がどれだけ一致しているかである。プロジェクトがすでに決まっている場合、必要なテーマと講習会の内容がある程度一致しているかどうかを確かめないと、せっかく習得した知識が実務で生かせないということにもなりかねない。講習はテーマ別に構成されたテキストブックに沿って進められるので、例えば教育機関のWebサイトにテキストブックの目次が掲載されていたら、それを吟味するといいだろう。過去に受講した経験のある先輩や同僚から評価を聞いておいたり、エンジニア向けのサイトの掲示板などで、受講経験者の評価を確認しておくとベター。そのほかのポイントは、講義と実習の時間配分、何名のクラスか(もちろん少ない方が密度は濃い)、講師のほかアシスタントはつくか、などだろう。サン・エデュケーション・サービスJavaの開発元、サン・マイクロシステムズが提供するJava学習コース。入門から実務まで幅広い教習コースを定期的に実施している。豆蔵オブジェクト指向コンサルティングで定評のある豆蔵の教育サービス。方法論としてのオブジェクト指向を深めたい場合には最適。個人的かつ感覚的な理解だが、プログラム生産技術の進歩は、企業の成長と似ているような気がする。1人で何でもやる個人事業主の時代は、手続き型指向の発想だ。8ビットマイコン時代にBASICで書かれたプログラムのように、いくつかのサブルーチンを持つものの、基本的には1つのソースコード中にすべての処理が記述されている。次に小規模企業の事業主となると担当者を何人か置いて、あれこれ指示は出すものの、実作業は少なくなる。これはモジュール化や構造化の段階といえる。メインプログラムを中心に各関数やモジュールを別ファイルに分けて記述するC言語のソースコードに相当するだろう。最後に大企業の経営者となると、組織をデザインし、それぞれの役割と機能を持った事業部を統括するという仕事になる。各事業部はクラスに相当し、役割と機能をプロパティやメソッドに置き換えれば、まさにオブジェクト指向といえなくもない。作業依頼書やメールである事業部から別の事業部に必要なデータや指示を添えて仕事の依頼を出すのは、まさにオブジェクト指向のクラス間通信に相当する。これは、プログラム生産技術や企業の組織論に限った話ではなく、「規模の変化に対する人間のアプローチの仕方にはパターンがある」ということかもしれない。講師の能力に結果が左右される仲間同士で目的やテーマに沿って勉強会を開くという方法は意外に有効だ。経験豊富な人間の考え方や方法論、知見を知る機会にもなるし、またお互いに知恵を出し合うことで、自分の幅を広げることができるし、チームワークの強化にもつながる。いずれも個人学習ではなかなか得られないことだ。プロジェクトの立ち上げ活動の一環として、Javaにとどまらず、必要な技術全般をチーム全体で学ぶのは、プロジェクトを成功に導くためにもぜひお薦めしたい。Column:気分の盛り上げ方プログラミングを勉強するといっても「やる気が出ない」ということも多い。「やる気を出すこと」は自分で勉強する際にクリアすべき、大きなハードルといえるのではないだろうか。そんなときは、自分にとって好きなこと、楽しめることを軸に、それに近いテーマを勉強してみよう。ゲームが好きならゲームプログラミングから入るとか、ギャンブルが好きならスロットマシンを作ってみるとか、野球好きならサンプルプログラムの文字列をひいきのチームの選手名にするとか、少しでも楽しみながら学習を進めていこう。World!」と出力されるよりは、「ローズ、中村連続アーチ」と書いた方がパワーが出るというものだ。よくないのは、みけんに皺(しわ)を寄せて、悲壮感を漂わせながら勉強すること。苦行を続けるくらいなら、もっと興味・関心のある分野から学び始める方がいい。効果的な勉強方法とは?学習の進め方には2つの方法がある。1つは最も知識や経験のある人間が講師として、それ以外のスタッフに教授する方法。1つは各テーマや得意分野ごとに担当を決めて、それぞれが下調べや予習をして情報や知識を伝達し合う方法だ。前者はレベルの高い人が講師になることで、参加者全体のレベルアップが期待できる。仲間同士の気安さで、納得がいくまで質問や議論ができるのも素晴らしい点だ。教材の作成や場所の手配など講師に負担がかかることは、十分配慮しなくてはならない。できれば持ち回りで世話人を決めて、講師になる人間のアシスタントをするようにしたい。後者は全員が参加し、きっちり予習をすることで全員の自立心や自覚が養われる。「教える」ということは最大の学習ともいわれ、人に説明しようと必死に調べたり、考えたりすることで、自分の思考や理解の整理にも役立つし、また、自分よりスキルのある人に鋭い質問をされて右往左往したり、いままで見えていなかったことが見えたりなど、個人の成長につながる体験も期待できる。(すでにお気付きと思うが)、個人およびグループの知識や理解のレベルに左右されるのが難点だ。この問題に対処するには、包括的で深い知識を持った上級者がスーパーバイザー役を果たすと効果的であろう。Column:Javaを生かして資格を取ろうJava言語を一通り習得できたら、スキルを確認したり、また自分のキャリアアップに役立てるために資格に挑戦してみよう。Java言語の資格としては、サン・マイクロシステムズ社が提供するJavaプログラマ認定資格がある。試験はオンラインで提供され、設問数は約60問からなる選択式。合格ラインは61%以上である。3問のうち2問正解すれば十分に合格が狙える。この手のベンダ試験は受験料が高額なので、問題集などを通じて一度で合格できるようにしっかりと準備してから臨みたい。Javaプログラマを取得できたら、その上位試験になるデベロッパやWebコンポーネントデベロッパ資格を狙ってみてもよいだろう。プログラミング項目もJavaで受験できる。試験内容はプログラミング以外にもハードウェアやソフトウェア、OSや開発技法など包括的なシステム開発の知識が要求される。Javaの学習に加え、書籍や通信教育での基礎学習が必要になる。ともき)某社よりプロジェクトマネジメントに関する本を上梓予定で(共著)、最近はヒマさえあれば膨大な資料に目を通し、原稿を書き、イラストのラフを作成している。いろいろな主張や仮説を持って取り組んでいることをあらためて知り、感動している。知的価値を産み出す活動は答えがないゆえに難しく、それゆえに面白いのかもしれない。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。