Skip to main content

JVMエコシステムレポート2018 - 開発プロセスと開発者について

著者
Headshot of Andrew Binstock

Andrew Binstock

2018年10月17日

0 分で読めます

Java開発者を対象とした、過去最大規模の調査へようこそ。以下のレポートで紹介するデータは、10,200件以上の回答に基づいています。回答者の皆さま、ほかの開発者の参考となる経験を共有するために時間を割いてくださり、ありがとうございました。このレポートは全4回に分かれています。

  1. JVMエコシステムレポート2018 - JDKについて

  2. JVMエコシステムレポート2018 - ツールについて

  3. JVMエコシステムレポート2018 - プラットフォームとアプリケーションについて

  4. JVMエコシステムレポート2018 - 開発プロセスと開発者について

すべての情報をまとめてダウンロードできる、手作りの素敵なPDFレポートもご用意しました。

JVMエコシステム2018レポートをダウンロード!

開発プロセスについて

25. コードの新バージョンをどのくらいの頻度でリリースしますか?

回答者のほぼ4人に1人(24%)が、自分のコードがどのくらいの頻度でリリースされるか把握していないのは、気がかりです。これは、アプリケーションが複雑で、サービスごとにリリース時期が異なるためかもしれません。10人に1人近くは、1日に複数回リリースするという大胆な回答でした。ただ、これほど頻繁にリリースするなら、大胆さよりも一貫性が大切です。大多数は、数週間に1回から月に1回の頻度でリリースしています。10人に1人以上は、半年に1回以下です。今週の予定は空けておこう。月曜日にリリースだ。

アプリケーションのリリース頻度を示す横棒グラフ。1日に複数回が7%、年に1回未満が1%となっています。

26. コードをどのくらいの頻度で監査しますか?

およそ半数のサイトがコードを監査しています。ただし、四半期に1回を超える頻度で監査しているのは、ほぼ4分の1にすぎません。セキュリティ、パフォーマンス、品質のいずれを目的とする監査でも、コードを整理するのは大切です。回答者の半数はコードをまったく監査していません。そうしたコードベースに、どんな厄介な問題が潜んでいるか想像してみてください。

コード監査の頻度を示すドーナツグラフ:監査を実施していない50%、四半期ごと24%、半年ごと11%、年1回6%、2年に1回程度6%、毎月3%。

開発者について

27. どこで開発作業をしていますか?

ここで特に言うことはありませんが、北米からの回答者がもっと多いと予想していました。もしかすると、投票への信頼をすっかり失ってしまったのでしょうか!世界各地から回答が寄せられたのはうれしいことです。ところで、地球儀に角ってありましたっけ?

地域別のコード開発シェアを示す世界地図:欧州53%、北米22%、アジア13%、南米9%、アフリカ2%、オセアニア2%。

28. 自分自身をどのように表現しますか?

回答者の大多数は技術職で、87%が開発者、チームリーダー、またはアーキテクトです。半数以上がソフトウェア開発者と回答しました。また、Cレベルの回答者の2%も、時間を割いてアンケートに参加してくれました。

回答者の職種を示す横棒グラフ:ソフトウェア開発者 58%、アーキテクト 17%、チームリーダー 12%、コンサルタント 4%、趣味で開発する人 3%、経営幹部 2%、プロジェクトマネージャー

29. セキュリティの知識をどの程度お持ちですか?

セキュリティは、しばしば難解な専門領域と見なされます。多くの開発者は、機能開発を進めるために必要最低限の知識だけを身につけます。そのため、本当の専門家はセキュリティを専門のキャリアとしている人たちです。開発者がアプリケーションセキュリティに対する責任をますます担うようになり、これは注目の話題になっています。今回の調査では、回答者の1%がセキュリティ知識は10点満点でゼロ、まったくないと答え、strutsアプリケーションを楽しく書いていると回答しました。最後の部分は作り話ですが。まったく同じ割合の回答者が自分を真のセキュリティ専門家とし、控えめに10点満点をつけました。大半は5~7点で、回答者の10人中6人は、専門家ではないが初心者でもないと答えています。

評価0の1%から評価5の20%まで上昇し、その後評価10の1%まで低下する割合を示す折れ線グラフ

30. 何歳ですか?

プログラミングは、若年層から中年初期の人が就く職業というイメージが根強くあります。読者の38%は35歳未満、35%は35~45歳で、45歳を超える人は25%にとどまります。調査データでは、年齢と責任の大きい役職との相関が見られます。中年以降のプログラマーが少ないのは、管理職に移る人がいるためと考えられます。

回答者の年齢層と割合を示す横棒グラフ。最も多いのは31~35歳と36~40歳で、いずれも19%です。

31. Javaを使った有給の実務経験は何年ですか?

グラフからわかるように、回答者の経験年数には幅があります。そこで、質問28で尋ねた職種ごとの経験年数の中央値にも注目し、一般にいつ頃昇進するのかを調べました。興味深い結果となりました。開発者は経験年数10年、チームリーダーは11年、アーキテクトは14年、Cレベルは12年が中央値でした。

Javaの経験年数を示す折れ線グラフ:0年 7%、1~5年 22%、6~10年 28%、11~15年 22%、16~20年 17%、21~25年 3%。

32. 会社の規模はどのくらいですか?

