どーもー、現在某IT系の会社でjavaエンジニアとして働ている者です。(当ブログの管理人です)
今回の記事では、現役で働いている立場から、
「javaのエンジニアは、どのような仕事をやっているのか」
といった仕事内容から、様々なプログラミング言語がある中で、javaの需要や将来性、平均年収について。
また、プログラミング未経験の方で、これからエンジニアになりたい方へ、効率的な転職ステップについても、順に解説していきます。
※プログラミング言語としての「java」の特徴や、メリット・デメリットについては、以下の記事にて詳細にまとめているので、こちらも参考にしてください。
では、以下目次となります。
- javaエンジニア(プログラマー)という仕事の需要や将来性、平均年収について
- 仕事内容のまとめ ~種類や求人のサンプル例についても
- javaエンジニアのレベル別の年収と仕事内容例 ~未経験から上級者まで
- プログラミング未経験から、javaエンジニアに転職して仕事をするまでの流れについて
javaエンジニア(プログラマー)という仕事の需要や将来性、平均年収について
参考:JetBrains公式HP:プログラミング言語のランキング 2020年度版
上記は、JetBrains社が調査した「開発者が利用・採用しているプログラミング言語のランキング」の2020年度の結果で、javaは第2位となっています。
このように、javaは世界的にみても非常に需要が高いプログラミング言語となります。
当然、javaエンジニア(プログラマー)としての「仕事の需要」も、非常に高く
以下、ITエンジニア特化型の大手転職サイト:レバテックが行った統計データでは、断トツの1位となっています。
参考:レバテック公式:プログラミング言語別求人案件ランキング(2020年度版)
というわけで、
- 現状の仕事の需要の高さから、これらの保守・改修業務が必要となる事
- 昔からの安定的な人気言語であること
- javaプログラミングが可能なエンジニアの多さ
これらの観点から、javaは選ばれ、将来に渡ってまだまだ需要は続いていくでしょう。
続いて、
javaエンジニアの年収事情はどうなのか。
参考:TechStreet(テックストリート)公式:2020年プログラミング言語別年収ランキング
上記は、大手転職サイトの「doda」の会員:30代のITエンジニアを対象として、TechStreetがまとめた統計データとなります。
上記から、javaの平均年収は「505万」で、12位となっています(真ん中より、ちょい下)
高くもなく、低くも無いということで。
(私も同じ30代ですが、同じくらいの年収となっていますねw)
とはいえ、どの言語にも言える事ですが、あくまでこれらは平均値であって、同じ言語でも会社によって全然違いますし、参考程度にしておきましょう。
javaエンジニアの仕事内容まとめ ~種類や求人のサンプル例についても
上述の通り、javaは数あるプログラミング言語の中でも、非常に需要の高い言語であり、多くの企業にて採用されています。
世界的なグローバル企業の大規模なシステムから、個人が利用する小規模なアプリケーションまで、様々です。
当然、javaエンジニアの仕事についても、様々なシステム・アプリケーションの開発案件が存在していますが、
大きくは、以下の3つの種類に分けることができます。
-
「Webアプリ・Webサイトの開発の仕事」
こちら、Web上で動作するシステム・アプリの開発業務が、javaの仕事で最も多い領域となります。
SNSやソーシャルゲーム、企業の公式HP、ECサイトなどなど
例えば、誰もが知っているグローバル企業である、
GoogleやAmazon、Twitter、ebay、楽天、Yahoo、Github、Lineなど、世界的に有名な企業でも採用されています。
これは、javaの特性上、大規模なシステムに最適なプログラミング言語であるためで、
javaは、他の言語と比較して、パフォーマンスやセキュリティのレベルが高く、だからこそ、数千万・数億といったアクセスがあるような大規模なシステムには、向いている言語とされています。
もちろん、上記のように大規模なシステムじゃなくても、一般的なWebサイトの、サーバーサイドのプログラムとして、javaが採用されていることは多いです。
また、Web上のシステム開発の仕事の場合、
・フロントエンドのHTML、CSS、Javascript・データベース(Mysqlなど)
・サーバー・ネットワーク関連(最近では、AWSやGCPなどのクラウド技術も)
など、java以外にも、幅広い知識やスキルが求められることが多いです。
-
「業務系・基幹系システムの開発の仕事」
こちらも、基本的にはWeb上で動作するモノがほとんどなので、大枠では上記にも当てはまります。
javaは、多くの企業の業務系・基幹系システムに採用されているというのも、特徴の一つです。
例えば、金融系の取引・決済システムであったり、配送会社の配送システム、航空会社のチケット予約システム等々、多くの業務システムにjavaが採用されています。
特に、銀行や証券会社などの「金融系システム」と、javaは非常に相性が良く、それは以下、JetBrains社が調査した統計結果からも知ることができます。
「Javaが利用されている業界ランキング」
参考:IntelliJ IDEA Blog:数字で見る、2020年におけるJavaの現状
あとは、身近なところでも、「人事・給与システム」や「経理・会計システム」・「受注・在庫管理システム」などなど、
多くの企業システムでも、javaは採用されています。
-
「スマホアプリ(Androidアプリ)の開発の仕事」
javaは、アンドロイドの開発にも広く利用されており、
2010年代の後半までは、Java一択でした。
ただ、2017年にGoogleが「Kotlin」をAndroidアプリの開発言語として推奨したことをキッカケに、Kotlinに流れていますが、
それでも、これまでにJavaで開発されてきたアンドロイド・アプリが数多く、それらの保守の観点からも需要は続くでしょうし、
今後も、人気言語としてJavaが採用されることも多いでしょう。
以上、javaエンジニアの仕事内容について、3つの種類のまとめでした。
また、上記の各仕事領域の中でも、さらに職域として、大きく以下の3つに分類することができます。
-
「上流工程の仕事」
エンジニアであれば、知らない方はいないと思いますが、
エンジニアの仕事は、上流工程と下流工程に、大きく分けられます
このうち、上流工程は、クライアント顧客との調整から、要件定義、設計書作成の業務を、主に請け負います。
クライアントから、何かしらのシステムの開発を依頼された時に、システムの要件を、クライアントとともに詰めていき、その内容を、設計書に落とし込みます。
そして、設計作業が完了したら、その内容を、実装(プログラミング)を担当するエンジニアやプログラマーに、共有するところまでが、主な仕事内容です。
なので、上流工程の担当者は、プログラミングのスキルについては必須ではありません。
それよりも、クライアントとの調整や交渉などで、要件を詰めていくコミュニケーションスキルや、その要件を、システムの設計書に落とし込む際のスキルが必要となります。
-
「下流工程の仕事」
一方で、下流工程の仕事は、上流の担当者から共有された設計内容をもとに、実際にシステムとして構築していくプログラミング作業が、主な仕事となります。
なので、ガシガシと手を動かしてプログラミングをしていくのは、こっちの方になりますね。
また、プログラミングによって構築したシステムを、テストしていくフェーズも、下流工程に含まれます。
そのテストによって、ちゃんと要件を満たせてるとOK判断ができたら、クライアントに納品する流れとなるわけですね。
(ちなみにですが、下流工程のエンジニアよりも、システムの要件定義や設計書を作成する上流のエンジニアの方が、仕事の年収は高くなる傾向にあります)
-
「マネジメントやテックリードの仕事」
上流・下流とは別に、プロジェクト全体やチームメンバーを管理する、マネジメントよりのお仕事になります。
PM(プロジェクトマネジメント)と呼ばれる仕事も、ここに入りますね。
PMは、システム開発のプロジェクトが、ちゃんと納期までに終えられるように、スケジュール・進捗管理をしたり、アサインメンバーのリソース調整をしたり、
システムの品質や、開発コストのことも考えながらプロジェクトの方針を決定したり、必要に応じて、クライアントや他の部署との調整をしたり、といった仕事になります。
あとは、
テックリードという職域もあって、エンジニアチームの中でも、代表的な立ち位置にいる人材のことで、技術的な部分で、チームやプロジェクトを引っ張っていける存在のことです。
javaに限らず、サーバー・ネットワークなどのインフラから、各種ミドルウェア、フロント部分まで、幅広い知識・スキルを持っていることが求められます。
例えば、
・インフラの設計からシステム構築に携わる事ができる(CI/CDのシステム構築が可能だったり、システム(オンプレミス)の、クラウドサービスへの移行・運用が可能だったり)・負荷分散やパフォーマンスの観点で、最適な技術選定や、インフラレベルからの実装やアーキテクチャの設計が可能である。
・効率的な開発フローの整備、コードレビューなど開発メンバーの技術的育成
などなど
上記のように、技術的に高い知識・スキルがあり、チームやプロジェクトを引っ張っていける存在が、テックリードです。
以上、javaエンジニアの仕事の、3つの種類のまとめでした。
また、
javaエンジニアの仕事内容については、転職サイトなどの求人情報を見るだけども、色々と分かることが多いです。
現在では、ほとんどの転職サイトにて、特に会員登録などしなくても、求人情報を確認することができるので、興味のある方は確認してみてください。
※以下の記事にて、javaエンジニア(プログラマー)に、おすすめの転職サイトをまとめているので、ぜひ。
・javaプログラマーにおすすめの大手転職サイトとエンジニア特化型求人サイト:8選 ~平均年収や仕事内容なども
javaエンジニアのレベル別の年収と仕事内容例 ~未経験から上級者まで
ここでは、未経験から上級者まで、javaエンジニアのスキルレベル毎に、大まかな年収と仕事内容について、まとめていきます。
実際に、開発現場にいるエンジニアでも、様々な方々がいて、年収ベースで言っても「240万~800万以上」と、かなり大きな差があります。
このように、スキル次第で、仕事内容や年収が大きく変わってしまうのが、エンジニアの世界なわけですね(javaに関わらず)
では、スキルレベルごとに順にまとめていきます。
-
「未経験」
こちら、そもそもプログラミング未経験の方ですね。
基本的に、全くの未経験の方だと、エンジニアとして転職するのは厳しいです
基本的には、独学なり、専門学校やプログラミングスクールに通うなりして、ある程度のスキルを身に付けた上で、転職することになります。
(この辺については、次の章にて、解説していきます)
ただし、なかには未経験可で、採用を募集している会社もあります
ホワイトなところであれば、採用後にちゃんと研修があり、研修後に開発業務につく事になるのですが、
逆に、研修も何も無く、開発業務とはまったく違う雑務ばかりさせられて、まったくスキルが身に付かない。。なんてブラックな会社もあります
特に、未経験可を採用するようなところは、注意が必要です。
※未経験からの転職について、特に会社選びについては、以下の記事にて詳細にまとめているので、こちらを参考にしてください。
-
「初級レベルの仕事内容例」
ここからが、現場にいるレベルとなります
初級レベルの方は、javaの基本的な部分については理解していて、ある程度「自走」もできるのですが、
まだまだ、できない部分であったり、非効率な実装になっていたりと、先輩エンジニアのフォローが必要なレベルです。
実務経験的には、1~2年で、年収は、240~360万といったところです。
-
「中級レベルの仕事内容例」
こちらが、現場に最も多い層かと思います。
ここの方々は、基本的には一人で任された業務はこなすことができます。
仕様通りにちゃんとプログラミングを組むことができ、ちゃんと「一人月」の一人として計算できる人材です。
実務経験的には、2~4年で、年収は、360~500万といったところです。
-
「上級レベルの仕事内容例」
こちらは、要件定義や設計を含め、上流の工程から参画できる人材で、
サーバーサイド(java)だけでなく、サーバー・ネットワークといったインフラ領域や、フロントエンドの領域と、幅広い知識・スキルを持っていて、
他のメンバーの指導もやったりと、エンジニアとして、プロジェクトの技術領域全体を引っ張っていける存在です。
実務経験的には、3年~で、年収は、500万~800万+アルファといったところです。
以上、javaエンジニアのレベル別の年収と仕事内容例のまとめでした。
プログラミング未経験から、javaエンジニアに転職して仕事をするまでの流れについて
上述にして記載していますが、javaプログラミングが全くの未経験の場合、転職するのはかなり厳しいのが実情です。
なんて言っても、全く相手にされません。
企業側からしたら、「やる気があるなら、既に独学でプログラミングを学んでるでしょ。ネットや書籍で、気軽に学べる環境があるんだから」と、なってしまいます。
なので、ちゃんと準備をした上で、転職活動をする必要があります。
まず、javaのプログラミングを学ぶには、大きくは以下の2つの方法があります。
-
独学で学ぶか
-
プログラミングスクールで学ぶか
(専門学校に行くと言う選択肢もありますが、経済的にも時間的にも、プログラミングスクールの方が効率的だと思います。)
ちなみに、未経験者が独学でプログラミング学習をする場合、9割は途中で挫折すると言われています。
なので、個人的には独学よりもプログラミングスクールへ通うことをおすすめします。
昨今のプログラミングスクールは、そのほとんどが転職のサポートまでやってくれて、なかには(転職サポートありで)無料で通えるところまで出てきています。
というわけで、プログラミングスクールに通うメリットは、単なるjavaの学習サポートだけでなく、転職活動までサポートしてくれる所にもあります。
未経験の方にとっては、かなり良い環境が揃ってるわけですね。
とはいえ、どのプログラミングスクールに通えばよいのか。。
その辺の情報については、以下の記事にて詳細にまとめているので、こちらを参考にしてください。
・javaが学べるプログラミングスクール・講座のおすすめ:8選 ~料金無料の教室や社会人向けなど
また、
独学で頑張ろうと思っている方は、どのようなステップで(転職活動を含め)進めていけば良いのか。
そのポイントについて、以下の記事にてまとめているので、こちらも合わせて確認いただければと思います。
・IT実務未経験で、Javaエンジニアに転職・就職する4つのポイント ~求人情報の見方や注意点も。
では。