君たちはどう生きるか？僕は資格試験をAIと一緒に勉強する

なんとなくでプログラム書いてませんか？
私は来年でプログラミングを始めて10年になります（まだ積み木のバランスも良好です。）
そんな私が日々の基礎知識のアップデートにお勧めするのが、AIと一緒に資格試験を勉強することです。

※ この記事は[note株式会社 Advent Calendar 2023](https://qiita.com/advent-calendar/2023/note)の3日目の記事です。
※ ジブリネタは一切ありません

## 現職
note株式会社でエンジニアとして、ユーザ体験とモチベーション周り、RSS周りを見てます。
使用言語はRubyとTypeScriptです。


## エンジニアにおける基礎とは何か

そもそもエンジニアの基礎知識とはなんでしょうか？
AIに聞いたところ
1. コンピュータサイエンス
1. プログラミング言語
1. アルゴリズムとデータ構造
1. ソフトウェア開発のプロセス
1. バージョン管理システム
1. 問題解決スキル
1. ソフトスキル（コミュニケーション能力）

の7つだそうです。

特に`コンピュータサイエンス`,`アルゴリズムとデータ構造`の2つは、その分野で働く人を除き、あまり業務で触れる機会がなく、古い知識のままになりやすいと思います。
　`プログラミング言語`,`ソフトウェア開発のプロセス`も現場の知識に偏るなど、ざらではありません。

なにより基礎は少しずつ脆くなるものです。
エンジニアとして崩壊する前に、基礎固めとして資格試験の勉強をAIと一緒にトライしてみませんか？

## どんな資格がいいのか

どんな資格でもいいです。
資格試験の問題は特定の知識に偏重しないように、かつ最新の内容で構成されます。
可能なら現在の勤め先で利用しているプログラミング言語の試験や、[IPA](https://www.ipa.go.jp/shiken/kubun/list.html)の試験がおすすめです。

![pkin3a0000007xdp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352561/4b0593ff-6d41-9dfa-61d0-7d7c5cd975de.png)
引用: https://www.ipa.go.jp/shiken/kubun/list.html

いっそのことAIに聞いてもいいですね

```
Q. プログラマーにおすすめの資格試験を教えてください。日本で広く通用し、取得難易度が難しすぎないものがいいです。

A. 日本で広く認知されており、取得難易度が比較的難しくないプログラマー向けの資格試験には以下のようなものがあります。
1.  基本情報技術者試験（FE） :
   -  概要 : 情報技術の基礎知識や応用能力を問う国家試験です。プログラミングだけでなく、ネットワークやデータベースなどの幅広い知識が求められます。
   -  難易度 : 初級〜中級。IT業界で働く上での基本的な資格とされています。
2.  応用情報技術者試験（AP） :
   -  概要 : 基本情報技術者試験の上位資格で、より高度な情報技術と実務経験が問われます。
   -  難易度 : 中級。基本情報技術者試験に合格している、またはそれに相当する知識があることが望ましいです。
3.  ITパスポート試験 :
   -  概要 : ITの基礎知識を認定する試験で、特に初心者向けです。ビジネスシーンでのIT活用能力が問われます。
   -  難易度 : 初級。情報技術に関する基本的な知識があれば取得可能です。
4.  オラクル認定Javaプログラマ（OCJP） :
   -  概要 : Java言語に関する専門知識を認定する試験です。Javaを使った開発に従事するプログラマーにおすすめです。
   -  難易度 : 中級。Javaの基本的な知識と経験が必要です。
5.  Ruby技術者認定試験 :
   -  概要 : Ruby言語に関する知識と技術を認定する試験で、シルバーとゴールドの2つのレベルがあります。
   -  難易度 : シルバーは中級、ゴールドは上級。Rubyの実務経験があると有利です。

これらの資格は、プログラマーとしてのスキルを証明するだけでなく、キャリアアップにも役立ちます。
資格取得に向けては、過去問題の研究、参考書やオンライン教材を使った学習、模擬試験の受験などが効果的です。
また、資格によっては公式のトレーニングコースが用意されている場合もあるので、それらを利用するのも良いでしょう。
```

## どんな問題が出るのか

[基本情報技術者の公開問題](https://www.ipa.go.jp/shiken/mondai-kaiotu/sg_fe/koukai/index.html)や[応用情報技術者の過去問](https://www.ipa.go.jp/shiken/mondai-kaiotu/2023r05.html)、
私が直近受験したRuby技術者認定試験Silverだと[模擬試験問題](https://gist.github.com/sean2121/945035ef2341f0c39bf40762cd8531e0)があります。
以上の3つのうちどれか、興味のあるものを閲覧すると、

実務で使わない分野の問題も多々あり、勉強せずに見ると勘で答えてしまう問題もあります。
実務に限れば幅広い知識は必要ないですし、知らなくても何とかなります。ChatGPTと仲良くするのも１つの手段でしょう。

## では何故おすすめするのか

あくまで**AIとの資格試験の勉強**がおすすめです。
合格には時間とお金がかかりますし、転職のスキルのアピールでしか有効ではありません。

でも勉強だけなら1分からOKです。インターネット上に過去問と解説が公開され無料ですし、書籍も受験費用より安く済みます。AIも今のところ無料です。
手軽にできる勉強としてやらない理由がありません。

## レッツチャレンジ

以下はAIとの資格試験を勉強するための手順書です。

1. `資格試験 エンジニア`で検索して適当なサイトを閲覧
2. 興味のある資格試験を選ぶ
　　* QiitaやZen, noteで受験した人のブログを読み、解像度を上げると良い
2. 資格試験の過去問を探す
　　* もしくは対策本を買う
2. 興味のある問題を解く
2. 問題の解説を読む
2. ChatGPTでより理解を深める
　　* すべての選択肢について詳しく解説してもらう
　　* 擬似コードにしてもらう（ソートやアルゴリズム関連）
　　* 実用例をあげてもらう
　　* 返答をもっと深掘りする

最後のChatGPTを利用することが本題です。（ChatGPT以外でも可）
ChatGPTと会話することでインプットとアウトプットのサイクルを作りましょう。

なお、他の手順は適宜スキップしても大丈夫です。

### インプットとアウトプットのサイクルとは？

インプットしても使われない知識は思い出すのに時間がかかり、最悪記憶から消えます。
一方で、インプットとアウトプットを繰り返した知識は記憶に定着しやすいと言われています。

1. 本を読む => **インプット**
1. 本の感想をブログに書く => **アウトプット**
1. ブログにコメントが届く => **インプット**
1. コメントに返信する => **アウトプット**

上記は以前までのインプットとアウトプットのサイクル例です。サイクルにならずに終わることも多々あります。
今はAIの登場により1人で完結するようになりました！**やった！**

もしまだChatGPTと会話したことがない人は体験してみてください！
そして資格試験の勉強のお供にしましょう！

## 最後に

私の所属するnote株式会社では
* [Slack上でAIと対話できる環境](https://note.jp/n/n6e7321e22379)
* 資格試験の受験費用の全額補助（*条件あり）
* 書籍購入の補助

など今回紹介した勉強のための土台が揃っています。

また、12月8日には[note AI creative株式会社](https://note.com/note_ai_creative/n/n9261aa2b5e9b)が設立される予定で、
ミッションである`だれもが創作をはじめ、続けられるようにする。`を実現するために技術の成長と投与を惜しまない会社です。

そんなnoteは現在、複数ポジションで絶賛募集中です。応募お待ちしています（カジュアル面談からOKです）

https://note.jp/n/nc0fe1a230633


▼noteエンジニアアドベントカレンダーはこちら

https://qiita.com/advent-calendar/2023/note

▼さらにnoteの技術記事が読みたい方はこちら

https://engineerteam.note.jp/