見出し画像

「Laravel経験3年以上」は何を証明するのか——年数が独り歩きするエンジニア転職


導入——求人票に並ぶ四つの条件

求人サイトを眺めていたずんだもんは、画面の前で腕を組んだ。

そこには、よく似た条件が並んでいる。

・エンジニア経験3年以上
・Laravelを用いた実務経験3年以上
・AWSを利用した開発経験
・基本設計の経験


💚ずんだもん

GoやRustでWebシステムを作れる人でも、Laravelが3年未満なら未経験扱いになるのだ?

HTTPもデータベースも分かっているのに、Laravelを3年使っていないだけで応募できないのは不思議なのだ。


🎀めたん

その違和感は正しいわ。

経験年数は能力を直接測った数字ではありません。本来は「この人に一人でどこまで任せられるか」を推測するための代理指標です。


⚔️つるぎ

身長や体重を測るように、設計能力や障害対応力を直接数値化することはできません。

だから企業は、経験年数、使用技術、担当工程、役職といった観測しやすい情報から、実際の能力を推測します。


💚ずんだもん

つまり「3年以上なら必ずできる」という意味ではないのだ?


🎀めたん

ええ。ただし、代理指標が応募資格や案件参画条件として固定されると、何を推測したかったのかが忘れられます。

本来確認すべき能力を調べず、数字だけを通行証として使う。これが、経験年数の独り歩きです。


この記事で扱う問いは四つある。

「3年以上」は何を証明するのか。

「未経験」という言葉には、何が混ざっているのか。

AI時代に経験の価値はどう変わるのか。

そして転職者は、年数の代わりに何を示せばよいのか。


 「Laravel3年以上」は何を測っているのか

同じ3年でも、経験の中身は違う


💚ずんだもん

でも、3年も仕事をしていたら、やっぱり詳しくなるのではないのだ?


🎀めたん

詳しくなる可能性は高まります。ただし、時間と能力は同じものではありません。

二人のエンジニアを比べてみましょう。


AさんはLaravel経験3年。

既存のCRUD画面、つまりデータの登録・表示・更新・削除を行う管理画面の修正を中心に担当してきた。設計、テスト方針、障害対応は別の担当者が決めている。指示された範囲では、安定して実装できる。

BさんはLaravel経験なし。

GoでWeb APIを開発し、認証・認可、データベース、トランザクション、Queueによる非同期処理、ログ、監視を担当した。本番障害やデータ移行にも対応している。


💚ずんだもん

「Laravel3年以上」という条件なら、Aさんが通りやすいのだ。

でも、原因不明の障害を調べたり、既存システム全体を理解したりする仕事では、Bさんの方が早く動けるかもしれないのだ?


⚔️つるぎ

その可能性は十分にあります。

AさんはLaravelの操作経験を持っています。BさんはWebシステムの問題構造を扱った経験を持っています。どちらが適任かは、募集している仕事によって変わります。


🎀めたん

問題は、求人票が仕事の違いを書かずに「Laravel3年以上」だけで済ませていることです。

既存画面を短期間で修正する人が欲しいのか、障害原因を調査できる人が欲しいのか。それを区別しなければ、年数だけでは適任者を選べません。


年数条件に合理性がある場合


💚ずんだもん

では、経験年数を書く会社は、全部おかしいのだ?


🎀めたん

そこまで単純ではありません。年数条件が合理的な場面もあります。

たとえば顧客との契約で「Laravel経験3年以上」が指定されている案件です。企業側が条件を変えられないこともあります。


⚔️つるぎ

入社直後から単独で本番障害を担当させる場合も、Laravel固有の知識が重要です。

サービスコンテナの挙動、Eloquentの癖、Queueワーカーの運用、設定キャッシュ、バージョンアップ時の互換性などは、一般的なWeb知識だけでは補えません。


🎀めたん

教育やレビューの余裕がない会社もあります。

大量の応募者を低コストで絞り込む必要がある採用では、年数による足切りが運用上の妥協として使われます。


💚ずんだもん

能力を正確に測れるからではなく、採用や教育にかかる費用を下げやすいから使われるのだ?


🎀めたん

その通りです。

年数条件の合理性は、測定精度よりも、契約、営業、教育、選考にかかるコストから生まれています。


⚔️つるぎ

