はじめに
はじめまして、kazuと申します。
キャリアビジョンを考えた時に、ふと思い立ちAWSを使ったWebアプリケーションの個人開発に挑戦することにしました。
その挑戦の「序章」として、なぜこの挑戦を始めるのか、そしてどのような計画で進めていくのかということをここに書き記していきます。
なぜこの挑戦を始めるのか
運用保守メインという現在の業務では、お客様への価値提供という面でも貢献は少なく、やりがいを感じ辛い。
また、AIの進化により定型業務やコーディングは人の手が必要なくなる可能性もあり、自身のスキルを高めることが必須であると感じた。
なぜ「学習管理アプリ」を作るのか
今回の個人開発のテーマは「学習記録を管理するWebアプリケーション」です。
このテーマを選んだのは「1年間の学習を成功させるために、自分自身が一番欲しいツール」だからです。
・日々の学習時間や内容を記録したい
・学習の進捗を可視化してモチベーションを維持したい
・取得した資格や書いた記事をポートフォリオとしてまとめたい
このアプリ開発自体が学習であり、完成したアプリが更なる学習を助けてくれる。
さらに、自身の使用に伴う、不満点の改善も行うことが出来る。そんな一石三鳥のプロジェクトにしようと考えています。
なぜこの技術構成なのか
今回のプロジェクトで採用する主な技術スタックと、その選定理由です。
・AWS / サーバーレス (SAM, Lambda)
現代のWeb開発において、クラウド、特にAWSの知識は必須だと考えました。中でもサーバーレスアーキテクチャは、コスト効率とスケーラビリティに優れており、市場での需要も非常に高いと感じています。
・コンテナベースLambda (Docker)
Lambdaのデプロイ形式として、Zipではなくコンテナイメージを選択しました。ローカル環境と本番環境の差異をなくし、より実践的な開発手法を学ぶためです。
・バックエンド言語:Java
ここは、単純に経験があるJavaを選択しました。
次に何か個人開発するなら、Pythonも使ってみたいなと思ってます。
・フロントエンド:React
フロントエンドのフレームワークとして、Reactを選択しました。
1年間の学習ロードマップ
この挑戦は、行き当たりばったりでは達成が難しいと思い、具体的なロードマップを作成しました。もちろん計画通りに進まないこともあると思いますが、道に迷わないための指針として、この計画を頼りに進んでいきます。
フェーズ1:基礎固めと自動化基盤の構築(2025年7月〜8月)
目標: バックエンドのCI/CDパイプライン構築、"Hello World" API完成
学ぶこと: AWS基礎、SAM、CodePipeline、コンテナLambdaの基本
フェーズ2:SAA学習とバックエンド機能拡充(2025年9月〜10月)
目標: AWS SAA合格、勉強管理サイトのコア機能(CRUD)完成
学ぶこと: AWSのコアサービス(VPC, EC2, S3等)、DynamoDBでのデータ操作
フェーズ3:SAP学習、認証機能とフロントエンド連携(2025年11月〜2026年1月)
目標: AWS SAP合格、認証付きAPIの完成、フロントエンドから全機能を利用可能にする
学ぶこと: AWSの高度な設計、Amazon Cognito、AWS Amplify、ReactからのAPI連携
フェーズ4:システムアーキテクト学習とポートフォリオ作成(2026年2月〜4月)
目標: システムアーキテクト試験合格、勉強管理サイトの改善、ポートフォリオの完成
学ぶこと: システムアーキテクト試験、ポートフォリオの作成方法
最後に
個人での開発は初めてで、計画通りに行くのか、途中で挫折しないのかといった不安もあります。しかし、それ以上に新しい経験が出来るのことにワクワクしている気持ちが強いです。
このQiitaでの記録が、自分自身のモチベーションになると信じています。そして、もし同じように学習に励んでいる方がいれば、少しでも参考に、あるいは「自分も頑張ろう」と思えるような発信をしていきたいと思っています。