これからの学習計画について相談です
解決したいこと
IT未経験で入社し、今は2年目となりました。
エンジニアとして今後のキャリアを考えたときに技術力が全く足りていないと感じたため、学習計画を立てました。
AIに相談し作成してもらったのですが、他の方の意見もうかがってみたいと思い相談させていただきました。
みなさんの経験等をもとにしてアドバイスを頂けたらと思います。
どうぞよろしくお願いいたします。
現状
- 業務ではC#でFormアプリ開発を行っています
- データベースはSQLServerとPostgreSQLを扱っています
- 基本的な構文や正規化については学習しました
- 実際に実装した経験はありません
- 大規模な実装は担当したことがなく、軽微な不具合修正などが主な業務です
- コード管理はGitで行っていますが、指定された操作を行っているだけで見識はありません
5年後までに目指したい姿
- システム全体について一通りの知識がある
- 基本的な用語であればどの分野でも理解ができる
- 基本的な知識(応用情報レベル)であれば説明ができる
- 業務に関連する知識、技能を網羅的に習得している状態
- gitやgithubについて機能を理解し、適切に利用できる
- 業界のトレンドについていける
- 現在は用語を理解できなかったり、背景にある技術を知らなかったりしてトレンドを正確に理解することができていません
以下AIからの提案
【Phase 1】基礎固め(0〜3ヶ月)約240時間
目標:バージョン管理とWeb技術の基礎を習得し、現代的な開発フローを理解する
学習内容
1. Git完全理解(40時間)
- 理由:チーム開発の大前提、コードレビュー文化の基盤
- ブランチ戦略、マージ、コンフリクト解決
- GitHub/GitLab使用、Pull Request運用
2. HTTP/Web基礎(30時間)
- 理由:REST APIを理解する前提知識
- HTTP仕様(メソッド、ステータスコード、ヘッダー)
- Cookie、Session、CORS基礎
3. REST API設計基礎(40時間)
- 理由:現代のバックエンド開発の中心技術
- REST原則、エンドポイント設計
- JSONデータ構造、APIドキュメンテーション
4. 認証・認可基礎(40時間)
- 認証方式(Basic、Bearer Token、OAuth2.0概要)
- JWT(JSON Web Token)の仕組み
- セッション管理とセキュリティベストプラクティス
5. SQL Server深化(50時間)
- インデックス設計と実行計画分析
- トランザクション制御(分離レベル、デッドロック)
- ストアドプロシージャ、ビュー活用
6. データベース設計(40時間)
- 正規化理論(第3正規形まで実践)
- ER図作成、リレーション設計
【Phase 2】バックエンド実装力強化(4〜6ヶ月)約240時間
目標:ASP.NET Coreでの実務レベルAPI開発力を獲得し、AWSの基礎を理解する
学習内容
1. ASP.NET Core深化(60時間)
- 理由:C#の強みを活かしたモダンバックエンド開発
- Middleware、DI(依存性注入)パターン
- Entity Framework Core(ORM)
- バリデーション、エラーハンドリング
- ロギング、設定管理
2. API設計実践(40時間)
- 理由:設計品質が保守性を左右する
- OpenAPI/Swagger活用
- バージョニング戦略
- ページネーション、フィルタリング、ソート設計
- エラーレスポンス設計
3. テスト戦略(40時間)
- 理由:品質保証、リファクタリングの安全網
- 単体テスト(xUnit)
- 統合テスト(TestServer)
- モック・スタブ活用
4. AWS基礎(60時間)
- 理由:クラウドは現代インフラの標準、AWSは最大手
- AWSアカウント作成、IAM理解
- EC2(仮想サーバー)基礎
- RDS(マネージドDB)基礎
- S3(オブジェクトストレージ)基礎
- VPC、セキュリティグループ基礎
5. Dockerコンテナ基礎(40時間)
- 理由:環境の再現性、デプロイの標準化
- Dockerイメージ作成(Dockerfile)
- コンテナ実行、ネットワーク
- Docker Compose(複数コンテナ管理)
【Phase 3】設計力・アーキテクチャ理解(7〜12ヶ月)約480時間
目標:設計原則を理解し、保守性の高いコード設計ができる。AWS実践力を深める。
学習内容
1. SOLID原則(40時間)
- 理由:オブジェクト指向設計の基礎、保守性向上の核心
- 単一責任、開放閉鎖、リスコフ置換、インターフェース分離、依存性逆転
- リファクタリング実践
2. デザインパターン(60時間)
- 理由:設計の共通言語、実装の質向上
- GoF基本パターン(Factory、Strategy、Observer等)
- C#での実装例
3. ドメイン駆動設計(DDD)基礎(80時間)
- エンティティ、値オブジェクト、集約
- リポジトリパターン
- ドメインモデリング実践
4. Clean Architecture(60時間)
- 理由:レイヤー分離による保守性・テスタビリティ向上
- レイヤー構造理解(Domain、Application、Infrastructure、Presentation)
- 依存性の方向制御
- C#での実装パターン
5. AWS実践(100時間)
- 理由:本番環境レベルのインフラ構築力
- ECS/Fargate(コンテナオーケストレーション)
- Lambda(サーバーレス)基礎
- API Gateway
- CloudWatch(監視・ログ)
- RDS高可用性構成
- IAMロール・ポリシー設計
6. CI/CD構築(60時間)
- 理由:開発効率化、品質担保の自動化
- GitHub Actions / AWS CodePipeline
- 自動テスト実行
- 自動デプロイ(Blue/Greenデプロイ)
7. セキュリティ実践(40時間)
- OWASP Top 10理解
- SQLインジェクション、XSS等の対策
- 暗号化(通信・保管データ)
- AWS IAMベストプラクティス
8. パフォーマンスチューニング(40時間)
- クエリ最適化実践
- キャッシュ戦略(Redis基礎)
- N+1問題解決
- APM(Application Performance Monitoring)基礎
最後に
内容が膨大になってしまい申し訳ありません。
また内容が曖昧だったり、違和感のある部分もあるかもしれません。
色々と足りない部分もあると思いますが、どうぞよろしくお願いいたします。