1年半の成長を振り返ってストーリーにしてみた件
💡 はじめに:とある女性の再挑戦
👩💻 私:「プログラミング技術の進化は早くて...もう自分は昔のようにプログラムを書くことができなくなってしまった」
👨💻 ベテランエンジニア:「でも、基本的な考え方は変わらないよ。無理なく一歩ずつ、本当にやりたい技術を身につけていける道筋を一緒に考えてみよう。」
👩💻 私:「本当ですか?でも、もう一度 0 からやり直す覚悟で頑張ります!」
実は私、結婚前にプログラミングの仕事に携わっていたことがありました。でも、仕事で使っていたのは、当時でもレガシーとされている言語でした。
結婚後、家事や子育てに追われる日々の中で、いつの間にか自分の夢や志を見失っていました。「いつかまたプログラミングを...」と思いながらも、時間が経つにつれて「もう無理かな」と諦めかけていました。
でも、最近のモバイル開発や AI 開発の進歩を見ていると、心の奥で何かが動き出していました。「今なら、もっと面白いことができるんじゃないか?」という純粋な好奇心が芽生えてきたんです。
家族に話してみても「昔話になってしまう...」独学でチャレンジしてみても、小さなエラーで挫けてしまう。なかなか自己肯定感につながらない日々でした。
そんな時、オンラインの面談で、ベテランエンジニアの方から、直感的に「これだっ!」と思うロードマップを示していただき、2024 年 2 月に本格的に学習を始めることにしました。
この記事は、同じような葛藤を抱えている方々に、私の約 1 年半の取り組みを公開することで、自分の可能性に蓋をしてしまっている方の突破口になればと思い書きました。
「初学者の成長過程ってどんな感じなんだろう?」と気になっている方や、「自分も同じような道を歩んでいる」という方の参考になれば嬉しいです!
⭐ 2024 年 2 月:プログラミングとの再会
最初の一歩
- 学習時間: 最大で 72 時間/週(集中して取り組んでいました)
-
学習内容:
- Progate JavaScript Ⅰ ~ Ⅶ
- CodeLesson JavaScript 編(初級・中級)
- GitHub 環境構築
この時期の心境
「DOM って何?でも、とにかく手を動かしてみよう!」
今まで学習していた言語と違う世界に新鮮な驚きを感じていました。変数、関数、条件分岐...基本的な概念は同じでも、Web ブラウザで、思い通りにサクサク動くというのが面白くて仕方ありませんでした。
「昔の知識は役に立たないのかな...」と不安になることもありましたが、意外と共通点が多いことに気づき、少しずつ自信がついていきました。
息子に「お母さん、これどうやって作るの?」と聞かれた時に、ちゃんと説明できるようになりたいという想いも、学習の原動力の一つでした。
📊 2024 年 3 月:React との出会い
学習の進展
- 学習時間: 40 時間/週
-
学習内容:
- CodeLesson DOM 操作コース完了
- モダン JavaScript の基礎から始める挫折しないための React 入門完了
この時期の心境
「React って何?コンポーネント?JSX?」
DOM 操作を完了した後、React の世界に足を踏み入れました。最初は「なんでこんな書き方するの?」と疑問だらけでしたが、自分の書いたコードが想定通りに動いた瞬間は感動でした!
📈 2024 年 4 月:実践的な学習へ
学習の深化
- 学習時間: 30 時間/週
-
学習内容:
- Udemy React アプリ開発(ポケモン図鑑、ブログ構築)
- AWS クラウドの基礎
- TypeScript 基礎着手
- paiza ラーニング JavaScript C 問題練習
この時期の心境
「TypeScript って型があるから安全なんだ!クラウドの仕組みってこうなってるんだ...ナルホド」
React の基礎が身についてきた頃、TypeScript と AWS を学び始めました。型の概念に最初は戸惑いましたが、「これでバグが減るんだ!」と理解できた瞬間は目から鱗でした。
💪 2024 年 5 月:チーム開発への挑戦
大きな転機
- 学習時間: 30 時間/週
-
学習内容:
-
TM 開発 参加(3 名チーム、2-3 ヶ月)
- 要件定義から仕様書作成、新規アプリ開発
- Git/GitHub 演習課題完了
- Next.js 入門完了
-
TM 開発 参加(3 名チーム、2-3 ヶ月)
この時期の心境
実務以外では初めてのチーム開発に参加。要件定義から始まって、実際にアプリを作る経験は貴重でした。Git の使い方も実践で覚えました。
チーム開発で学んだこと(詳細については控えさせていただきます)
HRT(Humility・Respect・Trust)
価値主体姿勢
円滑なコミュニケーション
個人タスク管理
プロジェクトマネジメント
チームビルディング
チーム開発の流れ
- 自己紹介
- アイデア決め
- 要件定義
- 設計
- タスク出し
- 実装
チーム開発のポイント
- デザインを大切にする
- 進捗の透明性
- 逆算思考
- 完璧を求め過ぎない
- 見積もりを守る
- アラートと対策
🎯 2024 年 6 月:技術スタックの拡張
実践的な開発
-
学習内容:
-
TM 開発 継続(落し物インフォメーションアプリ)
Next.js/TypeScript/Supabase 使用 -
リレーショナルデータベース学習完了
-
この時期の心境
実務に近い開発を経験。データベース設計や API 設計など、フロントエンド以外の知識も必要になってきました。
個人開発で少し孤独を感じていた私は、『お互いに感謝し合ったり学び合う仲間がいる!』という環境が新鮮でした。
🚀 2024 年 7 月:機能実装の経験
具体的な機能開発
-
学習内容:
- TM 開発 継続(落し物インフォメーションアプリ)
- DB 設計・ポリシー設定
- API エンドポイント作成
- Google 認証設定
- 画像アップロード・プレビュー機能
- キーワード検索・ページネーション実装
- 負荷テスト実施
- TM 開発 継続(落し物インフォメーションアプリ)
認証機能や画像処理など、実用的な機能を実装し、本格的な開発の流れを理解できました。
⭐ 2024 年 8 月:新たな目標
取り組み内容
-
進捗:
- TM 開発 デプロイ完了
- 動画共有 SNS アプリ完成
- B ランク昇格
この時期の心境
初めての成果物を完成させ、ランクアップを経験。A ランク課題ではより実践的な内容に取り組むことになりました。
🔥 2024 年 9 月:A ランクへの挑戦
質問掲示板アプリ開発
-
学習内容:
- 質問掲示板アプリ開発
認証機能実装(サインイン・ログイン・パスワード変更・メール送信)
Q&A 機能実装(質問投稿・一覧表示・下書きリストなど) - Java 学習開始
- 質問掲示板アプリ開発
この時期の心境
A ランク昇格に向けて質問掲示板アプリを開発。
終盤に見つかった大きな不具合にかなり苦しみましたが、苦戦しつつも、なんとか完成にこぎつけることができました!
この時、めちゃくちゃ嬉しかったです!
質問掲示板アプリの技術的成果
フルスタック開発の実践: Next.js/TypeScript/Supabase/PostgreSQL を使用した本格的な Web アプリケーションを構築。ユーザー認証・認可機能、質問投稿・回答機能、投票・ブックマーク機能、検索・フィルタリング機能をなどを実装。
セキュリティ対策の実装: メール認証によるなりすまし防止、CSRF/XSS 対策、セキュアなクッキー設定、レート制限など、実務レベルのセキュリティ機能を実装。
データベース設計: ユーザー、質問、回答、コメント、投票、ブックマークなどの複雑なリレーションシップを持つデータベースを設計し、効率的なクエリとデータ整合性を確保。
UI/UX の向上: TinyMCE リッチテキストエディタによる直感的な投稿機能、レスポンシブデザイン、リアルタイム更新機能を実装し、ユーザビリティを重視した設計。
メール機能の実装: Amazon SES を使用したパスワードリセット機能やメール認証機能を実装し、本格的なユーザー管理システムを構築。
🏆 2024 年 11 月:インターン開始
一区切り
-
進捗:
- 質問掲示板アプリ完成
- A ランク昇格
- 開発 TM インターン開始
この時期の心境
1 年間の学習を経て、A ランク課題を終え、インターンに進みました。
「使っているアプリの開発に携われることが嬉しい!」
🎯 2025 年 3 月:受託開発アサイン課題への挑戦
技術力の証明
-
学習内容:
- 受託開発アサイン課題提出完了
- 案件管理ウェブアプリケーション開発
- Next.js/TypeScript/tRPC/Supabase/Prisma を使用したフルスタック開発
- ユーザー認証・認可機能の実装
- 管理者・一般ユーザーの権限分離
- その他
この時期の心境
「受託開発への参画を目指して、より実践的な課題に挑戦!フルスタック開発の経験が積めた」
A ランク昇格後に受託開発への参画を希望し、案件管理ウェブアプリを開発。DB 設計から UI 作成、バックエンド API 実装まで、プルリクエストベースで実務に近い開発フローを経験できました。
🌟 2024 年 12 月 - 現在:インターンとしての取り組み
実務での開発経験
-
取り組み内容:
- レッスン詳細ページのローディングスケルトン実装
- 新規登録フローの改修
- ドラッグ&ドロップ機能実装
- バグ修正・UI 改善
この時期の心境
「実務のコードって複雑だけど、一つずつ理解していける!プルリクエストも慣れてきた」
実際のプロダクトでコードを書く機会をいただき、実務レベルの開発を経験。プルリクエストの作成からマージまで、開発フローを身につけました。
🎯 成長のポイント
1. 段階的な学習
基礎(JavaScript)→ フレームワーク(React)→ 型安全(TypeScript)→ バックエンド(Java)と、段階的に学習を進めました。
2. 実践的な経験
インターンを通じて、実際の開発現場を経験できたことが大きな成長につながりました。
3. 継続的な学習
週 30-72 時間の学習を継続し、新しい技術に挑戦し続けました。
4. 取り組みの記録
落し物インフォメーションアプリ、動画共有 SNS、質問掲示板など、様々なアプリを作成することで実力を証明できました。
💭 振り返ってみて
最初の頃を思い出すと...
「React って何?」から始まった私が、1 年後には実際のプロダクトでコードを書くようになれるなんて、最初は想像もしていませんでした。
モダンな技術を経験してみて、まるで新しい世界に足を踏み入れたような感覚でした。少しずつコードを書いていくうちに自信がついていきました。
大切だったこと
- 継続すること: 毎週の学習時間を確保し続けたこと
-
実践すること: 本で学んだことを実際にコードに落とし込んだこと
AI ツールを活用したこと(ChatGPT や Cursor) - 挑戦すること: 新しい技術や難しい課題に積極的に取り組んだこと
- チームで学ぶこと: 一人で学ぶだけでなく、チーム開発を通じて多くのことを学んだこと
- 自己肯定感の回復: 小さな成功体験を積み重ねることで、自分への信頼を取り戻せたこと
🚀 これからの目標
- Java Silver 取得: バックエンドの知識を深める
- Spring Boot 学習: より実践的なバックエンド開発を学ぶ
- REST API 設計: API 設計のベストプラクティスを身につける
- 受託開発への参加: より多くのプロジェクトに携わりたい
- Python 学習: 生成 AI との相性がよい Python を今後勉強していきたい
まとめ
初学者からインターンとして実務に参加できるようになるまで、約 1 年かかりました。
大切なのは、継続することと実践すること
私の場合、「息子に教えたい」という想いが大きな原動力になりました。そして、「自分自身の人生を再設計したい」という気持ちが、学習を続ける力になりました。
同じような葛藤を抱えている方へ
小さなエラーで挫けそうになった時は、私も同じでした。でも、一つずつ解決していくことで、必ず前に進めると思います。
「もう無理かな」と思った時こそ、新しい始まりの時かもしれません。誰のものでもない、あなた自身の人生ロードマップを見直すきっかけに、この記事がなれば嬉しいです。
最後に、この道のりで支えてくださったメンターの方々、そして何より家族の理解と応援があったからこそ、ここまで続けることができました。本当に感謝しています。
参考リポジトリ
Discussion