都内の自社開発企業で働く現役Javaエンジニア、トムです。新卒で入ったSES企業でレガシーなJava案件と格闘し、30歳を前に自社開発企業への転職を決意しました。このページでは、SES時代の苦労、転職のリアル、そしてJava初心者やキャリアに悩むエンジニアに向けてブログで伝えたいことをまとめています。
トムの3行プロフィール
・Javaエンジニア歴7年以上(SES→自社開発企業に転職)
・レガシーJava案件からDocker/Kubernetes環境のモダン開発へ
・Java初心者やキャリアに悩むエンジニアに向けて実体験ベースで情報発信中
新卒で飛び込んだSESの世界、レガシーなJava案件との格闘、そして自社開発IT企業への転職。決して順風満帆とは言えなかった道のりですが、そこには失敗と成功、何より多くの学びがありました。同じようにキャリアに悩んだり、新しい技術に挑戦したいけれど一歩踏み出せないでいたりするJava初心者の方や、若手エンジニアの方々にとって、少しでも勇気やヒントになれば嬉しいです。
経歴|SES企業でJavaエンジニアとしてスタート

新卒で中小SES企業に入社
私のエンジニア人生は、新卒で入った中小のSES会社からスタートしました。大学は電気系専攻で、ITの基礎知識はほぼゼロからのスタートでした。でも当時は「エンジニアとして本気でやっていくぞ!」みたいな熱いビジョンがあったわけじゃありません。正直に言うと、「これからはITの時代らしいし、とりあえずそっち行っとくか」くらいのノリでした。
SESっていうのは、ざっくり言うとエンジニアを“人材として”企業に提供するビジネスモデルです。成果物にお金が払われる請負契約とは違って、「この人がこの時間働きます」という時間ベースの契約(準委任契約)がメイン。だから多くの場合、客先常駐になります。指示を出すのも自社じゃなくて常駐先。モノを売るというより、「人」と「時間」を提供する形です。
入社した会社も、いわゆる客先常駐メインのSES企業でした。説明会では「いろんなプロジェクトを経験できる」「若いうちから成長できる」といったキラキラしたワードが並んでいました。実際、得られた経験もあります。でも一方で、配属先次第で環境も人間関係もガラッと変わる、いわば案件ガチャ的な要素があるのも事実です。
最初の数ヶ月は研修。ビジネスマナーとJavaを学びました。同期と一緒に課題をこなして、新しい知識を吸収していく日々は、それなりに楽しかった記憶があります。ただ、研修が終わればいよいよ客先常駐が始まります。最初の配属先が決まったときの、ワクワクと不安がごちゃ混ぜになったあの感覚は、今でもはっきり覚えています。
キャリアのスタート地点は、たいてい理想と現実の間にあります。そこからどう解釈し、どう舵を切るかで物語は変わっていく。エンジニアという仕事は、技術よりもまず「環境との向き合い方」を学ぶところから始まるのかもしれません。
Java案件、そしてレガシー環境
最初に配属されたのは、金融系システムの保守・運用プロジェクトでした。そこで触ることになったのが、がっつりJavaで組まれたシステム。ここから、私とJavaの長い付き合いがスタートします。今振り返ると、この出会いがその後のキャリアをほぼ決めたと言ってもいいくらいでした。
ただ、その現場がまあ渋い。いわゆるレガシーど真ん中のシステムです。長年つぎはぎで改修されてきたコードは迷路みたいで、ドキュメントはほぼ伝説級。詳しいことは「○○さんの頭の中にあります」という世界観でした。開発環境も年季が入っていて、最新ツール?なにそれおいしいの?という状態。ビルドにやたら時間がかかったり、環境構築だけで一日が溶けたりするのも日常茶飯事でした。
「これがIT業界のリアルか…」と、理想とのギャップにちょっと衝撃を受けたのを覚えています。新しい技術を触りたい気持ちはある。でも毎日のタスクに追われて、それどころじゃない。そんな日々でした。
とはいえ、Javaそのものが嫌いだったわけではありません。むしろ、大規模システムをどっしり支える安定感とか、ライブラリの豊富さとか、どこの会社でも使われている安心感とか。この”堅実さ”には助けられていました。ただ、その安心感が逆に、「まあいいか」と挑戦を先延ばしにする理由になっていた気もします。
問題はJavaという言語じゃなくて、その使われ方や、プロジェクトの進め方、そして開発体験そのものにありました。同じようなレガシー案件を何年も続けるうちに、「このままでいいのか?」というモヤモヤがじわじわ大きくなっていきます。
成長が止まっている感覚と、本当にやりたいこととのズレ。残業もしたし、休日出勤もした。でも、それに見合うスキルアップや達成感があったかと言われると、正直ちょっと首をかしげてしまう。そんな時期でした。
SESから自社開発に転職|レガシーからモダン開発への挑戦

