amitness/learning

A log of things I'm learning

これは何か

learning は個人の学習記録であり、著者 (amitness) がソフトウェアエンジニアリングの強固なスキルを身につけるために取り組んでいる書籍、コース、動画、記事の厳選された継続的なリストです。コードライブラリやアプリではなく、公開されたカリキュラム追跡ツールです。

構成

README はすべてを2つの大きなカテゴリに分けています:

  1. ジェネリックスキル — あらゆるソフトウェアの役割に適用できる「ドメイン非依存、スタック非依存」の能力です。これらは12のカテゴリに分類されています:

    • システムデザイン (例: データ集約型アプリケーションの設計、A/Bテストコース、REST API設計)
    • 数学 (統計、確率、線形代数 — 主にPythonベースのコース)
    • データ構造とアルゴリズム (例: アルゴリズム思考力、Neetcodeコース)
    • データモデリング (SQL、NoSQL、データベース設計)
    • デザイン感覚 (UI/UXの基礎、Figma、ビジュアルコミュニケーション)
    • Linuxとコマンドライン (シェルの基本、bashスクリプト、環境変数)
    • バージョン管理 (Git、GitHubでのコラボレーション)
    • テストとプロファイリング (Pythonでの単体テスト、モック、メモリプロファイリング)
    • テクニカルライティング (Googleのテクニカルライティングコース、開発者向けの執筆)
    • キャリア (履歴書作成、コーディングキャリアハンドブック)
    • プログラミング (Pythonイディオム、OOP、パッケージ、日付/時刻)
    • 開発環境 (Chrome DevTools、AIコーディングエージェント、VSCode)
  2. 専門スキル — 現在は1つの分野のみ:生成AI。これもさらに分かれています:

    • 自然言語処理 (Stanford/CMUのコース、チャットボット構築、感情分析、機械翻訳)
    • LLM理論 (スクラッチからLLMを構築、トークナイザー、位置エンベディング、RLHF、Transformer内部)

進捗の追跡方法

各リソース行には形式 (書籍、Udacity、Datacamp、YouTubeなど)、リンク付きのリソース名、長さ (ページ数、時間、レッスン数)、および以下の記号を使用した進捗列があります:

  • ✅ — 完了
  • ⬜ — 未開始
  • ⌛️ — 進行中 (部分完了)
  • ⏳ — 進行中 (開始済み、例: "1/7" レッスン完了)

一部の行では、"310/489 pgs" や "36/36" のような具体的な分数で正確な進捗を示しています。

現在のステータス

  • 更新: 月1回
  • 現在の焦点: 生成AI

生成AIセクションのほとんどのリソースは完了とマークされていますが、ジェネリックスキルの多く (特にデータモデリングといくつかのシステムデザイン項目) はまだ保留中です。

著者のアプローチが示すもの

README は「隣接する分野を習得する」に関するブログ記事と、継続的改善に関するJames Clearの記事へのリンクを提供しており、著者が中核となる仕事の周辺のトピックを意図的に勉強していることを示唆しています。無料の大学講義 (MIT、Stanford、CMU)、有料プラットフォーム (Datacamp、Udacity、Neetcode)、書籍の混合は、多ソースで自己主導型の学習戦略を示しています。

要するに、これはあるエンジニアの継続的な教育の透明でよく整理された記録であり、同じ分野で高品質な学習リソースを探している人にとって参考になります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト