TOP
お問い合わせ
  1. 掲載のご依頼
  2. メールでのお問い合せ
  3. 電話でのお問い合せ

JAVAエンジニアに求められる能力

私は2012年度に新卒で独立系IT企業に入社し、6年間JAVAエンジニアとして働いてきました。

これからJAVAエンジニアとなる方や、JAVAエンジニアへの転職を考えている方向けに私の体験談を記述します。私はJAVAエンジニアに必要な能力としては以下の3つの能力を挙げます。

まず、物事をロジカルに考えられる能力です。

プログラムの動作は必ず決まった法則に従って動作します。そのため、同じ状況でプログラムを動作させたなら、必ず同じ実行結果が得られます。「たまたまこうなった」「なぜかこうなった」ということは有り得ず、そうなるための要因が存在します。わからないことがあったとして、とりあえず動作させてみて、たまたまうまくいったとしても、そこにはリスクが存在します。何故そうなるかを理解しながらシステムを構築することが求められます。バグの解析なども、どの処理の結果が作用してバグを引き起こしているか探り当てるために、物事を論理的に考えることが必要です。

新規開発の際にも、何故そのような構成でプログラムを構築したか説明できるように作成しなくては責任ある作成物とは言えません。プログラムは気分によって動作が変わるようなことはなく、必ず与えられた条件に従って動作します。そのため、プログラムの構造を基本から理解し、想定通りの実行結果を得るために正しくプログラムを組み上げることができる人材が必要となります。

 

二つ目に、環境への適応能力です。

プログラムを開発する環境は現場によって様々です。あらかじめ指定された環境で開発する現場もあれば、自分で開発環境を作り上げる場合もあります。現場が変わった際に、今までとは違う環境で開発することもありますが、できるだけ早く新しい環

境に適応しなければ開発能力が疑われてしまいます。また、今までの自分の経験を新しい現場に活かすことができる人材も求められます。現場ごとのやり方をいち早く理解し、適応することができると、大きな強みとなります。

また、その現場の悪い点を見つけ出し、改善することができるような能力も求められます。上記では開発環境について記述しましたが、JAVAプログラムの開発ではJAVAバージョンの互換性についても理解しておく必要があります。

JAVAのバージョン6ではできないが7からできるようになったことや、バージョン8から導入された事などは突き詰めていくと複雑です。
現場で使用しているJAVAのバージョンを把握し、どのようなことができるかを理解しておくことは強みとなります。
他に、プログラムの静的チェックツールの導入や、コンパイルツールの適用など、現場によって開発の仕方は思っている以上に多種多様です。
上記でも触れましたが、それぞれのやり方の特性を理解したうえで使いこなすことができると、非常に魅力的な人材となれます。

最後に、コミュニケーション能力です。
私は、今の仕事に就く前は、JAVAエンジニアは人とはあまり話すことなく、黙々と自分の仕事をするイメージでした。
しかし、いざ現場に配属されてみると、人との会話なくては仕事が成り立たないことに気が付きました。
まず、自身の進捗報告のためにリーダーと会話する必要があります。
このとき、リーダーの時間を多く割いてしまってはチームがまわらないため、短時間で的確に報告する必要があります。
他に、わからないところがあった際に、自分で調べるよりも、わかる人に聞いた方が早いため、人に質問することが増えます。
リーダーへの進捗報告と同じく、質問に多くの時間を割いてしまうと、その人の作業時間を奪うことになってしまうため、短時間で解決する必要があります。
また、質問だけでなく知識の共有のため、チーム内に情報連携することが多くあります。このとき、だらだらと文を書いてしまうと、情報を連携された側も頭に入りません。
簡潔に的確に情報を載せたものを連携する必要があります。
上記したように、人と話したり、メールなどのやり取りをする機会が多く、一人で黙々と作業するようなケースは稀です。
そのため、コミュニケーション能力が必要と言えます。

上記で、コミュニケーション能力と書きましたが、ここでは「人と円滑にやり取りする能力」という意味で記載しました。
確かにその能力も必要ですが、本当に必要なのは「短時間で正確に人と認識を合わせることができる能力」です。
というのも、口頭でやり取りしているだけでは「わかったつもり」になってしまうことが多いのが現実です。
実際に作り終え、実物を見せると「こうじゃない、こういうつもりで話していた」となることが多々あります。
その結果、作り直しなどの手戻り作業が発生することもあります。
これは物を作成する前の認識合わせが不十分だったために起こりうる現象です。
図や表を用いて想定の完成図を見せるなどをすれば回避できる事象でもあります。
こうならないためにも、物を作成する前にあらかじめ十分に認識合わせを行う必要があります。
そして、その十分な認識合わせをするために必要な能力こそがコミュニケーション能力です。
より少ない時間で、正確に、認識を合わせられる人材が求められます。

関連記事

  • エンジニアにとって、どの言語をメインにするかはとても重要な選択です。 なかでも、歴史が長く、使用する機会の多いjavascriptを使いこなせるようになりたい、と考えている人は多いのではないでしょうか。 そこで、ここでは […]

  • 私は現在、新卒3年目でWeb系の自社パッケージ開発の会社で働いております。 大学時代は数学を専攻しており、プログラミングはかじる程度でした。 今回はそんな私がシステム系の会社に入って実際にやっている事や感じた事を書きたい […]

  •   Javaを扱う、webエンジニアとして知っといてアタリマエのこと3つ 【見出し①】 現在、自分は大手のweb予約管理システムで働いています。 このシステムはJavaで動いており、毎日多くの人々に使用されてい […]

  • 現在、フリーランスのシステムエンジニアとして仕事をしている私の実情をお話し致します。 これから、フリーランスでやっていこうと、お考えの方への参考にして頂けたら幸いです。 また、今学生さんで、システムエンジニアやIT関係に […]