だから応募者は、年数が足りないことを隠してはいけません。

代わりに「その条件が推測しようとしている能力を、別の経験で証明できるか」を考えます。


経験年数は、能力そのものではない。
本来は能力を確かめるための入口だった数字が、能力確認を省略するための通行証になると、年数だけが独り歩きする。


「未経験」という一語が粗すぎる

四種類の未経験を分ける


💚ずんだもん

求人票には「未経験可」や「未経験不可」とも書かれているのだ。

でも、何を経験していなければ未経験なのだ?


🎀めたん

そこには少なくとも四種類の未経験が混ざっています。

一つ目は、エンジニアリング未経験です。


要件を整理し、実装し、テストを受け、レビューで修正し、リリースし、運用する。

この一連の仕事を経験していない状態が、エンジニアリング未経験である。

個人開発でコードを書いたことがあっても、利用者への説明、他者のレビュー、障害対応、継続運用を経験していなければ、業務上は未経験の部分が残る。


⚔️つるぎ

二つ目は、特定技術未経験です。

Web開発の経験はあるものの、Laravel、Go、Rust、AWSなど、求人票に書かれた技術を業務で使ったことがない状態です。


🎀めたん

三つ目は、ドメイン未経験。

医療、金融、EC、製造、物流など、対象となる業務の知識がない状態です。


⚔️つるぎ

四つ目は、現場未経験です。

その会社固有のコード、顧客との約束、運用手順、障害履歴、暗黙の判断基準、組織内の調整関係を知らない状態です。


💚ずんだもん

Laravel経験者でも、新しい会社の業務や既存システムについては未経験なのだ?


⚔️つるぎ

当然です。

Laravelを10年使っていても、その会社の商品、顧客、データ、障害履歴までは知りません。技術経験があれば学習速度は上がりますが、現場固有の知識を省略できるわけではありません。


自社採用と案件配属型では評価構造が違う


🎀めたん

未経験の扱いは、採用形態によっても変わります。

自社サービスや自社の受託開発組織で採用する場合、企業は入社後の担当範囲を調整できます。


⚔️つるぎ

最初は小規模改修、次にテスト追加、その後に設計というように、段階的に責任を広げられます。

他のフレームワークで身につけた能力が自社へ移転されれば、育成投資も会社に残ります。


🎀めたん

一方、SESなどの案件配属型では、顧客の案件票に経歴書を合わせる必要があります。

ただし、SESは業界で広く使われる呼び方であり、労働者派遣と法的に同じものではありません。準委任などの契約と、派遣契約は区別する必要があります。


💚ずんだもん

採用されたら、すぐ開発案件へ入れるとは限らないのだ?


🎀めたん

ええ。

会社に採用されることと、顧客案件へ参画できることは別です。Laravel経験年数が顧客側の営業条件なら、技術的な移転可能性より、経歴書上の一致が優先されやすくなります。


⚔️つるぎ

その構造を知らずに「未経験歓迎だから経験を積める」と考えるのは危険です。

誰が最初の仕事を用意するのか。誰がレビューするのか。待機中に何を学ぶのか。一年後にどのような成果物と責任経験が残るのか。入社前に確認するべきです。


🎀めたん

エンジニア不足という言葉も、無条件の採用を意味しません。

不足しているのは、仕事を分解し、レビューを受けながら改善し、最終的に一定範囲を任せられる人です。未経験者を育てる仕組みが不足している会社も多いのです。


エンジニアリング未経験と、特定技術未経験は同じではない。
「未経験可」という言葉より、誰が仕事を用意し、誰がレビューし、1年後にどんな経験が残るのかを確認しよう。


エンジニアは過去の経験を新しい技術へ移転している

フレームワークが変わっても責務は消えない


💚ずんだもん

GoやSymfonyの経験は、Laravelでも本当に役に立つのだ?

書き方も関数名も違うのだ。


⚔️つるぎ

APIは違います。しかし、Webシステムが負っている責務は大きく変わりません。

HTTPリクエストを受け、ルーティングし、必要な処理へ渡す。依存関係を管理し、認証された利用者に権限があるかを確認する。データベースを更新し、失敗時には整合性を守る。


🎀めたん

さらに、入力値の検証、Queueによる非同期処理、キャッシュ、テスト、ログ、監視、デプロイ、ロールバックがあります。

