Hirologue

年齢を理由にエンジニアになることを諦めないミドルの成長記録

EP 48: 51歳の挑戦 - 第2部 エンジニア準備編 2

2024年3月1日にHappiness Chain(以下、HC) Euforia 2期生として入会してから早いもので20ヶ月が経過しようとしています。
本記事では、この1ヶ月で学んだことをダイジェストで振り返っていきます。

50歳目前の私が入会を決意するまでの経緯を書いたポエムは👇こちら hirologue.hateblo.jp


10月の学習時間(期間:2025/10/1 - 2025/10/30)

10月の学習時間は 201.5 時間 でした。
学習日数が30日ですので、1日あたりの学習時間は 6時間43分(403分)となります。

9月いっぱいで現職の業務引き継ぎを概ね終了し、ありがたいことに10月1日から有給休暇をフル消化させていただくことになりました。
それなりに責任ある立場で仕事させていただいてましたので、何かあったら駆けつける約束をしていましたが、特に呼び出しもなくスムーズに業務が進んでいるようでホッとしています。

そんなこともあり、今月は1日8時間を学習時間の目安としました。
目標学習時間(240時間)に対して、達成率は83.9%(38.5時間不足)でした。

所用やイベントで思うように学習できない日もありましたが、全体としてはしっかり学習にフルコミットできた月でした。
振り返ってみても、まずまずの量をこなせたと思います。


10月の学習内容

10月は React, Webセキュリティ, TypeScriptを学習しました。

カリキュラム(2025年10月時点)

React

9月に終わらなかった、Reactのアウトプット課題の続きからです。

直前に学習したインプット教材で React × TypeScript を使っていたこともあり、JavaScript ではなく TypeScript で課題に挑戦してみることにしました。
(TypeScript はまだ学んでいませんでしたが)

それに加えて、これまで触ったこともなかったTailwind CSS も今後必要となるようでしたので、こちらも使ってみようと決めました。
ということで、React x TypeScript x Tailwind CSS のチャレンジングな組み合わせで挑みました!
ちょっとストイックすぎたか?とも思いましたが、このくらいの負荷がちょうど良かったりします。・・・ドMだな笑

まずは、Tailwind CSSの書き方を知るところから。
我らがCTOのUdemy講座を視聴し、Reactプロジェクトへの導入と基本的な使い方を学びました。
www.udemy.com

普段から馴染みある方が講師だと、話がスーッと入ってくる!わかりやすい!
視聴は完了していませんが、ある程度使い方を理解できました。

よし、コードを書こう。
「あれ?これどうやって書くんだっけ?」と立ち止まっては、教材を見返し、再び課題に戻る。 このムーブを幾度となく繰り返しました。

課題着手前のインプット段階で、コンポーネント分割の考え方として「アトミックデザイン」なるものを知りました。
知ったからには使ってみたくなるもので、実践してみましたが、何でもかんでもコンポーネントに分けてしまい、余計わかりづらいものになりました。

そこで、コンポーネントの再利用性や将来的な拡張性、コードの読みやすさを意識して、コンポーネント構成を見直し、納得できる形に仕上げました。
どの程度の粒度で分けるべきか、加減が非常に難しいと感じました。

これも経験あるのみなんでしょうね。

試行錯誤を繰り返し、ようやく完成したある日の真夜中にPull Requestを提出して眠りにつきました。
で、目覚めるとレビューの結果が来ていました!
思わず「はやっ!」と口にし、レビュー結果を見ると、設計の考え方からタイポに至るまで細かくチェックしていただいていたことに感謝です。

なるほど、なるほど、と納得しつつ修正。で、無事にクリア!

また、作成したアプリを GitHub Pages で公開する手順について記事を書きました。

hirologue.hateblo.jp

アウトプット課題が修了したところで、再びインプットに戻ります。これまでの内容を少し発展させた内容の学習です。
実際にハンズオンで進めようと思いましたが、教材で使用するReactやパッケージのバージョンが古くて思うように進めません。
本来であれば、現状のバージョンに合わせてハンズオン学習するべきなのですが、ここは視聴のみに留めました。

数年前の教材が使えなくなるような破壊的変更があるとは・・・フロントエンドの流れの早さを思い知りました。

こりゃあ、一生勉強ですね。
決まりきったルーチンが嫌いなわたしにとっては、変化があるということは嬉しいですね。 流れに振り落とされないように頑張ろうとも思いました!

Webセキュリティ

