shimada-kの日記

ソフトウェア・エンジニアのブログです

求人票における「開発経験3年」の意味

エンジニアの求人票でよく目にする「開発経験3年以上」という表記についてです。その表記の裏にはどのような意図が含まれているのか言語化してみたいと思い立ちました。

同じエンジニアであれば「あ〜、まあ3年あれば〜」みたいな大体のレベル感というか想像できるスキルセットみたいなのがあると思います。ただ、例えば人事の方だったり人材会社の方だったりにはおそらく伝わりづらい気がするので、自分なりの解釈を言葉で棚卸ししてみたいと思います。

私の解釈なので一般的な意味を持つものではありません。最初に断っておきます。

開発を業務で行なったことがない人が3年間でどんな経験をしていくのか、自分の体験も振り返りつつシミュレーションしてみます。

1年目

開発を業務でやることになった初めての年次です。研修期間を終え晴れてエンジニアとして歩み出しました。やることなすこと壁にぶち当たり今までやってきたことが一切通用しない。アマチュアとプロのレベル差を身を以て知る。そういう期間だと思います。基本的には失敗と反省を繰り返す年次でありそれは会社もある程度許容してくれます。

2年目

簡単な仕事なら問題なくこなせるようになりました。まだまだ基礎の範囲は出ません。応用をきかせながら任せられる仕事の範囲を広げてゆきます。失敗しながらも成果の出し方を習得し、関わる人も増え徐々にチームメンバーの個性、得意不得意、関わり方などが見えてきます。

3年目

エンジニアとしての仕事の進め方を理解して、基本行動は満たしていると評価を受けます。先輩として振る舞うことも求められてきます。この辺りから同期内でも差がつき始めます。2年目よりもより深く自分の成果の量と質を上げるためにどうするべきかを意識します。

以上を踏まえて3年間の開発経験から得られるスキルは以下のようなものなのではないかと思いました。

  • 業務でやってはいけないことは一通りやってきており、分別のある行動ができる
  • 自分が出来ることとできないことが判断でき、出来ることはサポート無しに独力で対応できる
  • 指揮命令系統、役割・職種間といった縦と横の人間関係を意識して立ち回れる

日本において「3年」というのは学業を修める時の基本単位だったりしますからもっと発達科学的な観点から設計された高等理論があるのかもしれませんが、社会人のエンジニアとして3年間で得られることとしては上記の感じな気がしています。一旦これを「開発経験3年スキル」と呼ぶことにします。

話を振り返って例えば「開発経験3年」というものに「Webサービスの」という接頭語がついていたとすると、例えば開発経験3年スキルの1番目でいえば本番環境のデータを勝手に変更してしまい障害を起こした経験とか、gitで安易なpush -fをしてしまいみんなに迷惑をかけてしまった経験とか、そういう痛い思いを経て勉強してきたんだろう、という推測ができたりするのかと思います。

開発経験3年スキルは人によって色々な解釈があると思います。私も仕事でエンジニアじゃない人にエンジニアのスキルについて説明することがありますが、こういった背景を説明できるかどうかは共通のスキルイメージを持つために必要なことな気がします。ただし意味を細分化しすぎると解釈の余地が狭くなりますのでそれはそれで弊害がありそうな気がします。