STORESで学んだことを殴り書きし、claudeにまとめてもらいました。
最重要(どこでも使える)
コミュニケーション
- 質問は「内容・詳細・背景・試したこと・現状・自分の考え」を整理して伝える
- わからないことは理解するまで質問する
- レビューコメントを自分なりに解釈して確認を取る
思考法
- 常に「こういう時はどうなる?」と自問自答
- 早すぎる最適化を避ける(まず動かす、後でリファクタ)
- わからなくなる前に少しずつ言語化
タスク管理
- TODO管理で自分の位置を見失わない(リモートでは必須)
設計・アーキテクチャ
責務分離
- Controller / Model / Service の責務を理解
- Fat Controllerは許容される(後からリファクタ可能)
- 依存関係の方向:基盤側が使う側を知る必要はない
抽象化
- インターフェースで異なるものを同じように扱う
- 抽象同士でやり取りを行う(デザインパターンの核心)
マイクロサービス的思考
- サービス間通信の設計(GraphQL, REST API)
- 各サービスが独自DBを持つ構造
- 必要に応じてデータのコピーを持つ判断
💻 技術スキル
データベース・API
- ORMパターン(ActiveRecordなど)
- REST API設計(Rails way)
- GraphQL
テスト・デバッグ
- テストの基本サイクル:データ準備 → 環境整備 → 検証
- Network tabでリクエスト/レスポンス追跡
- コードリーディング力
開発環境
- CIを通すことの重要性
- Dockerコンテナでのテスト実行
🔧 開発プラクティス
- コメントで読みやすいコードを書く
- まず動かす、後で改善する
- Pagination、Connection override などの具体的テクニック
特に重要な5つ
- 構造化された質問力 - どんな現場でも必須
- 責務分離の考え方 - 設計の基本
- 抽象化/インターフェース - 拡張性の鍵
- 早すぎる最適化を避ける - 速度と品質のバランス
- 自問自答の習慣 - 深い理解への道