ここでは、安全なWebサイトの作り方について学びました。
理論をひたすら述べるのではなく、事例を基になぜ失敗したのか、何がダメだったのかを説明してくれる教材でした。
堅苦しくなりがちなテーマでも、こうやって事例があるだけで解像度が上がります。

このセクションの内容については、実務に入ってから何度も見返すことになるでしょう。
ということで、全体像を掴んだところで次に進むことにしました。

本来であれば、次はGoの学習になるのですが、ここを一旦スキップして、実務で使用するTypeScriptの学習を始めることにしました。

TypeScript

先のReactのセクションでTypeScriptのことをわからないながらも見様見真似で書いてきたので、雰囲気だけは掴んでいました。

Udemy講座で基本を押さえた後に「サバイバルTypeScript」を読むことにしました。

typescriptbook.jp

一言で言うなら、「要約とはいえ、すごいボリューム」です!
本当にこれで“要約版”なのか?と思うほどの情報量で、読むだけだと眠くなります(笑)
これは内容を完全に理解するというより、“辞書”として活用するのが正解だなと感じました。
ある程度内容を把握したところで、次へ進みました。

続いて、GitHub上で公開されているTypeScriptの練習問題に取り組みました。 挑戦したものの、見事撃沈。笑

さっぱりわかりません!難しすぎます!

問題文と解答の境目がわかりにくく、若干読むのも大変な構造でした。
おまけに解説もなく、サバイバルTypeScriptのどこを参照すれば解答の内容が理解できるのかもわかりません。
「うーん、これは困った!ということは、このパートを学習する他のHC生も大変な思いをするんじゃないか?」
「よし、AIの力を借りて解説付きの練習問題に仕上げよう!」

思い立ったら即行動。
数日に渡りAIと壁打ちを繰り返し、問題の内容を理解し、自分なりの解説を追加して「TypeScript練習問題(解説付き版)」を完成させて、HC内で共有することができました!

アレンジ内容は以下のとおりです。

⚙️アレンジ内容

🔧 構造面の改善

  • 問題文と解答を 10 問ごとのファイルに分割
  • 問番号の重複を修正
  • 問題文と解答の境界を明確化(折りたたみ構造を導入)

✍️ 内容面の改善

  • WIP の問題文を完成
  • 未記載の解答を追加
  • 誤解を招く表現を修正
  • 解答例に必要な解説を追加
  • 関連リンク(サバイバル TypeScript)を追加
  • 各問にテーマと重要度(3 段階)を設定

各問にテーマと重要度をAIにつけてもらったのは、逆引き的にも使えそうで、中々にグッドでした。

そして、TypeScript学習の最後はアウトプット課題です。
与えられたユーザーデータを基にテーブルを作成して表示させるアプリケーションを作成します。
現時点で、全ユーザー、ユーザーの種別で表示を切り替えるところまで完成しました。

残るタスクは、以下のとおりです。

  • 指定したカラムにソート機能を追加する。
  • 新規ユーザーを登録して表示させる。
  • (オプション)フィルター機能の実装。

ということで、今月中にTypeScriptは終わりませんでした。
続きは来月ですね。


11月のターゲット

  • TypeScript
  • Next.js

今月の感想

10月1日に51歳となりまして、ブログのタイトルも「51歳の挑戦」になりました。
歳を重ねるごとに時間の経過が加速しているような錯覚に陥りますね。

ま、年齢なんてただのnumber型の値ですよ。

「年齢が〜」とか言ってやらない理由を正当化するんじゃなくて
行動して、挑戦し続けることが大事なんじゃないかなと、個人的には思いますね。

閑話休題

10月18日と19日に熱海の温泉宿でHCの開発合宿が大々的に開催されました。
卒業生、受講生合わせて40名余りのHC生が参加しました。
しかも、今回の合宿の宿代と飲食代はHCのCEOである ゆうだいさん の奢りという大盤振る舞い企画で、本当に感謝です。

そこでは、多くの方から話しかけていただきました。
そして、わたしの書いた記事やSlackでの発言が役に立ったという言葉をいただけたこと。
わたしに刺激を受けて学習のモチベが上がった方など、多くの方に影響を与えていた事を知り、嬉しく思いました!

熱海開発合宿の夕食会場・・・晩餐会かっ!

これからも年齢を言い訳にしないで、いい意味での刺激物であり続けるためにも、挑戦し続けます!

急に肌寒くなってきました。どうぞご自愛くださいませ。

では、また✋️