前提
この半年間、結構多くの資格を取ったので所感を書きます(この文章のほとんどは2024年10月に書かれています)。試験に落ちたと書いていなければすべて一発合格です。何を使ってどのようにどのくらい勉強したか、覚えている範囲で書こうと思います。当然ながらここに書いている内容はすべて個人の感想なのですべてを真に受けないでください。
簡単な自己紹介をすると、今年新卒未経験で某IT企業(実態はSES)でデータサイエンティストとして雇われています。学生時代は化学をやっており、研究室はExcelの使用が禁じられているほどアナログな場所だったので大学からはITに関する知識はほとんど得ていません。
G検定(2024/05/11)
難易度:★☆☆ 価値:★☆☆
勉強時間は約30時間、合格率は約73%です。
会社で取ることを命令されました。深層学習の基礎について問われる試験です。試験範囲はかなり広くG検定の内容をすべて完璧に把握していたら相当強者だなと感じます。
しかし、この試験は自宅で受験する試験でありカメラなどで監視されるわけでもないです。つまりカンニングし放題です。なんならGoogleには数多のチートシートが転がっています。もはや試験として何の意味もないですね。申し訳程度の抵抗として莫大な問題量が用意されています。120分で220問程度の問題があるらしく、一問に30秒程度しかかけられません。なのですべてGoogle検索していては100%間に合いません。法律問題など読むのに時間がかかる問題もあるので、即答できる問題は即答しないと時間が足りなくなるでしょう。自分は以下に紹介する黒本を完璧にし、その過程でどのような問題をカンペに頼るか決めていました。AI界の重鎮のお言葉を覚えていて得することは今後一生ないと思うので別にいいと思っています。
合格ボーダーラインは非公開とされていますが約6割と言われているようです。合格率もかなり高いと思います。
黒本
データサイエンティスト検定(リテラシーレベル)(2024/06/22)
難易度:★★☆ 価値:★★★
勉強時間は約30時間、合格率は約48%です。
こちらも会社で取ることを命令されました。データサイエンティストとして必要な知識の基礎中の基礎を幅広く知るための試験です。具体的には微積、線形代数、確率・統計のごく一部の知識、様々なデータの読み方、機械学習の手法、その他データサイエンスに出てくる専門用語の確認を範囲とするデータサイエンス分野、SQL、その他データベースに関係する知識、および基礎的なITリテラシー(セキュリティや通信技術、システム設計など)、生成AIを範囲とするデータエンジニアリング分野、基本的なビジネスマインドやビジネス用語、リスクマネジメント、エンジニアとして知っておくべき法律の知識を範囲とするビジネス分野の3分野からなる試験であり、試験範囲は初学者であれば相当広く感じるのではないかと思います。ただ、この程度の問題はデータサイエンティストとして働くのであれば知っておくべきであることは事実なのでまずはこれから勉強してみてはどうでしょうか。データサイエンティストがどんなことを仕事にしているのか知りたい就活生におすすめです。 初学者向けの試験としては結構完成度の高い試験なのではないかなと感じました。この試験自体のレベルは高くないのですでに知識がある分野についてはほぼ勉強せずとも得点できることでしょう。難易度の☆が高い理由ですが合格ボーダーラインが約8割と高いためです。難しくない試験で制限時間も相当余裕がありますが広い試験範囲でこのボーダーラインを要求されると身構えてしまいます。事実、自分もどれだけ勉強しても安心できませんでした。自分の受けた回は難しかったのかボーダーが少し下がっていましたね(ボーダー77%)。
自分が使った本は以下の2冊です。きちんと白本を読み込むことが重要です(隅から隅まで出ます)。 黒本はアウトプットの練習としては悪くありませんが問題量が足りな過ぎます。黒本だけでは合格できないでしょう。白本を中心にインプットすることをお勧めします。
黒本
Python3エンジニア認定基礎試験(2024/07/27)
難易度:★☆☆ 価値:★☆☆
勉強時間は約20時間、合格率は75~80%です。
重箱の隅つっつき試験、注意力確認テストです。
pythonの基礎的な文法の知識を問うテストです。試験範囲はオライリーの「pythonチュートリアル」となっていますがこの本を買う必要はありません。私も買っていません。試験対策はネットにたくさんある模擬試験を解くだけで充分です。ただし、すべての問題についてアルゴリズムをトレースできないとおそらく落ちます。多くの人が簡単だと言う試験ではありますがアルゴリズム初心者の自分にとってはトレース慣れするのに時間がかかりました。万全を期して黒本も買いましたがあまり意味はなかったように思います。模擬試験の方が試験よりも難しく本番で拍子抜けしたのを覚えています。
この資格の勉強するくらいなら何か別の教材なり本なり買って手を動かしたほうが良いです。
模擬試験サイト
Microsoft Azure Fundamental(2024/08/07)
難易度:★☆☆ 価値:★☆☆
勉強時間は約20時間、合格率は不明です。
最近シェアを伸ばしてきているMicrosoftのパブリッククラウド、Azureの基礎を問う試験です。会社に取るよう命令されました。
クラウドというものが全く分からない人がクラウドを仕事にしている人の話に出てくる名詞が少しわかるようになる、くらいの試験でした。あとAzureのサービス名が分かるようになります。正直あまり価値は感じません。
この資格を勉強するくらいなら何か教材か本か見ながらクラウドの無料枠使って自分でサーバー建てたりした方が実用的だと思います。サーバーを建てる練習も過去にしたことがありますが特にセキュリティの部分についてはミスると超高額請求が来ることもあり得るので初めての時は本気でビビりながら勉強できました。その方が覚えるしセキュリティ意識もつくしいいんじゃないですかね。一応この本をすべてやりました。
問題集
Python3エンジニア認定データ分析試験(2024/08/09)
難易度:★☆☆ 価値:★☆☆
勉強時間は約3時間、合格率は約80%です。
この試験について自分は少しイレギュラーなところがありまして、この試験の前にすでにデータサイエンス100本ノックをやっていたんですね。100本ノックとPython3エンジニア認定基礎試験と大学でやる基礎数学でカバーできていない範囲がmatplotlib、scikit-learnしかなく、それも過去に自学していたこともありほぼ勉強していません。教科書はお守りとして買いましたがほとんど読んでいません(なんか無料で配ってたりするみたいですね。損した……)。scikit-learnの部分だけ流し読みした気がします。あとPython3エンジニア認定基礎試験でも紹介したPRIME STUDYの模擬は解きました。 試験の内容もここで紹介するものの中でも一番簡単でこれがあったからといって何なんだという感じです。100本ノックやりましょう。
基本情報技術者試験(2024/08/28)
難易度:★★★ 価値:★★★
勉強時間は約30時間、合格率は41.4%です。
語るまでもない、新人ITエンジニアの登竜門ですね。とにかく試験時間が長く、腰がつらかったのを覚えています。
試験範囲はITのすべてと関連する法律、といった感じでしょうか、とにかく範囲が広く、私が使った参考書も600ページくらいあった気がします。テクノロジ分野、マネジメント分野、ストラテジ分野の3つからなる科目A(90分)と疑似言語とセキュリティを試験範囲とする科目B(100分)があります。この試験に合格すればITエンジニアが「この人はある程度ITの会話ができる人間だ」と心を開いてくれます。今までに挙げた試験と範囲の重複が少なく、AIの話や基礎数学、SQLなどのDBの知識(あとほんの少しのクラウド知識)以外はほぼありませんでした。特にハードウェアの部分は全く知らず、対策に難航しました。聞いたこともない英語の略語も多く、中学生とかでやった社会の勉強を彷彿とさせられました(実際ストラテジ系は完全に社会科の話だと思ってます)。
この試験の価値は「多くの人(特に評価する立場にいる上の世代)によく知られている」点にあります。 とりあえず新卒1年目未経験でこれを取ってサボっている認定をされることはないでしょう。多くの人が評価している資格を得ることにより自信がついたのもいい点ですね。新人エンジニアはどれだけ早く自信を持てるかが結構重要なのではないかなと思っています(根拠のない自信が成長機会をもたらすため)。
注意する点としてはこの資格が直接役に立つことはほとんどないという点です。何かIT業界で専門性を確立したいと思っていてもその分野だけ知っておけばよいということはありません。例えばデータサイエンスを極めたい!と思ったとして、データサイエンスの知識のほかにもデータを集めるための分析基盤となるクラウドの知識、分析をするにあたって構築する必要のある仮想環境の知識、会社に所属する以上マネジメントの知識や関連する法律の学習も不可欠です。しかし、この資格を取るだけではどの分野においても実務に耐えうるものではなく不十分です。だから一部の人は資格なんて全く必要ないといったラジカルな主張をするのかもしれません。しかし、自分はこの資格についてIT分野における「無知の知」が身につくので重要だと思っています。「そういえば基本情報であんな分野あったけど自分全然知らねぇな……」と思えることに価値があるのです。 特に基本情報は試験範囲が広く、合格ボーダーが低いのでほとんどの人がこうなると思います。ですので自分はITエンジニアをやるなら取っておくべきだと考えています。
(2024/12/26追記)
今某SIerに派遣されていますが仕事しているとプログラミング以外の部分でも様々なエラーに遭遇するわけで、ここで勉強した知識が少し活きています。エラー文に出てくる単語が分からなかったら終わってたな……と(特にネットワーク関連)。
(追記ここまで)
勉強法ですが、自分はこの本を一周読み過去問を2~300問ほど解きました。
参考書
科目Bについては完全に舐め腐っていたので前日に公開されている問題を一通り解いただけです。疑似言語、個人的に思ったより難しくめちゃくちゃ焦ったのを覚えています。特にendifなどはPythonに存在しない文法なので疑似言語に慣れなければ!と焦りました。皆さんはきちんと対策してください。トレースの練習を十分に積めばよいかと思います。自分はインターネットの人に「科目Bはノー勉でも受かる」といったデマに踊らされ落ちかけました。
余談ですが基本情報は友人(歯医者なので全くITと関係ない)と一緒に受けていて、彼は科目Bが時間足りなさ過ぎてムズいと嘆いていました。初学者の人はその点も注意したほうが良いかもしれません。彼も1か月くらいで受かっていました。賢いですね。
Microsoft Azure AI Fundamental(2024/09/12)
難易度:★☆☆ 価値:★☆☆
勉強時間は約1時間、合格率は不明です。
一回MSLearnの模試を解きました。あまりにもほかの資格を取っているので落ちるわけがありませんでした。会社からお金が出るので受けました。
統計検定2級(2024/10/04)
難易度:★★☆ 価値:★★★
勉強時間は約30時間、合格率は約48%です。
今年勉強した資格で最も価値があると感じたものはこれですね。大学の教養科目レベルの統計学の知識を問われる数学の試験です。試験範囲は高校基礎レベルの記述統計といろいろな確率分布の簡単な計算(公式覚えればできる程度)、推測統計の基礎(推定や検定など)、回帰分析・分散分析、あと細々とした知識(大数の法則、チェビシェフの不等式、中心極限定理など)くらいですね。自分は大学で教養レベルの統計学の授業を受けた(といっても5年くらい前ですが)のであまり抵抗はありませんでしたが数学から離れて久しい人は少し苦労するかもしれません。別に積分ゴリゴリやらされるわけでもないので高校時代理系だった人なら苦労しないと思いますがまぁ個人差は大きいと思います。想像より計算問題が少なかったですが当然計算もできないと受かりません。むしろきちんといろんな用語を正しく把握しておこうねという注意の方が適切かもしれません。
合格点は60点で低く感じますがなめてると落ちます(59点で1回落ちました←雑魚か?)。よく言われているのが時間が足りないという話で実際足りないと感じる人が多いと思います。あと90分も試験やられると集中力切れるんですよね。練習しておいた方がいいと思います。
勉強法ですが公式問題集と過去問をできるようになりましょう。しかし最初から出来ることもまずないと思うので基礎となる知識をどこかで集めてください。自分はこのサイトで基礎力を付けた後公式問題集などをやりました。公式問題集や過去問をやりすぎて過学習の状態に陥ってしまうありがちなことをやらかさないように最低限すべての問題についてなぜその式を使うのか、なぜそのように式変形できるのかはきちんと説明できるようになっておくべきでしょう。今回自分がほぼ勉強終わった段階で出会ったのであまり一部しか使えませんでしたが久保川先生の簡単な本が出ているのでお勧めです。統計検定2級の対策本という観点からすると過不足なくまとまっていて表現もわかりやすく例題も多いので力がつくと思います。
統計学の時間
なぜこの試験に価値があるのかですが、数学というのはよくわからん状態で調べても何も価値が得られないことが多いからという理由をあげます。統計学全く知らない人がボンフェローニ法がなぜダメかパッと理解できることってほぼないと思うんですよね。理解できるなら君にはセンスがあるから統計学をガチろう。なのできちんと腰据えて勉強してなんとなく全体を理解できた状態にならないと書いてあることの意味が分からなさ過ぎて調べて何とかすることすらままならないといったことになると思います。chatGPTの言ってることすら専門用語多くてわからないとかだとお話にならないわけです。一度体系的に何かを勉強することの意義はここにあって非常に大きいものだと思っています。準一級レベルの話をGPTに聞いて専門用語や数式マシマシで解説されて何もわからず、「小学生にもわかるように教えて」とプライドを投げ捨てたプロンプトを何度打ちましたか?(唐突に煽り口調ですがこれで得られる回答は正確さが損なわれているのでちゃんとよくないと思っています。)あとこういう試験がないと自分がちゃんと理解できてるかわからない。
一方データサイエンティストとして働くならレベルとしては全然足りないです。こんなんわかるのが当たり前で準1級くらいないと統計屋さんとして価値を生み出せることはないでしょう。素人に毛をはやすことができる資格なのでほかの分野(医学とか機械工学とか)を専門としていて統計学的に分析したいと思った人がこの資格を取ると非常にいい分析ができると思います。 しかし、統計学を専門としてやっているのにこの程度の資格しかないようでは統計学はちょっとしか知らないけどほかの分野のプロフェッショナルという人におそらく勝てないです(単純に下位互換でしかない)。なのでデータサイエンティストとしてやっていくならこの程度軽く取って準1級以上を取って一般人よりすごくなる必要があります。
終わりに
最後になぜこの資格を取ったのかについてまとめます。会社に命令されましたと言っている資格もありますが本当にしょうがなく取ったのはAzure資格くらいで他の資格は取ろうと思った理由があります。
G検定
漠然と機械学習・AIに対して興味があったから。勉強を始めると様々な機械学習の手法と初めて出会えたため継続。
DS検定
名前にデータサイエンティストと入っていたから。実際勉強するとかなりデータサイエンティストの業務をするにあたって当然に知っておくべきことが多いと感じたため継続。
Python3エンジニア試験×2
プログラミング言語の知識がある程度あることを示したかったから。正直こんな資格とってもしょうがないなと思いながら勉強したが資格欄にプログラミング言語関連の実績が欲しくて取った。時間がかかるのでできなかったけどatcoderのレート書く方が100万倍プログラミング能力は伝わると思う。
基本情報
自分の専門(僕の場合はデータサイエンス)以外は全く分かりませんというエンジニアに価値を感じなかったので最低限ITわかりますよという顔をするために取った。環境構築が全く分からないデータサイエンティスト、マジでダサすぎるなぁと思ったので強迫的に取った面はある。あとはネームバリュー
統計検定
数学わかりますという証明をしたいと思ったときに数学に関連する学位とこういう検定以外でどう証明するんだ?と思い勉強開始。この資格のおかげで直接給料が上がるといったことはないかもしれないけれども発言の説得力が上がるのではと思っています。給料はもらえなくとも信頼は得られる資格であると思っています。
振り返ると意味わからんくらい資格取っててドン引きしています。ただこんな資格あったところで別にすごくもなんともないので皆さんは実務をきちんとやって休日は休んで業務時間のパフォーマンスを上げた方がいいと思います。今までは最低限わかっていますよという「最低レベルを保証する資格」を取ってきましたが、これからは「自分の強みはこれですと主張できる資格」「一般人と差別化できる資格」を取っていきたいです。来年はE資格、応用情報、AWS Machine Learning speciality、統計検定準一級のうち2つ取れたら偉いということで目標をここに書いておきます。あと普通二輪免許が欲しい。