フレームワークは、これらの責務を実装するための構造と部品を提供しています。


⚔️つるぎ

GoやSymfonyの経験者はLaravelのAPIを知らなくても、問題が起きそうな場所を予測できます。

Eloquentで関連データを読み込んだとき、N+1と呼ばれる大量の追加クエリが発生しないか。

複数の更新を、どのトランザクション境界でまとめるべきか。


💚ずんだもん

Queueの再実行で、同じメールを二回送ったり、同じ請求を二回処理したりしないかも確認するのだ?


⚔️つるぎ

その通りです。

認証と認可が混同されていないか。Migrationを安全に戻せるか。外部APIが停止したときに業務全体まで止まらないか。ログから障害原因を追跡できるか。

こうした質問は、フレームワークが変わっても残ります。


知識の価値は「どこを見るか」にある


🎀めたん

機械修理の有名な逸話があります。

ハンマーで叩く作業に一ドル。どこを叩くか知っていることに九十九ドル、という話です。


💚ずんだもん

ソフトウェアなら、コードを数行直す作業より、どこを直せばよいか特定する方に価値があるのだ?


⚔️つるぎ

そうです。

障害の原因が、画面、API、認証、データ、キャッシュ、外部サービス、設定、デプロイのどこにあるのか。変更すると何が壊れるのか。どのテストで安全を確認するのか。

価値は、コード量だけでは測れません。


🎀めたん

DDD、つまりドメイン駆動設計も、特定のコード形式を暗記するためだけの知識ではありません。

業務ルールをどこが所有するのか。変更理由が異なる責務をどう分けるのか。データの整合性をどの単位で守るのかを考える枠組みです。


⚔️つるぎ

AWSの参照アーキテクチャやWell-Architectedも同じです。

信頼性、セキュリティ、コスト、性能、運用をどの観点で点検するかという質問集を提供します。システム設計面接の学習も、未知の要件を分解し、制約と選択肢を整理する訓練になります。


外部の専門能力と現場知識を組み合わせる


💚ずんだもん

企業改革をするコンサルタントに、「その会社で3年以上働いた経験」を求めることは少ないのだ。

それなのに、エンジニアだけ同じ技術を長く使う年季が必要だと考えるのは、少し変なのだ?


🎀めたん

外部コンサルタントは、汎用的な専門知識を持ち込み、現場を調査し、内部の担当者と協働して改革案を作ります。

エンジニアも、未知の現場を調査し、内部知識を持つ人と協働する専門職です。


⚔️つるぎ

ただし、外部知識だけで改革できるわけではありません。

現場担当者が知っている例外処理、顧客との約束、繁忙期の運用、過去の失敗を無視すれば、理論的に美しくても使えないシステムになります。


🎀めたん

必要なのは、五つの組み合わせです。

移転可能な専門能力。現場知識を獲得する方法。小さく検証する仕組み。判断に必要な権限。内部担当者との協働です。


⚔️つるぎ

熟練とは、過去の正解を丸暗記することではありません。

未知の現場で、誰に何を聞き、どこを疑い、どの変更から小さく試すかを設計できることです。


熟練エンジニアが持っているのは、過去の回答集だけではない。
新しい技術と現場に対して、何を質問し、どこを疑い、どう安全に確かめるかという「質問集」である。


AI時代には経験の意味が変わる

AIが圧縮する経験差


💚ずんだもん

AIコーディングエージェントがあれば、知らないフレームワークでもコードを書いてもらえるのだ。

それなら経験年数は、ますます要らなくなるのだ?


⚔️つるぎ

なくなるのではなく、経験の価値が移動します。

AIは文法やAPIの検索、フレームワーク間の対応関係、定型コード、テストの雛形、既存コードの要約を高速化します。


🎀めたん

試作品の実装、ドキュメント整理、複数案の比較も得意です。

以前なら数日かかった調査と初期実装を、数時間で進められる場面も増えます。特定APIを何度も手で書いた経験の差は縮まりやすくなります。


💚ずんだもん

では、新人でも会社の大きなシステムを自由に直せるのだ?


🎀めたん

それは別の話です。

コードを生成できることと、本番変更を任せられることは同じではありません。


人間に残る判断と責任


⚔️つるぎ

AIを使っても、解くべき問題の選択は人間に残ります。