回答者のほぼ40%は従業員数100人未満の会社に勤めており、Javaがスタートアップや中小企業でも重要な役割を果たし続けていることがわかります。Javaはエンタープライズアプリ向けの言語というイメージとは異なる結果です。確かにそうした用途にも使われますが、それだけではありません。

企業規模のカテゴリーを示す棒グラフ:従業員0~9人が16%、10~99人が23%、100~999人が27%、1,000人以上が32%、無職が2%。

33. オンラインでJavaの情報を主にどこから得ていますか?

単発の質問をしたり、過去の回答を検索して役立つ情報を探したりする場としては、今もStackOverflowが選ばれています。リファレンスとしては、Oracleの優れたドキュメントが定番です。Java Magazineは、テーマを深く理解したい読者向けに、長く掘り下げた記事を掲載しています。YouTubeでは、同様の内容を動画で見ることができます。DZoneと、やや程度は下がるもののInfoQは、これらすべての領域にまたがっています。(複数回答可)

Javaに関する情報源を示す横棒グラフ。Stack Overflowが62%で最も多く、Oracleのドキュメントが41%、Java Magazineが38%と続いています。

34. Java User Group(JUG)に参加していますか?

JUGはコミュニティの中で十分に活用されているとは言えず、年に1回でも参加する開発者は5人に1人にとどまります。回答者の圧倒的多数、約3分の2は、どのJUGにも参加していません。地理的な事情がある場合は、Virtual Java User Groupが優れた解決策です。

JUGに所属していない人が67%、ミーティングに参加しない人が13%、年に1~2回参加する人が13%、ほとんどのミーティングに参加する人が7%であることを示すドーナツグラフ。

35. オープンソースにどのくらい貢献していますか?

オープンソースは、始まった当初から変わらず、熱心な少数の開発者が支える領域です。GitHubなど、誰でも簡単に利用できるコードリポジトリのおかげで、開発者がコードを提供しやすくなりました。しかし、開発者の半数以上はオープンソースプロジェクトに貢献したことがなく、まだ取り組むべきことがたくさんあります。オープンソースを使う開発者20人中19人の一人であるだけでなく、いつかは貢献する開発者20人中19人の一人になれるよう、還元していきましょう。

オープンソースへの貢献状況を示すドーナツグラフ:55%は貢献したことがない、21%はプルリクエストを1~2件作成、5%は頻繁に貢献、2%は財団メンバー、6%は1~2件のプロジェクトをメンテナンス、3%は複数のプロジェクトをメンテナンス

レポート全体のまとめ

JDKについて

  • 開発者の10人中7人が、本番環境でOracle JDKを使用

  • 開発者の10人中2人が、本番環境でOpenJDKを使用

  • 開発者の10人中8人が、本番環境でJava SE 8を使用

  • 開発者の10人中1人が、バージョン9以降に移行済み

  • 開発者の10人中3人近くが、新しいJavaのリリースサイクルへの対応方法を把握していない

  • 開発者の10人中3人以上が、JavaのLTSリリースのみを使い続ける予定

  • 最新バージョンのJavaを使い続ける予定の開発者は、10人中1人にすぎない

  • 開発者の10人中5人近くが、Java EE 7または8を使用

  • Java EE 7は今も最も人気のあるエンタープライズ向けJavaバージョンで、開発者の10人中3人近くが使用

  • JVM開発者の10人中9人がJavaを使用

  • 言語の使用率ではKotlinがGroovyとScalaを上回り、2.42%に

ツールについて

  • 開発者の20人中9人がIntelliJ IDEAを使用

  • 開発者の10人中6人が、主要プロジェクトのビルドにMavenを使用

  • 開発者の10人中7人以上が、静的セキュリティツールをまだ使用していない

  • 開発者の10人中6人近くが、CIにJenkinsを使用

  • 開発者の4人中3人近くが、SCMにGitを使用

  • コードリポジトリ市場では、GitHub、BitBucket、GitLabがほぼ均等なシェアを獲得

  • 開発者の10人中8人近くがJUnitを使用

プラットフォームについて

  • クラウドプラットフォームを使う開発者の10人中6人以上が、AWSにデプロイ

  • 開発者の10人中4人以上がコンテナを使用

  • 開発者の10人中4人以上が、CDツールをまったく使用していない

アプリケーションについて

  • 開発者の10人中6人近くが、アプリケーションでフロントエンドJavaScriptも使用

  • 開発者の4人中1人近くが、アプリケーションでNodeも使用

  • 開発者の10人中4人がSpring Bootを使用

  • 開発者の2人中1人以上が、アプリケーションでHibernateを使用

  • 開発者の10人中3人近くが、本番環境でOracle Databaseを使用

  • 開発者の10人中4人が、本番環境でTomcatを使用

  • 開発者の4人中1人は、アプリケーションに含まれるOS依存関係の数を把握していない

  • 開発者の20人中19人が、アプリケーションでオープンソースの依存関係を使用

開発プロセスについて

  • 開発者の10人中1人が、1日に複数回コードをリリース

  • 開発者の半数は、コードベースの監査を受けていない

このレポートには、まだ続きがあります!次に読みたいセクションを選んでください。

  1. JVMエコシステムレポート2018 - JDKについて

  2. JVMエコシステムレポート2018 - ツールについて

  3. JVMエコシステムレポート2018 - プラットフォームとアプリケーションについて

  4. JVMエコシステムレポート2018 - 開発プロセスと開発者について

JVMエコシステム2018レポートをダウンロード!