JVMエコシステムレポート2018 - 開発プロセスと開発者について
Andrew Binstock
2018年10月17日
0 分で読めますJava開発者を対象とした、過去最大規模の調査へようこそ。以下のレポートで紹介するデータは、10,200件以上の回答に基づいています。回答者の皆さま、ほかの開発者の参考となる経験を共有するために時間を割いてくださり、ありがとうございました。このレポートは全4回に分かれています。
JVMエコシステムレポート2018 - 開発プロセスと開発者について
すべての情報をまとめてダウンロードできる、手作りの素敵なPDFレポートもご用意しました。
開発プロセスについて
25. コードの新バージョンをどのくらいの頻度でリリースしますか?
回答者のほぼ4人に1人(24%)が、自分のコードがどのくらいの頻度でリリースされるか把握していないのは、気がかりです。これは、アプリケーションが複雑で、サービスごとにリリース時期が異なるためかもしれません。10人に1人近くは、1日に複数回リリースするという大胆な回答でした。ただ、これほど頻繁にリリースするなら、大胆さよりも一貫性が大切です。大多数は、数週間に1回から月に1回の頻度でリリースしています。10人に1人以上は、半年に1回以下です。今週の予定は空けておこう。月曜日にリリースだ。

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

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

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

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

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

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

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

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

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

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

レポート全体のまとめ
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日に複数回コードをリリース
開発者の半数は、コードベースの監査を受けていない
このレポートには、まだ続きがあります!次に読みたいセクションを選んでください。
JVMエコシステムレポート2018 - 開発プロセスと開発者について