エンジニアとして20代にやっておけば良かった7つのこと

に公開

本記事では、私がソフトウェアエンジニアとして、これまでにやっておけば良かったと後悔している、7つのことを紹介する。
個人的な内容ではあるものの、特に20代のジュニアエンジニアの方々にとって、少しでも参考になればと思って書いている。

なお、私は現在(2026年1月時点で)32歳で、ソフトウェアエンジニア歴は6年と数ヶ月程度だ。
スタートアップにて、iOS/Androidアプリ開発を主軸として、バックエンドやフロントエンドの開発も含めた、いわゆるフルスタックエンジニアとして働いてきた。
私は化学メーカーの研究員という異業種からキャリアを開始しており、プログラミングを始めたのも25歳の頃と、遅いスタートを切っている。
その遅れも加味すると、現時点での私が「やっておけば良かった」と思うことを、「20代にやっておけば良かったこと」というタイトルの記事にしても、間違ってはいないだろう。

では、7つのやっておけば良かったことの紹介に入る。

1. インフラの開発経験を積むこと

私は現在、本業ではモバイルアプリ領域の開発を主に行なっているが、今年から主軸をインフラ寄りにするための勉強を進めている。
影響力のあるプロダクトを見ても、インフラエンジニアリング/プラットフォームエンジニアリングは、プロダクトの価値創出の基盤であり、それは今後も変わらないと思われるからだ。加えて、AIやセキュリティといった重要領域との掛け算のしやすさも大きい。
しかし、インフラの開発経験を積むことは、もっと前にやっておくべきだったという後悔がある。

Webフロントエンドやモバイルアプリなどのクライアント寄りの開発は、個人レベルでも知見を溜めやすい。一方で、バックエンドやインフラについては、実務レベルで一定規模以上の開発でしか積めない経験が多い。それに加えて、ジュニアエンジニアの頃の方が、会社で別領域に移ることのハードルが低いというのもある。

2. Webフレームワークのソースコードを読むこと

私は前職でScala/Play Framework、前々職でRuby on Railsを使ったバックエンド開発を経験してきた。Play FrameworkやRuby on Railsを使っていた頃に、それらのGitHub上のソースコードを読むことをやっておけば良かったと後悔している。現在はMobile SDK開発をメインで行なっているため、Webフレームワークを触る機会がめっきり減ってしまったのである。

Webフレームワークのコードリーディングに踏み切れなかった原因を振り返ると、「OSSのソースコードリーディング」では不十分で、「OSSにコミット」までしないと意味がない、という高いゴール設定を勝手にイメージしてしまっていたことが大きいと思われる。
ただ、アウトプットに結びつかなくとも、ソースコードを読むだけでも価値はある。あるいは、OSSへのコミットまでいかなくとも、得られた知見を技術記事にするだけでも価値があるだろう。
特に今であれば、それらのリポジトリをローカルに落とし、Claude CodeのようなAIツールを使って仕組みを解読していくことは、誰でもできることだ。

3. 宣言的UIフレームワークの内部実装を学ぶこと

前職では、ReactやFlutter、SwiftUI、Jetpack Composeといった、さまざまな宣言的UIフレームワークを用いた開発を経験した。
現在はUI開発からは遠ざかってしまったが、宣言的UIフレームワークの使い方だけでなく、その内部実装まで学んでおけば良かったというのは後悔していることの一つだ。
ライブラリの移り変わりはあろうと、宣言的UIフレームワークに共通する原理や思想は、プラットフォームを問わず、この先も残り続けると思われるからだ。

4. どれか1つのプログラミング言語を突き詰めて勉強すること

これまでに、Ruby・TypeScript・Scala・Swift・Kotlin・Dartなど、さまざまな言語をプロダクションレベルで使ってきた。
一方で、どれか一つの言語を突き詰めて勉強するということはなかった。言語仕様の詳細やコンパイラの挙動まで、プロダクションで使えるという範囲を超えた深掘りを、いずれかの言語でやるべきだったと後悔している。
あらゆるプログラミング言語には共通する原理やパターンがあり、一つの言語を深いレベルまで熟知することで、その理解を他の言語にも転移できるからである。

5. プロダクトのドメイン知識を学ぶこと

私の前職はEdTech系のスタートアップで、教育や脳科学といった学問領域がプロダクトのドメインとして関連していた。
私自身、それらの領域にはもともと興味があったものの、在籍時に腰を据えて勉強することはないまま退職してしまった。
今となっては、在籍時にそれらの領域をもっと本格的に勉強しておくべきだったと後悔している。

エンジニア界隈では、会社で得られる技術的な経験も一種の資産形成として重視されていると思われる。
一方で、その場で得られるビジネス上のドメイン知識も、それに劣らない価値があるだろう。

6. 技術カンファレンスにプロポーザルを出すこと

私は昨年初めて、技術カンファレンスにプロポーザルを出し、実際に登壇することもできた。
それを経て思ったのは、プロポーザル提出のハードルはそこまで高くないということ、そしてもっと前から挑戦しておけば良かったということだ。

上に書いた「Webフレームワークのソースコードを読む」「宣言的UIフレームワークの内部実装を学ぶ」「どれか1つのプログラミング言語を突き詰めて勉強する」等も、まさにプロポーザル提出に繋がるような取り組みである。それらと併せて取り組んでいれば良かった、という後悔がある。

https://zenn.dev/kaseken/articles/1bb634484878f1

7. ブログ記事を日常的に書くこと

私の2026年の目標として、ブログ記事を日常的に執筆する、というものがある。これも、20代のうちからやっておけば良かったことである。
今まで積極的にブログ記事を書いていなかった要因として、オリジナリティやクオリティの低い記事を公開することに価値がないのではないかと思って「量」を求めず、かといって「質」を追求した渾身の一作を書いたわけでもない、というのがある。

ただ、ハイクオリティな記事でなくとも、文章化する過程で理解や考察が深まる。そして、過去の自分の考えや理解度が文章として残ることで、後々現在地との差分が見れる。そうした点において、十分に価値があることに気づいた。
書かなければ記憶に残るのみであり、しかも記憶というものは揮発性のあるメモリである。つまり、書かなければ、過去の理解や考えは「無」になっていくのである。

最後に

以上、私がこれまでにやっておけば良かったと後悔していることを紹介した。
なお、ここに書いたのは、いずれも「後悔」とはいっても今からでも取り返せるものでもある。インフラの勉強や記事の執筆、プロポーザルの提出などは、現在進行形で取り組んでいる。その他の項目についても、今後時間とチャンスがあれば改めて挑戦していきたい。
個人的な内容ではあったが、1人でも参考になったという方がいれば幸いである。

Discussion