Qiitaで見る技術トレンド推移(2017 - 2023)

## はじめに

Qiitaを見てる皆さんこんにちわ。

いつもは皆さんの一服の清涼剤となるべく、ゆるめの新人向けの記事やマネジメントの記事をポエムしているのですが、ふと、いいねを取れる記事ってなんだろうと思いまして。

ChatGPTのようなバズワードな技術に乗っかるといいねを取れそうだけど、なかなか難しそうだなぁと思っているうちに、いいねを取れる記事の長期的な推移を見ると傾向が見えるのではと思い調べてみたらなかなかの結果が見えましたので記事にしてみました。

## Qiita 記事の取得

調査をするためには、過去～現在の投稿に関するデータが必要です。QiitaはAPIを公開していて記事の一覧を取得できるので、それを利用して記事を取得することにしました。

(参考)
[Qiita API : 投稿](https://qiita.com/api/v2/docs#%E6%8A%95%E7%A8%BF)

単一の検索条件に対して取得できる記事の件数は最大で 10,000 件でした。

```
1ページあたりの件数の最大(100) x 指定可能なページの最大(100) = 10,000
```

月に10,000投稿あったとすると1ヶ月分のデータしか取れないため長期の推移を見るためには、何らかの検索条件を指定する必要がありそうです。

ある程度人気があったタグを推測できるように件数を絞るのであれば「いいね数」か「ストック数」がある程度以上の記事を集めるのがよさそうです。「ストック数」は指定可能、「いいね数」は指定不可という仕様でしたので、「ストック数」を指定して検索することにしました。

(参考)
[Qiita ヘルプ : 検索機能](https://help.qiita.com/ja/articles/qiita-search-options)

ストック数50以上で検索すれば大分遡れるかと思いましたが、毎月数百件のレコードが取得され ~~軽く嫉妬しました~~ あまり遡れなかったので、ストック数100以上を指定してデータを取得したところ 2017 年まで3月まで遡れました。

ストック数がそこまで多くないデータの集計にも重要な情報がありそうですが、取れないものは仕方ないので、観測には充分なデータが取得できたとして先に進めることにしました。

## 観測方法

大雑把に傾向が見れればよいので、ストック数100以上を獲得した記事についていたタグを分解して、それぞれのタグにストック数をそのまま分配することにしました。

- 記事AにタグT1,T2,T3,T4,T5 がついていて、ストック数が101の場合

```
T1 : 101
T2 : 101
T3 : 101
T4 : 101
T5 : 101
```

このタグとストックのデータをスプレッドシートに貼り付けて、年度別でタグ毎のストック数をピボットテーブルで求めて多い順に並べました。

## タグストックランキング 2023 TOP50

2023年のTOP50の過去の推移を見られる形としました。
過去数年を鑑みてランキングを求めたらChatGPTの台頭が分からなくなってしまったのと、古い技術は消え去っていくというITの性質を鑑みると、最新のデータを基準に過去の推移を見るのが良いかと思いました。

皆さんご想像の通り？ChatGPTは2022年に登場以後、勢い衰えず2023年も圧勝となっていました。AIもつよつよですね。

|タグ|2017|2018|2019|2020|2021|2022|2023
|---|---|---|---|---|---|---|---|
|ChatGPT||||||2867|25561
|Python|79286|143985|120573|96812|40967|19658|16442
|初心者|14281|38717|85032|75886|35776|33167|13164
|AI|553|11334|9712|10110|7118|5551|11160
|記事投稿キャンペーン_ChatGPT|||||||8143
|ポエム|5254|21427|26097|19238|21706|9691|7071
|新人プログラマ応援|12709|71500|52292|52094|28113|23355|6928
|OpenAI||||||105|6567
|VSCode|10067|22305|27145|20135|7663|6769|5780
|GPT-4|||||||5721
|AWS|11370|39737|30027|20924|14008|9040|5210
|JavaScript|81104|150510|136293|100877|44305|29137|4266
|React|17334|30123|26370|33223|17230|16867|3699
|langchain||||||150|3648
|Design|3371|2180|3921|5636|15556|5548|3445
|Next.js|177|1752|523|6334|3225|5549|3327
|GitHub|12875|20528|13106|19431|16033|3969|3203
|新人プログラマ応援_記事投稿キャンペーン|497||||||3184
|フロントエンド|7574|17862|32897|18857|15432|9904|3088
|エンジニア|2997|14112|5465|7169|5458|7615|2968
|TypeScript|6189|16510|28414|26226|8536|15062|2964
|Flutter||3191|9322|5897|1334|383|2701
|Git|21560|31919|23952|16675|6498|2492|2671
|機械学習|42848|47356|44729|37587|19714|8303|2509
|Security|2911|11975|8229|8814|2144|4052|2331
|ツール|578|1102|2599|6902|449|4045|2285
|figma|838|169|981|||473|2171
|レビュー|2029||404|4296|1335|133|2153
|gpt-3||||||2348|2099
|アクセシビリティ||137|1701||638|205|2060
|Docker|22855|40293|38158|28708|6944|5163|1983
|未経験エンジニア||1489|3441|3904|2701|1247|1923
|学習|2159|859|2631|7400|6457|2287|1851
|バグ||351||1134|103||1826
|プロンプトエンジニアリング|||||||1701
|LLM|||||||1597
|データサイエンス|962|6078|6033|5709|4836|1143|1589
|Azure|228|400|3948|4017|3237||1565
|インフラ|2539|4231|5840|3183|3460|332|1486
|debug|929|1163|1209|3041|844|840|1461
|Flet|||||||1446
|個人開発|521|13700|17845|18594|11586|8908|1414
|Wi-Fi|||||||1362
|HTML|10623|22819|32126|13821|5057|5673|1288
|設計|7209|10166|10554|19506|4885|4730|1280
|DeepLearning|24106|34708|30002|24725|6463|4504|1273
|拡張機能|387|1968|324|237||1427|1270
|データ分析|7539|14823|13928|12274|5657|4181|1267
|競技プログラミング|3208|30503|16583|17254|6764|1781|1262

## タグストック推移

鋭い方は表からも色々読み取れたかもしれませんが、人間の目は表から傾向を理解できる程便利にできていないと思うので、グラフにしてみました。

何か別の傾向が見えてくるでしょうか？

![推移.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136165/1baf1227-7375-029b-e46f-9fd34bb1bce5.png)

まず目につくのは JavaScript と Python の2大巨頭です。これは今回の集計方法に問題がある可能性もあります。多くの記事は JavaScript や Python のみをタグづけせずに、他に「なにか」をタグづけするので、実際は JavaScript や Python に付随する何かが数字を稼いでいると考えられます。
ReactやVueが 2013年や2014年に出てそろそろ時代はデータバインディングとか、機械学習とかでしょうか。個人的には、何かと便利な Node.js や Nuxt.js推しです。

JavaScript も Python も簡単なので誰でも手を付けやすいので、いいねをつける人の母数が増えると推察できますが、他のタグの5-10倍というのはバブルの様な突出具合です。

ここで次の系列に目を移すと、初心者と新人プログラマ応援が2大巨頭に追従した動きが見えます。

**『あれ？プログラミングスクールが乱立して情報商材ビジネスが流行ったのってどんな時系列でしたっけ？』**

という疑問はさておいて、さらに他の系列を見てみます。これらの系列には本当に有用な技術情報が多いかと思いますが、キーワードでググって必要な情報を仕入れてそのまま離脱して作業に戻る程度に自走ができる方が利用し「いいね」をつけたり「ストック」をしない傾向が出てくるのかと推察されました。

## おわりに

**いかがでしたか()**

Qiitaの記事のタグから6年程の推移を観測してみました。

技術の多様化が進んでいるからか、何らかのバブルがはじけたからか、既存の技術で大きく数字を稼いでいるものがないこと、ChatGPTは7末時点でもかなりの数字を出していることが分かりました。

技術を身につけるのは一朝一夕ではなんとかなるものではないのですが、ChatGPTの様なトレンドを追いかけて一山当てるのでないのであれば、年々増えている既存の技術のうち消えてなくならない技術を『何でもできる』様にしておく必要があるかもしれません。

直近では、設計からフロントエンドからバックエンド、AWS含むインフラまで幅広く様々な技術を身につけていないとITの仕事を行うのが難しくなり、どこかで全部入りの新しい何かが登場してまた全部覚え直しが必要になって…といった未来が推察されますが、地道にひとつひとつ勉強していきましょう。

## おまけ１（新卒エンジニア向け手紙）

https://qiita.com/kaku3/items/2c8d4d783be7ce4fc9ea

https://qiita.com/kaku3/items/0bf1703cb8d6f84afbc5

## おまけ２（新卒エンジニア向け記事）

https://qiita.com/kaku3/items/fb949aa1a53f1f71c796

https://qiita.com/kaku3/items/aa2f81cf1e3974b8ad3a

https://qiita.com/kaku3/items/937354cc180c8bee823b

https://qiita.com/kaku3/items/b1c94328f273c750286b

## おまけ３（パイセン向け記事）

https://qiita.com/kaku3/items/cafccb1ee631d9f61190

https://qiita.com/kaku3/items/422b5427024d29da6a6e

## おまけ４（...は難しいシリーズ）

https://qiita.com/kaku3/items/34b40446337a59213a75

https://qiita.com/kaku3/items/f8411523cce000de750e

https://qiita.com/kaku3/items/5b11d2e1aace73c36340

## おまけ５（営業A短編シリーズ）

https://qiita.com/kaku3/items/03aae7b9e3c70c55f513

https://qiita.com/kaku3/items/3378ea55b1240d7360a1

## おまけ６（エンジニアのためのお仕事問題集）

2030年にIT人材が最大79万人不足するとのことで、学習用の資料をgitで**無料**公開してます(不定期更新)。
よろしければどうぞ。

[エンジニアのためのお仕事問題集](https://github.com/kaku3/workbooks)