SES転職を決意した理由|マネジメントと将来への不安
長年Javaエンジニアとして働いてきた自分ですが、あるとき大きなターニングポイントがやってきました。SES企業から自社開発のIT企業へ転職する、という決断です。そこに至るまではかなり悩みました。
転職を考えた理由はいくつかありますが、一番大きかったのは「レガシーな環境から抜け出したい」という気持ちと、「新しい技術にちゃんと向き合いたい」という思いでした。これまで関わってきたJava案件の多くは、古い技術スタックや昔ながらの開発プロセスが前提。仕事の中心は既存システムの保守や改修で、新しい技術に触れる機会はほとんどありませんでした。
もちろん、レガシーシステムを守る仕事が大事なのはわかっていますし、そこで学べることも多い。でも、「このままで市場価値って上がるのか?」という疑問が、だんだん大きくなっていきました。クラウドやマイクロサービスのようなモダンな開発スタイルに触れてみたい。その世界で通用するエンジニアになりたい。そんな気持ちが、日に日に強くなっていったんです。
もうひとつは、マネジメントへの違和感でした。現場では、技術を深めることよりも「いかに今ある枠組みの中で効率よく回すか」が重視されがちでした。個人の成長やキャリアについて真剣に考えてもらえる雰囲気は正直あまりなくて、「このまま年数だけ重ねるエンジニアになるのでは?」という不安が常にありました。
とはいえ、転職は簡単な決断ではありません。慣れた環境を離れる怖さもあるし、新しい職場で通用するのかという不安もある。30歳を目前にしてのキャリアチェンジは、リスクがゼロとは言えません。
それでも、「現状維持はゆるやかな後退かもしれない」と思ったんです。不満を抱えたまま同じ場所にとどまるより、失敗する可能性があっても挑戦したほうが納得できる。そう考えて、自分の可能性を信じて一歩踏み出しました。
安全な場所に居続ける安心感と、未知に飛び込む不安。キャリアの選択はいつもその間で揺れます。ただ、少なくとも自分にとっては、動かないことのほうが怖かった。それが今回の決断の本質でした。
自社開発企業へ転職|モダン環境でのチャレンジ
転職活動では、これまで積み上げてきたJavaの経験はちゃんと活かしつつ、「せっかくならもっとモダンな環境でやってみたい」と思い、いろいろな企業を探しました。エージェントにも登録して、何社か面談を重ねるうちに、「自分は何がやりたいのか」「どんなエンジニアになりたいのか」がだんだんクリアになっていきました。そうしてご縁があったのが、今の会社です。
今の会社を選んだ理由は、自社サービスを持っていることが大きいです。受託ではなく、自分たちでサービスを育てていくスタイルなので、技術選定や開発プロセスの自由度が高い。しかも、これまでのJava経験もちゃんと活かせそうだと感じました。
さらに、アジャイル開発のような、これまで経験できなかった領域にも挑戦できる点も魅力でした。ユーザーの声を直接受け取りながら改善を回していく。このサイクルは、想像以上にやりがいがあります。
入社してからは、正直カルチャーショックの連続でした。開発環境は快適で、技術もかなりモダン。DockerやKubernetesが当たり前に使われている世界です。何より印象的だったのは、エンジニア一人ひとりの裁量が大きく、自分の意思でサービスに関わっていく姿勢が自然と根付いていることでした。
もちろん、最初は大変でした。新しい技術や考え方に慣れるまで、毎日が勉強です。これまであまり触れてこなかった知識をキャッチアップするのは簡単ではありませんでした。でも、その分「ちゃんと成長している」という実感がありましたし、純粋に開発が楽しいと感じられるようになりました。これはSES時代にはなかなか味わえなかった感覚です。
転職先でもJavaは主要な言語の一つとして使われているので、これまでの経験が無駄になることはありませんでした。むしろ、大規模システムの開発や運用で苦労してきた経験は、今の環境でもしっかり活きています。レガシーな現場で試行錯誤してきたからこそ、「もっと良い設計をしたい」「効率的なプロセスを作りたい」という意識も強くなったのかもしれません。
振り返ると、転職は自分にとって大きなターニングポイントでした。環境が変わると、見える景色も変わる。エンジニアとしての視野が一段広がったと感じています。
スキル・技術スタック
| カテゴリ | 技術 | 経験年数 |
|---|---|---|
| メイン言語 | Java(Spring Boot / Jakarta EE) | 7年以上 |
| インフラ | Docker / Kubernetes | 2年 |
| DB | MySQL / PostgreSQL / Oracle | 5年以上 |
| その他 | Git / CI・CD / Python | 3年 |
| 学習中 | Swift / Kotlin | - |
メインはJavaですが、個人開発やこのブログの運営を通じてPythonにも触れています。iOSアプリ開発(Swift)やAndroid開発(Kotlin)にも興味があり、少しずつ学習を進めています。
取得資格
- Oracle Certified Java Programmer, Silver SE(Java Silver)
Java一筋の理由|他言語への興味と今後の展望

