自己紹介
フリーランスエンジニアをしているヨノと申します。
独学でプログラミングを学び、ソシャゲ・SaaS開発などを経て、2018年からフリーランスエンジニアとして活動しています。
主にバックエンド中心の案件を獲っていますが、たまにはフロントエンドも。
主な使用言語・FWは、Ruby/Rails/Go言語/JavaScript/TypeScript/React/Vue.js
今回は「基本情報技術者試験の内容」は意味があるよって話をしたいと思います。注意点として、「資格」に意味があるのではなく「基本情報技術者試験の内容を学ぶ」ことに意味があるという意味です。
私は独学でプログラミングを学び、WEB系ベンチャー企業に入社してエンジニアとしてスタートしました。WEB系企業だと資格は重視されないので「基本情報技術者試験とっても意味ないよー」といったことを言われていました。
この言葉を鵜呑みにして、私は基本情報技術者試験を受験しませんでしたし、参考書も見たことがありませんでした。
基本情報技術者試験の内容って大事だなと今更思う。
私は駆け出しのときにわからなかったり、他の書籍読んでて知らない言葉に遭遇した時に調べてカバーしたが、ちょっと効率悪かったかな。
どこかのタイミングで参考書一読ふるのをおすすめします。#駆け出しエンジニアと繋がりたい
— ヨノ フリーランスエンジニア (@yono_free) July 25, 2021
しかし、実際は「基本情報技術者試験合格という資格」にそれほど意味が無いだけで、「基本情報技術者試験の内容(試験範囲)を学ぶこと」には意味があったんです。
なぜ意味があるのかというと、「コンピュータサイエンスの基礎を学べ、エンジニアとして知っておきべき教養・基礎知識を身につけることができる」からなんですが、それだと初学者や駆け出しエンジニアにはピンとこないと思います。
ということで
これからエンジニアを目指そうとしている初学者や駆け出しエンジニア向けに、なぜ基本情報技術者試験に意味があるのかをより具体的に解説していきます。
前提
基本情報技術者試験の内容が役に立つって話をしますが、もちろん試験勉強や参考書の内容だけでは不十分なこともあり、更に詳しく解説されている書籍を読んだり調べたりする必要があります。
しかし、必要な分野のことをざっくりでも理解している・知っているだけで今後の学習スピードが違ってくると思うので意味があると思っています。
なので、基本情報の内容だけでは不十分だーとかそういったツッコミは無しでお願いします。(不十分なのは十分理解しております。)
こんなときに役立つよ!基本情報技術者試験
私の経験を中心に役立つシーンを紹介します。
基本的な用語を理解できる
実務をしていると必ず遭遇する次のような会話・用語
- 「メモリが〜」
- 「CPUが〜」
- 「外部設計の段階で〜」、「内部設計の段階で〜」
- 「テーブル構成をもうちょっと正規化した方が〜」
- 「このUML図を見てください」
- 「E-R図を見てください」
- 「トランザクションが〜」
- 「ここ排他制御しなくてもいいの?」
- 「TCP/IP」
- 「ポート番号」
- 「解像度」
- (デザイナーさんに)「これ容量大きいのが混ざってますけど、色数減らしました?」
などなどなどなどなど。
全部基本情報技術者試験の試験範囲なので、参考書を読んでたら何のことか理解できるわけです。
私が駆け出しのころは、良くわからん単語出てきたらコッソリ調べたり質問していました。
実装時に役立つこともある
基本情報技術者試験とはIT人材となるために必要な基本的知識を備えているかを示すための資格なので、実務での機能実装時に知っておいたら楽になることもあります。
私が遭遇した例を少し紹介します。
昔々shift jis 第一水準 第二水準のみ入力できるようにバリデーションしようとして色々調べてたけど、基本情報の勉強してたらまあ簡単に文字コード表みて実装出来てたわけで、駆け出しの方は空いた時間で参考の中身見とくくらいした方が良いですよ。#駆け出しエンジニアと繋がりたい
— ヨノ フリーランスエンジニア (@yono_free) July 27, 2021
↑のパターンのように文字コードが絡む機能実装はあるあるだと思います。「文字コードとは?」、「文字コード表とその見方」なども基本情報技術者試験の試験範囲です。
その他、
QRコードの読み取り機能の実装時に「チェックディジット」って言葉に遭遇してわからなくて調べましたが、これが一体何者なのかも基本情報技術者試験の参考書に載っています。
IP制限をかけるとき、顧客のIPアドレスを聞いたら「xxx.xxx.xxx.xxx/24」とか言われたけど...?IPアドレス、サブネットマスクについても基本情報技術者試験の参考書に載っています。
より詳しく学ぶ時に少し楽
冒頭の前提でも書いた通り、WEBエンジニアとしてやっていく上で基本情報技術者試験の内容だけでは不十分なことも多いです。
TCP/IP、DB関連、セキュリティ関連などなど、更に詳しく学ぶ必要があるものが沢山あります。それらを詳しく学ぶときに「どんなものなのか」、「この用語が何を意味しているのか」など、ざっくりと理解しているだけでも学びやすくなると思います。
【まとめ】要は何が言いたいかというと
基本情報技術者試験の資格自体にそれほど意味はないけど、試験範囲の内容はWEBエンジニアとしての教養として必要だし役に立ちます。
私のように都度わからないことに遭遇したら調べる・学ぶってスタイルでも良いですが、基本情報技術者試験という試験があり、その内容をまとめている参考書があるので、それを読んだ方が効率的です。
試験を受けるかどうかは自由ですが参考書は一度は読んでおきましょう!!

(12/5追記)無事合格しました
おすすめ参考書
どの参考書も分厚いのでKindle版が良いです。(試験が終われば頻繁に開く本でもないですし)
キタミ式イラストIT塾 基本情報技術者 令和03年はとても読みやすいので1番オススメ。
特に全く知識のない初学者の方はキタミ式が良いでしょう。
既にある程度知識がある人は令和03年 基本情報技術者 合格教本 情報処理技術者試験も良いかと。キタミ式に比べるとちょっと固いし、説明文・構成が読みにくいけど、内容はちゃんとしている。