未経験エンジニアの『次の壁』はCS基礎
スクール卒や独学で実務に入った人がキャリア中盤で当たる壁が、CS(コンピューターサイエンス)基礎の不足です。本記事では編集部の視点で、最低限おさえる4領域を公開情報をもとに整理します。IT転職成功ロードマップ もご参考に。
4領域に絞る
(1) データ構造とアルゴリズム:配列/Map/木/グラフ/計算量。(2) OS とネットワーク:プロセス/メモリ/TCP/HTTP。(3) データベース:正規化/インデックス/トランザクション。(4) セキュリティ:認証認可/CSRF/XSS/暗号の基礎。(5) +α:分散システム/コンパイラ(余裕があれば)。全部やる必要はなく、各領域で『業務で困らない最低限』を目指せばOK。
データ構造とアルゴリズム
(1) 計算量 (O記法):O(n)/O(n²)/O(log n)/O(n log n)。(2) 主要データ構造:配列/連結リスト/Map/Set/木/グラフ。(3) 主要アルゴリズム:ソート/探索/動的計画法/グラフ探索。(4) 練習:LeetCode Easy 〜 Medium を100問。(5) 転職面接でも頻出:技術スクリーニング対策にも。
OS とネットワーク
(1) プロセスとスレッド:違いと使い分け。(2) メモリ管理:ヒープ/スタック/GC。(3) ファイルシステム:i-node の概念。(4) TCP/UDP/HTTP:3wayハンドシェイク/状態遷移。(5) DNS と CDN:パケットの流れ。本: 『マスタリングTCP/IP』『プログラマのためのコンピュータ科学概論』等が定番。
データベース
(1) 正規化 (1NF〜3NF)。(2) インデックスの仕組み (B-tree)。(3) トランザクション (ACID)。(4) SQL の実行計画。(5) RDBMS vs NoSQL の使い分け。PostgreSQL 実践 でハンズオン。
セキュリティ
(1) パスワードのハッシュ化:bcrypt/scrypt/argon2。(2) 認証 vs 認可:JWT/OAuth/OIDC の役割。(3) OWASP Top 10:基本の脆弱性を理解。(4) HTTPS と証明書:TLS の仕組み。(5) SSO の流れ:SAML/OIDC の登場人物。認証・認可実践 も合わせて。
学習の進め方
(1) 1領域=1ヶ月:4ヶ月で基礎完了が目安。(2) 動画+書籍+実装の3点セット。(3) 業務とリンク:自社サービスのコードで該当箇所を探す。(4) 記事化:理解度の確認に有効。(5) 転職市場で測る:3ヶ月ごとにカジュアル面談で実力確認。ポートフォリオ作成 も並行で。
失敗しがちなパターン
(1) 全部やろうとして挫折:4領域以上を同時並行。(2) 本だけで実装なし:定着率が低い。(3) 業務との接続を意識しない:忘れやすい。(4) 難しい本から入る:CSAPP 等は中級者向け。(5) 独学だけで進める:行き詰まりやすい。対策は、(1)1領域集中、(2)コード書く、(3)業務にマッピング、(4)入門書から、(5)勉強会/メンター活用、です。CS基礎強化は転職市場でも評価されます。転職サイト比較 もご参考に。