Javaを選ぶ理由|経験と安定性
これまでずっとJavaをメインにやってきました。
「なんでJavaなの?」と聞かれると、理由はかなりシンプルです。
正直に言うと、「気づいたらずっとJavaだったから」です。
新卒で入ったSES企業で、最初に本格的に触った言語がJavaでした。そのあともアサインされる案件はほぼJava。言語を選べる立場ではなかったので、与えられた環境で結果を出すことに集中するしかなかった、というのが実際のところです。
その結果、自然とJavaの経験値がどんどん積み上がっていきました。言ってしまえば、成り行きでJavaエンジニアになった感じです。
とはいえ、Javaにはちゃんと強みがあります。
オブジェクト指向ベースの堅実さ、豊富なライブラリやフレームワーク、そして大規模開発での実績。さらに、多くの企業で採用されているので求人も多い。このあたりは、キャリアを積む上でかなり助けられました。
特に金融系や業務系のシステムでは、今でもJavaの信頼性は高いです。派手さはなくても、「ちゃんと動き続ける」安心感がある。エンタープライズの現場では、それが何より重要だったりします。
転職した今も、バックエンドの主力はやはりJavaです。長年やってきたおかげで、新しい環境でも即戦力として動けています。そういう意味では、Java一筋でやってきたことに後悔はありません。
むしろ、Javaを深く理解しているからこそ、他の言語を学ぶときにも比較しながら理解できる。設計思想の違いや、言語仕様のクセが見えやすい。これは地味に大きなアドバンテージだと感じています。
結果的に「たまたま選ばれた言語」が、自分の土台になった。
キャリアって、案外そんな偶然の積み重ねでできているのかもしれません。
Python・Swift・Kotlinへの憧れと挑戦
正直に言うと、心のどこかではずっと「Java以外もやりたいな」と思っています。気になっているのは、PythonやSwift、Kotlinあたり。触れるたびに、「あ、これちょっと世界が違うぞ」と感じてしまうんです。
Pythonは、とにかく書きやすい。コードが読みやすくて、無駄がない。しかも機械学習やデータサイエンスの分野ではほぼ標準装備みたいな存在。2026年現在、生成AIの普及でPythonの需要はさらに高まっており、扱えるかどうかで見える景色が大きく変わります。エンジニアとしての選択肢が一気に広がりそう、という期待があります。
Swiftもかなり気になります。iOSアプリ開発といえばこの言語ですが、設計がモダンで安全性も高い。それに何より、Apple製品のあの洗練されたUI/UXを自分の手で作れるかもしれないと思うと、普通にテンションが上がります。いつか自分のアプリをApp Storeに出してみたい、という気持ちはわりと本気です。
Kotlinは、より現実的な選択肢かもしれません。Javaとの相性が良くて、コードはよりシンプルで安全に書けると言われています。2019年にAndroidの推奨言語となり、2026年現在ではKotlinファーストが標準。Javaからの移行もスムーズです。Java資産を活かしながらモダンな書き方に寄せられるのは魅力的です。実際にJavaとKotlinを併用している現場の話を聞くと、「効率よさそうだな」と素直に思います。
こうした言語に惹かれるのは、単なる好奇心だけではありません。新しい言語を学ぶと、考え方そのものが少し変わります。問題の切り取り方や設計の仕方が変わる。結果的に、エンジニアとしての引き出しが増えていく感覚があります。
まったく違うパラダイムを持つPythonやSwiftの世界にも飛び込んでみたい。そんな気持ちを抱えながら、今日もJavaを書いています。実際にこのブログではPythonを使った自動化スクリプトの開発や、Swift/Kotlinの学習についても発信しています。やりたいことは尽きませんが、一歩ずつ手を動かしていくつもりです。
ブログを始めた理由|Java初心者とキャリアに悩むエンジニアへ