現場固有のルールを確認し、AIの出力を検証し、データ整合性、セキュリティ、権限管理を守る必要があります。


🎀めたん

変更による副作用の予測、導入と撤退の判断、障害時の復旧、結果への責任も残ります。

AIは「実装できる案」を大量に出せます。しかし、「この会社が今取り組むべき案」を自動的には決められません。


💚ずんだもん

新入社員に提案する権利を与えることと、本番環境を自由に変更する権限を与えることは別なのだ。


⚔️つるぎ

その区別が重要です。

新人でも、Excelとメールによる集計の自動化、問い合わせ対応状況の一元化、CSV変換作業の自動化、社内文書検索の試作は提案できます。

既存システムへの回帰テスト追加や、手作業のレポート作成の自動化も良い題材です。


改善を成立させる組み合わせ


🎀めたん

新入社員による改善を成功させるのは、個人の万能さではありません。

次の組み合わせです。


新人の素朴な疑問
+現場担当者の業務知識
+AIの一般知識
+コーディングエージェントの実装能力
+責任者のレビュー


⚔️つるぎ

たとえば、新人が「毎週、同じCSVを手で並べ替える必要がありますか」と質問する。

現場担当者が、列の意味、例外データ、締め時間を説明する。AIが変換方法を提案し、コーディングエージェントが試作品を作る。責任者が検証基準と権限を確認する。

これなら、小さく試して、問題があれば元の手作業へ戻せます。


🎀めたん

AI時代には別の格差が生まれます。

良い問題を選べるか。AIへ適切に委任できるか。出力を検証できるか。現場担当者から必要な情報を引き出せるか。


⚔️つるぎ

さらに、小さく試して戻せるか。責任境界を理解できるか。

「AIを使える」という一言ではなく、AIに何を任せ、自分は何を判断し、誰が最終確認したかを説明する必要があります。


AIは経験を消すのではない。
文法や定型実装における経験差を縮め、問題設定・検証・責任としての経験価値を大きくする。


年数ではなく、経験の移転可能性を示す

エンジニアリング未経験者が作るべき証拠


💚ずんだもん

実務経験がない人は、何を見せればよいのだ?

「勉強しました」「アプリを作りました」だけでは足りないのだ?


⚔️つるぎ

コードだけでは、仕事の進め方が分かりません。

どの問題を選び、誰のどんな作業を改善するのか。どの制約があり、どの選択肢を比較したのかを示してください。


🎀めたん

さらに、どこまで実装し、どのテストを行ったか。

AIに何を任せ、自分が何を判断したか。失敗時にどう戻し、導入後の運用を誰が担当するかまで整理します。


💚ずんだもん

派手なSNSクローンを作るより、問い合わせ管理やExcel集計の方がよい場合もあるのだ?


⚔️つるぎ

転職用の成果物としては有効です。

予約受付、問い合わせ対応漏れの防止、CSV変換、WordPressの更新手順改善などは、利用者、制約、失敗条件、運用責任を具体的にできます。


未経験者の面談では、次のように説明できる。

「実務経験はありませんが、問い合わせ対応漏れという問題を対象に、現状整理、選択肢比較、試作、テスト、運用手順まで作成しました。AIにはコード生成を任せましたが、データ項目、失敗条件、検証基準は自分で定義しました」


🎀めたん

ここで重要なのは、実務経験があるように装わないことです。

実務ではないものは実務ではないと明示し、そのうえで、仕事に近い改善サイクルをどこまで完了したかを示します。


技術移行者が示す四点


💚ずんだもん

すでにエンジニアだけれど、Laravelは未経験という人はどうするのだ?


⚔️つるぎ

「未経験ですが勉強します」では弱すぎます。

四点を示してください。

一つ目は、既存経験から移転できる能力。

二つ目は、新技術固有の差分。

三つ目は、その差分を補完した証拠。

四つ目は、入社後の参加計画です。


🎀めたん

共通能力だけを強調して、Laravel固有の知識を軽視してはいけません。

反対に、Laravelを知らないという一点だけで、Web開発経験すべてを未経験扱いする必要もありません。


技術移行者は、面談で次のように説明できる。

