Javaプログラマの学習法/エンジニア

すでにJavaプログラマとして活躍されている方は、今後どのようにそのスキルを伸ばしていけば良いか、悩んだことはありませんか?
今回は、現在Javaプログラマの方が、さらに市場に求められる(多くの場合、年収アップにつながるであろう)人材になるための学習方法を、調査した情報もとに解説します。

自然発生的かつ半強制的な学習

あなたが、あるJava環境を使用したプロジェクトに、コーディングフェーズから途中参加するとします。そのプロジェクトは、オープンソースのLiferayを使用したポータルサイトを機能拡張です。そして、あなたは、Liferayを使ったことがありません。
あなたは、どうしますか?

自然発生的かつ半強制的な学習とは、新プロジェクトにおいて、または開始済みプロジェクトへの途中参加の契機において、Javaプログラマが知らなければならない技術の学習を示します。

Liferayの例で言えば、Liferayの使い方はもとより、ソースコードまで理解できるレベルでないと、お客様に納品できる品質のものを開発することはできないでしょう。オープンソースの場合、バグが隠れていることも多々有ります。

先を見越した自己研鑽の学習

Java 先を見越した自己研鑽の学習

① 最新Javaへの追従

ご存知のようにJavaには、大きく分けて、Java Standard Edition (Java SE)と、Java Enterprise Edition (Java EE)があります。ベースがJava SE、さらに機能追加されたものがJava EEという程度の理解で良いです。
現在最新は、Java SE 8、Java EE 7です。Java SE 9が来年リリースされる模様です。

Javaは、すでに成熟した言語となっていますので、バージョンアップによる機能拡張は、少ないです。しかし、HTML5に対応したWebSocketの追加のように、今後お客様の要件を満たすために必要になると思われる能拡張があったりしますので、Javaプログラマとしては、ぜひ最新のJava仕様の状況をウォッチし続けるべきです。
Java Specification Request (JSR)についても出来れば最新情報に留意して欲しいと思います。Java SEやEEで実装されないが、仕様として規定され実装をメーカで行うことがありますので、JSRもPublic Review辺りのフェーズになったものについては、どんなものが追加されたか知っておけるとベストです。

② 最新技術への追従

例えば、新たなフレームワークが開発された場合、概要を理解しておくべきでしょう。また、すでにメジャーなフレームワークになっているが、まだ使ったことのないものがあれば、ぜひ使ってみるべきです。
Spring Frameworkは使ったことがありますか?もしSpring Frameworkを使ったことが無いのであれば、使ってみるべきです。Spring Frameworkはすでにメジャーです。Strutsは、枯れているようで、生き残っており、案件によってはStrutsを含む改修もあります。しかし、まずは今後を考えて、古い技術より新たな技術、可能であれば今後メジャーとなりうる技術を先んじて習得することをオススメします。

例えば、LiferayとJetSpeedのように、類似の技術があれば、一つにこだわらずに、比較研究することも可能であれば行うようにしてください。
最新技術は、習得しておいてまったく損はありません。ただし、実際のプロジェクトで使用する際には、メリット・デメリットを考慮することになります。

③ ターゲットセグメントの枠を超えた学習

Java Android

具体的には、これまでJavaアプリケーションサーバで動作するアプリケーションを開発していた方が、Androidアプリの開発を学習する、及びその逆についてです。
どちらの場合も、Java言語による開発ではありますが、アーキテクチャは全く異なります。
今最も考えられるのは、前述の、Javaサーバサイドプログラマの方が、スマートフォンアプリプログラマの知識を得るということです。
スマートフォンアプリは、ゲームの場合、Unityなど多OS対応開発環境を使用することが多いですが、Androidスマホゲーム用にJavaで開発することももちろんありますし、ビジネス用途であればなおさらJavaです。以前は、セキュリティなどの関係から避けられていたスマートフォンアプリのビジネス利用ですが、現在では多くのソリューションが展開されています。
もし、あなたがJavaサーバサイドプログラマであれば、一度Androidアプリを作ってみることをオススメします。転職に有効ですし、同じ職場でもスキルエリアが拡張するので、将来有用です。

まとめ

自然発生的かつ半強制的な学習の場合、すでにプロジェクトに参加しているJavaプログラマが居れば、まず教えてもらうのが有効です。新たに参加するJavaプログラマが多い場合は、勉強会を実施するべきでしょう。本来は、プロジェクトマネージャやリーダが率先して実施するべきですが、行う気配が無い場合には、自分から言いましょう。最悪、自己学習になりますが、困った時にはぜひ周りのメンバを頼ってください。

自己学習の場合には、他の言語でも同じですが、図書、雑誌、Web記事、ネット教育などを利用することになります。どれが良いかは、学習する技術によります。個人的には、まず書籍ですが、Web記事だけでも充実していることが多いですので、まずはGoogle先生に聞いてみましょう。

アサインナビ | assign navi(アサインナビ)

ページが見つかりません

指定されたURLのページは存在しません。
サイト更新などによってURLが変更になったか、URLが正しく入力されていない可能性があります。
ブラウザの再読込を行ってもこのページが表示される場合は、サイトマップまたはサイト内検索でお求めのページをお探しください。


日本最大級のITビジネスコミュニティ アサインナビ