ブログで成し遂げたいこと|自己表現と価値創造
最後に、このブログを始めた理由と、1年間続けてきた中で見えてきたことを書いておきます。
このブログは、ただ情報を発信する場所というより、自分にとっては「自分を試す場所」みたいなものです。
転職して、新しい環境で毎日それなりに刺激もあって、仕事もやりがいはあります。でもあるとき、「このまま会社員として働き続けるだけでいいんだっけ?」と、ふと考えることがありました。今の仕事に不満があるわけじゃないし、ちゃんと貢献できている実感もあります。ただ、どこか物足りなさがあったんです。
「もっと自分の名前で何かを作れないか?」
そんな気持ちがずっと引っかかっていました。
会社の中での成果は、どうしても“組織の一員としての成果”です。それはそれで大事だし誇れることです。でも、自分の純粋な興味や好奇心を、100%そのまま形にできるわけではありません。評価の基準も、当然ながら会社への貢献です。
だったら、自分のフィールドを持てばいい。
そこで思いついたのがブログでした。
ブログなら、テーマも、書き方も、すべて自由。自分の経験や考えをそのまま出せます。誰かの役に立つ情報を届けられたら、それは小さくても社会への貢献になります。それに、書くことで自分の思考が整理されるし、「あ、こういうこと考えてたのか」と気づくこともあります。成長のログにもなるし、モチベーション維持にもなる。
「何かを成し遂げたい」という思いはかなり抽象的です。でも、その曖昧さのわりに、内側のエネルギーは強い。
技術で突き抜けるのかもしれない。
読者が増えて人気ブログになるのかもしれない。
ブログ経由で思わぬチャンスが生まれるのかもしれない。
まだ道半ばですが、170を超える記事を書いてきた中で、少しずつ自分の方向性が見えてきました。このブログが、その”何か”を形にするための土台になりつつあると感じています。
実際、1年書き続けたことで文章力も発信力もだいぶ鍛えられました。
それだけでも、やる価値は十分あるはずです。
Java初心者・若手エンジニアへ伝えたいこと
このブログでいちばん届けたいのは、昔の自分みたいに悩んでいるJava初心者の方や、キャリアに迷っている若手エンジニアの人たちです。少しでも前向きに、そしてできれば楽しみながらエンジニアとして進んでいける。そのきっかけになれたらいいなと思っています。
自分も新卒でIT業界に入ったときは、本当に何も分かりませんでした。右も左も分からず、とにかく壁にぶつかりまくり。特にレガシーなJava案件の現場では、技術を覚えるだけじゃなくて、独特の文化や人間関係にもかなり苦労しました。「もっと早く知っていれば…」「相談できる人がいたら…」と何度思ったか分かりません。当時は今ほど情報が豊富ではなく、ChatGPTのようなAIツールもない時代だったので、手探りで進むしかありませんでした。
だからこそ、このブログでは、自分の実体験ベースでリアルな話を書いていきたいと思っています。うまくいった話だけでなく、失敗談やそこから学んだこと、日々の学習で気づいたことも含めて、できるだけ分かりやすく伝えていきます。教科書に載っている知識だけでなく、現場で本当に役に立ったノウハウや、しんどい時期の乗り越え方なんかも共有していくつもりです。
目指しているのは、「困ったときにちょっと頼れる場所」「読むと少しやる気が出る場所」「もう一歩踏み出してみようと思える場所」になることです。少し大きな目標かもしれませんが、誰かのエンジニア人生にほんの少しでも良い影響を与えられたら、それだけで十分価値があると思っています。それがこのブログの一番の目的です。具体的には、Java入門から実務で使えるレベルまでの技術解説、SESや転職に関するキャリア記事、Docker・Kubernetesなどのインフラ入門、そして開発効率を上げるツール紹介などを書いています。
まだまだ勉強中の身ですが、読者の皆さんと一緒に成長していけたらうれしいです。コメントや質問も気軽にどうぞ。
このブログの人気記事
プロフィールを読んでいただきありがとうございます。以下の記事がよく読まれています。気になるテーマがあれば、ぜひご覧ください。