「Laravelの実務経験はありません。一方で、GoによるWeb API開発で、認証・認可、トランザクション、非同期処理、テスト、監視、障害対応を経験しています。Laravel固有の差分として、Eloquent、Service Container、Queue、Policyを調査し、既存アプリへの小規模改修とFeature Testを作成しました。入社後は小規模改修から参加し、業務ルールと運用上の前提を把握して担当範囲を広げます」


💚ずんだもん

「できます」と言い切るのではなく、できる部分、知らない部分、補った部分、最初に任せてほしい仕事を分けているのだ。


⚔️つるぎ

それが責任ある説明です。

採用側も、候補者をどの支援条件で受け入れればよいか判断できます。


求人票を年数条件から職務定義へ変える


🎀めたん

企業側にも改善できることがあります。

悪い例は、条件だけを書く求人票です。

「Laravelを用いた実務経験3年以上」

これでは、何を任せたいのか分かりません。


⚔️つるぎ

改善例は、職務、責任、利用技術、支援条件を書くことです。

「Laravelで構築された既存システムの保守と機能追加を担当します。Eloquent、Migration、認証・認可、Queue、Feature Testを使った変更を、レビューを受けながら進められる能力を求めます。他言語・他フレームワークで同等のWeb開発経験がある方も対象とします」


💚ずんだもん

これなら、Laravel経験がない人も、自分の経験が対応するか確認できるのだ。

Laravel経験者も、単なる画面修正ではなく、Queueやテストまで必要だと分かるのだ。


🎀めたん

企業が評価すべきなのは、年数だけではありません。

候補者が問題をどう整理したか。不足情報を質問できたか。選択肢を比較したか。変更範囲を限定できたか。


⚔️つるぎ

テストと復旧方法を考えたか。AI出力を検証できたか。必要な支援を説明できたか。

そして、過去の経験を新しい技術と現場へ移転できるかです。


🎀めたん

年数条件を完全に廃止する必要はありません。

契約上必要なら書けばよい。ただし、それとは別に、担当する仕事、求める責任範囲、レビュー体制、入社後の立ち上がり方を明示するべきです。


未経験者は、経験者のふりをする必要はない。
小さくても改善サイクルを完了し、自分がどこまで調査・判断・実装・検証できるかを示せばよい。

技術移行者は、学習意欲ではなく、共通能力・技術差分・補完実績・参加計画を示そう。

まとめ——過去の時間を、未来の仕事へ翻訳する


💚ずんだもん

経験年数は、過去にどれだけ時間を使ったかを示す数字なのだ。

でも、未来にどんな成果を出せるかを、そのまま保証する数字ではないのだ。


🎀めたん

同じ3年でも、担当した判断と責任によって経験の密度は変わります。

指示された修正を安定して行った3年と、設計、障害対応、データ移行、運用改善まで担った3年では、証明できる能力が違います。


⚔️つるぎ

エンジニアリング未経験者には、小さな改善を完了した証拠が必要です。

問題整理、選択肢比較、試作、テスト、復旧、運用までを一つのサイクルとして示してください。


🎀めたん

新しい技術へ移るエンジニアには、過去の経験を新技術へ対応付ける説明が必要です。

共通する責務、固有の差分、差分を補った成果物、入社後の参加計画を分けて伝えます。


⚔️つるぎ

企業には、技術名と年数だけでなく、職務、責任、必要な支援を定義する責任があります。

「何年使った人が欲しいか」ではなく、「どの仕事を、どの支援条件で、どこまで任せたいか」を求人票に書くべきです。


💚ずんだもん

AI時代には、コードを書く速さだけを競っても足りないのだ。

どこを直すのか。何を守るのか。どう検証するのか。問題が起きたらどう戻すのかを説明できることが大切なのだ。


⚔️つるぎ

年数条件を見て、すぐに応募を諦める必要はありません。

その数字が何を推測しようとしているのかを読み解き、自分が持っている証拠と不足している証拠を分けてください。

不足しているなら、経歴を飾るのではなく、小規模改修、テスト、調査記録、運用手順、移行計画として補います。

過去に費やした時間は変えられません。しかし、過去の経験を未来の仕事へどう翻訳するかは、今から設計できます。


技術未経験と、問題解決未経験は同じではない。
経験の価値は、過去と同じ作業を繰り返せることではなく、過去の判断を新しい技術と現場へ移植できることにある。

いいなと思ったら応援しよう!