
プロジェクト
GitHub Contributions
直近1年のコミット 1683 回
トップページでも書いたとおり、私は自分に フルスタック開発者 というラベルを貼っている。ただ、その呼び方にはあまり自信がないので、後ろに小さく「要検討」と付けた。だって――自分の能力と経験では「フルスタック」という言葉を支えるには全然足りないと分かっているからだ。ただの半桶水だ。
発展経路
いちばんよく書く言語は TypeScript だ。Python、Java、さらには Rust も使ったことはあるけれど、90% 以上は Agent が書いたもので、課題や大会案件みたいな単発の仕事を終わらせるためだけのものだ。なので、本当に熟練している言語としては数えない。
最初のプロジェクトは実はフロントエンドだった。最初に触れた開発領域もフロントエンドで、この点は私の GitHub ページ にも書いてある。だいたい 2022 年ごろだ。
バックエンドについては、当時は基本的な概念しか知らず、簡単な Demo をいくつか書いただけだった。2023 年には PHP と Node.js で遊んだこともある。2024 年になってようやく Nest で最初の TS プロジェクトを書いたが、その頃は型を全部書くのが面倒で、ほぼ any だらけだった。はは。
そこから 2024 年になって、ようやくフロントエンド以外の領域、たとえば DevOps にも少しずつ触れ始めた。2025 年に先生の仕事を手伝って若依(Java の SpringBoot)を触ったときの一番の感想は、Java は本当に重い…… だった。
ソフトの話に戻ると、サイト構築と運用のほうは逆にかなり早く、だいたい 2020 年ごろに触れている。その頃、Typecho と WordPress で学校関連のサイトを作っていて、そこが計算機世界への入口みたいなものだった。
そのおかげで、その後 Web 分野を学び直すときの圧力はそこまで大きくなかった…… サイト構築から逆流して Web に入る人は多分そんなにいないが、私はそのタイプだ。ちなみに、どうしても一つだけ、いちばん得意な言語を挙げろと言われたら、CSS かもしれない?
2023 年の初めにフロントエンドを練習していた頃は、LLM にはまだフロントエンドを独力で書く力がほとんどなかった…… CSS は完全に手作業で調整するしかなかった。とはいえ、今の Agent でも UI デザインの面で、一言で「美しい」画面を生成するのは難しいと思っている(個人の感想)。
ただ、今の LLM の発展速度は確かにすさまじい。毎月様変わりだ。GPT 3.5 が出てから 3 か月ほどたった、たぶん 2023 年 1 月に GPT に触れた。VB の期末試験をどうにかするためだった。衝撃だったのは、GPT 3.5 の答えが本当に動いたことだ。まるで信じられなかった。当時の私は、AI というと YOLO や小愛同学みたいな単純な ML の印象しかなくて、LLM なんて全然知らなかった。
そのあと、相乗りの GPT Plus アカウントを見つけて、2 年ほど使い続けた。2025 年からは自分で独立したアカウントを持って課金していて、今でも使っている。とはいえ、驚きはしていても、当時はずっと危機感がなかった。AI はあくまで質問する Tutor として使っていて、プロジェクトが複雑になると結局詰まっていた。
実際、2025 年上半期までは本当に危機感がなかった。下半期に Vibe Coding が広まり、Claude 4 と GPT 5 のコード能力が上がってきたあたりで、進歩がかなり想像を超えてきた。
とはいえ、使うものは使う。今は GPT Plus と Google AI One を契約している。GPT の発散的思考と Gemini の Pro は、学習にかなり大きな助けになっている。高数や微積分を勉強するときも、Gemini でかなりの問題を片付けられた。Google AI One に付いてくる NotebookLM は、学習と復習の効率を大きく上げてくれた。Agent Coding でいちばん頻繁に使うツールは Codex と GitHub Copilot だ。
GPT 3.5 が出てから今まで、まだたった 3 年しかたっていない…… とはいえ、3 年も短くはない。かつて一世を風靡した GPT 4 や o3 も、今では新しいモデルにかなり差を付けられている。最近は本気で、業界を変えるべきか考えている。まだ入行すらしていないのに、もう失業することになるかもしれない。
以前は、まして先月末までは、組み込みやハードウェア開発に転向する妄想もしていた。とはいえ、ある穴から別の穴へ飛び込むようなもので、現実的には妄想のままだ。でも、現実世界で自分の成果物に直接触れられるというのは、やはりすごく格好いい。
マイルストーン
私にとってマイルストーン的な意味を持つプロジェクトはそんなに多くない。たぶん片手で数えられるくらいだろう。小さなツールや、あまり意味のないプロジェクトはここでは挙げない。
- 自分の Minecraft サーバーの Wiki とポータルサイト(2022)。当時、自分の MC サーバーで MediaWiki を保守する必要があり、サーバー主としてホームページ UI 案を何パターンも設計した。その過程で、HTML、CSS、JavaScript、PHP(MediaWiki)に触れた。
それから 2 年後の 2024 年 7 月、サーバーポータルサイト を設計するために、初めて Vue に触れた(最初の版は Vue 2)。Vue で、フロントエンド学習史上初めての標準的な(パッケージマネージャー付き)フロントエンドプロジェクトを作った。ただし、このプロジェクトは後に公開されなかった。機能が少し散らかっていて、後で直そうと思っていたのに、その「後」がずっと先延ばしになっているからだ。
とにかく、自分の MC サーバーを作る過程で、フロントエンド以外にも、サイト運用やサイト構築の知識をかなり無理やり学ばされた。 - 中職時代にクラスメイトと自分のために書いた試験問題演習システム(2024)。Nest + Vue + TS に基づく、フロントとバックエンド分離の Web プロジェクトだ。実は初版は、昔ながらの JavaScript + PHP の簡易バックエンドで構成されていた。今の Nest の技術スタックは、2024 年の夏休みにリファクタしたときに選んだものだ。
サイトは 2025 年中ごろまで更新され続けた(次の学弟学妹も使う予定だったが、もう次がいなかったので更新は止まった)。今は Public Archive になっている。
これは私が初めて本格的なバックエンドフレームワークで書いた、きちんとしたバックエンドプロジェクトだった。しかも、書くところから公開、テスト、ユーザーの反応(クラスメイトや学弟学妹)まで、全部一通り経験した。今振り返ると、少し黒歴史でもある。 - Wiki.js 用に書いたカバー CSS(2024)。純粋な SCSS プロジェクトで、GitHub Star がいちばん多いプロジェクトでもある。技術的に特筆すべきことはあまりない。記念として置いてあるだけだ。もしかすると、これが私のいちばん有名なプロジェクトかもしれない。私を追加した Coder の多くはこのプロジェクト経由で、Wiki.js や MediaWiki のデプロイについて相談しに来た人もいる。今このページを見ているあなたも、もしかするとそこから来たのかもしれない。
- 自分の紹介サイト(2024)。つまりこのサイトだ。Nuxt のフルスタックフレームワークに初めて触れたあとに書いたプロジェクトだが、それ以外に特に派手な点はない。―― いや、ある。派手な点は、まさに私の超天才的 UI デザインだ。真面目な話、かなり満足している。Agent が書いたなんて言わないでほしい。Agent は、もう私が決めた内容を処理しているだけだ。このサイトの UI は全部、私が少しずつ調整したものだ。侮辱しないでほしい。もし攻撃したいなら、私のことをバカだと言えばいい。プロジェクトを貶すのはやめてくれ。頼む。
- 自分の Minecraft サーバーの情報集約サイト(2025)。Nest + Vue + TS に基づく、フロントとバックエンド分離の Web プロジェクトだ。GitHub Actions をソースサイトへのデプロイに初めて設定し、EdgeOne とその周辺ルールも初めてちゃんと組んだ。知ることと実際にやることの感覚はまったく違う。その期間には、DNS 解析や Cloudflare 最適化など、以前は考えもしなかった手口でいろいろな操作を実現するのも初めてだった。たぶんこれが、私にとって初めて「大きい」し「雑多」でもあるプロジェクトで、今も開発中だ。いちばん頭を抱えるのは Agent Coding の使い方の型で、まだ模索しているところだ……。
まとめると、私は Web が生まれてから今までの技術の流れを、だいたい一通り通ってきたのかもしれない。昔は HTML ファイル同士を切り替えるだけで、ES6 のような新しい技術規範に一切頼らないプロジェクトも書いていた。書くのは極めて苦痛だった。
……とはいえ、こういうやり方はマクロ構造の理解には役立つ。就活の観点から見れば学習速度は少し遅いままだし、卒業まであまり時間もない。2025 年はほぼ一年中学校の仕事で忙しく、先生についていくつかのプロジェクトをやったが、結果はあまり良くなかった。2026 年の今になって、専升本は終わったとはいえ、その後の計画の大半も結局は受験、受験、受験…… だ。
雑談
これだけ多くのプロジェクトをやってきても、むしろ悲観的になるばかりだ。私は以前、無意識に「基本文法さえ押さえれば、ほとんどの難題は解ける」と思っていた。だが現実は違った。いわゆる「知識を身につける」とは、API 呼び出し規則を覚えることでも、TypeScript の高度な型体操や設計パターンを暗唱することでもない。
以前の私は本気で(無意識に。よく考えると穴だらけだが)、Vue のリアクティブ原理や Node.js のイベントループを理解すれば、実務でも全部押し切れると思っていた。実際その手の講座も買った。アルゴリズムとデータ構造も、原理をざっくり知っていれば十分だろう、とも幼稚に考えていた。社交の場で技術力を示す話題にはなるからだ。
でも実際の場面、たとえばフロント・バック分離構成をゼロから組むとか、CI/CD Workflow を処理するとか、あるいはリファクタ中に基盤を SQLite から PostgreSQL に移すだけでも、ようやく気づいた。文法はただのレンチでしかない。核心能力はシステム全体を制御する力で、少し格好よく言えば「エンジニアリング直感」や「システム境界への感度」だ。
この思考のクセは語学学習にも延びていた。私は以前、本気で「文法学習と単語暗記こそ英語学習の本質」だと思っていた。だが試験の点数はその理屈を支持してくれない。自分の問題点を整理せず、読解中の思考過程を一つずつ書き出さず、デバッグもしなければ、問題は絶対に見つからない。
CET-4/CET-6 の読解で正答数が安定しない件でも、かなり長い間ぐるぐる考えていた。単語を知らなかったのか、読みが雑だったのか。どの理由も説得力に欠け、主観に寄りすぎていた。
高数や微積を学んで初めて分かったのは、条件を全部整理して、起こり得るケースを丁寧に分析する必要があるということだ。本質的には、これも開発とあまり変わらない。人は問題が起きると、つい自分の行動を美化して隠し、適当に済ませがちだ。しかも、英語学習の解法を知ってもやはりしんどい。例えば作文力を上げる最善手の一つは回訳練習だが、時間を食いすぎないか? 成果が出なかったらどうする? という不安が残る。
世界は巨大なカオス系なのかもしれない。学ぶこと自体がそもそも重労働で、継続的な投入と大量のエネルギーを要求する。でも「できるかどうか」は結局自分にしか分からない。
残念ながら、学習には必ずアウトプットが必要だと気づいたのは最近だ(Obsidian で最初から整理し直すのもかなりしんどい)。自分で復盤し、想起し、要約しなければ、能力が速く伸びるはずがない。私が言う「プロジェクト経験」も、長年サイト運営を続ける中で無意識に積み上がった経験にすぎないのかもしれない。後から対応する知識点を見返すと、理解が自然に追いついてくるだけだ。
ただ、実践だけでまとめない学習は遅すぎる。成長したいなら行動するしかない。掘れば掘るほど自分の小ささを感じる。実際のところ、i18n ですら LLM に聞く人間だし、Nuxt のビルドや HMR 更新の問題で長時間詰まることもある。今の開発エコシステムは高度に抽象化されているとはいえ、各工程の細部まで考慮が必要だ。
タグには DevOps と書いているが、周知の通り DevOps は領域があまりにも広く複雑だ。丸一日格闘して Workflow を 1 本組めただけ、なんて日もある。途中で想定外が起きれば、処理にさらに長時間かかる。それでも、これが学習の通過点なのは分かっている。
自分に DevOps のラベルを貼るとき、実際かなり強い背徳感がある。結局は自己ラベリングだからだ。Web や TypeScript も同じで、こうしたラベルは私の自信のなさの表れの一つでもある。Engineer という言葉は、確かに責任感の重い言葉だ。
はあ。細部と境界条件を優雅に扱うのは本当に難しい。この角度から見れば、私はただの卑しいコード継ぎ職人だ。別の角度から見れば、人間だって大規模言語モデルみたいなものではないだろうか。
技術の広さ
話がそれた。実は TypeScript や Web 以外の言語・分野にも、少しずつ触れてはきた。というのも、最初に体系的に学んだ言語は C(2021 年)だったからだ。ただ、深くは分かっていない。下に使ったことのある言語をいくつか挙げておく。
- Java で Minecraft Mods と Plugins をいくつか書いたことがある(Agent 補助)。
- Rust で大会向けの Web プロジェクトを書いたことがある(Agent 補助)。その後は全国 3 位だった。
- Python で Excel、自動チェックイン、ML 学習用のスクリプトをいくつか書いたことがある(部分的に Agent 補助)。また、専升本の専門科目に Python が含まれていたので、1、2 か月ほど Python の基本文法も復習した。
- 最近は ESP32S3 の卒業制作をやっている。
簡単に習熟度表でまとめると、こんな感じだ。
- T0(最も得意):HTML、CSS、TypeScript(JavaScript を含む)。
- T1(比較的慣れている):Java、Python。
- T2(見覚えがある程度):Android 開発(しばらく授業を受け、いくつか大きめの課題を作った)、Rust、C、C++。
GitHub で比率が最も高いのは、たぶん Vue と TypeScript だ。私の GitHub Contributions を見れば分かるが、だいたい 1 週間のうち 4〜5 日は Commit がある。たまに一日中がんばって、Profile を開いて自分の緑の点がびっしり並んでいるのを見るだけでも、かなり達成感がある。ははは。
2026 年 4 月 10 日 13:36
4933 文字 / 21 分