どうも、フリーランスエンジニアのてぃすです。
ITエンジニアの働く環境においてよく持ち出される表現として、
モダンかレガシーか
というものがあります。
プログラミングを学んでエンジニアを目指す人もこの辺りの認識が甘いと、理想とのギャップに苦しむ可能性があります。
そこで今日は、エンジニアにとって
- モダンな環境とは
- レガシーな環境とは
- 選ぶときの基準
などについて、現役エンジニアの視点から解説して行きます。
モダンな環境・レガシーな環境
まずはエンジニアの働く環境として、モダン・レガシーがどのようなものを指しているか。
レガシーな環境
レガシーな環境は、SIer系のプロジェクトにおいて多くみられます。例えば大企業の業務ソフトや政府・金融系の案件など。
わかりやすい特徴としては、
- 使っている技術が古い
- 新しい技術の採用に消極的
- 支給されるPCのスペックが低い
- 本番環境への反映が職人芸
などが挙げられます。
モダンな環境
対してモダンな環境はWeb系と呼称されるような企業で提供されていることが多いです。
- 新しい技術を積極的に取り入れている
- ハイスペックPCやサブモニターなどの支給
- テストコードやCI/CDなどの自動化が取り入れられている
どちらを選ぶべきか
もちろん例外的な環境もありますが、世間一般に言われるモダンな環境・レガシーな環境はこのような特徴で語られることが多いです。
この特徴だけ見ると、モダンな環境を選ぶべきだと思われるかもしれません。
その通り、ITエンジニアは出来るだけモダンな環境を選ぶべきです。
なぜレガシーな環境を避けるべきか
レガシーな環境と言っても、もちろん頭のいい人たちがその時のベストな手段を用いて構築されたものであり、長い間ビジネスを支えてきた尊い存在ではあります。レガシーには遺産・財産と言った意味もありますしね。
そのためレガシーな環境をディスるというのはナンセンス。
しかしITエンジニアとしてのキャリア構築の上ではモダンな環境を選ぶのが正解です。
なぜか。
未来のためのキャリア戦略
現実的な話として、これから作られていくプロダクトの多くはモダンな開発環境を用いてつくられていきます。
そう言った環境においては、クラウド上でのサーバー構築やテストの自動化などが積極的に取り入れられていくでしょう。
そのような手法・ノウハウを学ぶためにはやはりモダンな現場での経験を積むことが必要です。
レガシーな環境であっても学べることはもちろんあります。
しかしレガシーな環境で学べることにはそのプロダクトに依存した知識や経験が多く、キャリア構築の観点で言えば効率的であるとは言い難いです。
戦略的に自分のキャリアを考えるのであれば、汎用的な能力を身に付けることが大事なんです。
最近は
「モダンな環境ばかりを求める若手ばかりでけしからん」
みたいな意見がバズってたりしますが、先を見据えたエンジニアにとって、モダンな環境を求めるのは賢い選択です。
レガシーな環境での調整やドラマチックな改善などに面白みを感じる人は、レガシーな環境で誇りを持って頑張っていただきたいです。
しかしこれからのキャリアを考えている人の傾向を避難するのは筋違いと言えるでしょう。
レガシーな環境はつまらない
ぼくも以前は一般的にレガシーと呼ばれるようなプロジェクトに参加していたことがあるんですが、圧倒的につまらないんですよね。
属人化して職人芸となっているデプロイ手順や、過去の実装を切り貼りしたコーディングが推奨される状況、など。
ちょっと他のコードと違うことをしようとすれば、特に内容も見ずに「他と違うから」という理由で却下されるなんてザラにあります。
ぼくは特に技術大好き、というほどでもないのですが、どうせ同じ時間働くなら少しは楽しめた方がいいですからね。
モダンな環境で働くためには
ここから先はここまでの説明に納得していただけて、モダンな環境で働くことを目指したい!と思えた人だけが読み進めていただければと思います。
プログラミング言語
一概にどのプログラミング言語を使っているのかでモダン・レガシーを見分けることは難しいです。
ただある程度の基準として、
- Java/VBAなどを使っている場合、レガシーな環境が多い
- Ruby/Go言語などを使っている場合、モダンな環境が多い
と言えます。
もちろん例外はありますが、判断基準の1つとしては機能してくれるでしょう。
これからエンジニアを目指す人でモダンな環境を目指したい、という人にはRubyを扱っているポテパンキャンプなどにチャレンジしてみることをオススメします。
-
-
本気でRubyを学びたい人のためのエンジニアスクール『ポテパンキャンプ』
こんにちは、フリーエンジニアのてぃすです。 エンジニアといえば今や最も少ない投資で高収入を望め、更には週3勤務やリモートワークなどの柔軟な働き方も目指せる夢のある職業です。 ここ最近は営業職や事務職か ...
続きを見る
現在レガシーな環境で働いていて、モダンな環境を目指したい、という人は派遣エンジニアを活用してキャリアチェンジを目指してみるのもアリです。
-
-
エンジニア派遣でキャリアを積んで高収入を目指す
エンジニアとして採用面談を受けたことのある人なら分かると思うのですが、面談の時に最も重要視されるポイントは業務経験です。 もちろん普段の個人学習や、技術への関心などでフォローできる面もありますが、一番 ...
続きを見る
面談時の質問
これは僕も使っているテクニックなのですが、面談において以下のような質問を投げて、その答えによってある程度その現場のモダン・レガシー具合を測ることができます。
- ソースコードレビューが習慣化しているか
- テキストエディタの制限はあるか
- ツールのインストールに制限はあるか
- テストコードはどの程度書かれているか
- CI/CD環境は整っているか
自分がある程度、質問の意図が分かるものだけ活用してみてください。分からないものについては知ったかぶりと思われて低評価につながりかねませんので、気をつけましょう。
転職エージェントの種類
使っているプログラミング言語だけでは判断が難しいので、転職エージェントを活用するという手も同時に活用していきましょう。
この時、ITエンジニアを専門として扱っている転職エージェントを利用するのがポイントです。
なぜならそう言ったエンジニア専門の転職エージェントは、業界に関する知識やITエンジニアに対する理解が深いので、こちらの要望をちゃんと汲み取ってくれます。
普通の転職エージェントに「モダンな環境がいいです」と言っても上辺だけの印象や企業側の言葉だけで判断されかねないですが、その点エンジニア専門のエージェントであれば高い精度でこちらの要望に近い企業を紹介してくれます。
具体的に業界大手のレバテックキャリアや厳選された求人のみを扱っているTech Stars Agent
などがオススメです。
フリーランスになる
フリーランスエンジニアとして独立する、というのもモダンな環境を目指す上で有力な選択肢です。
正社員の場合、一度就職してしまうとある程度長い期間の滞在が求められますし、最悪ジョブホッパーとしての烙印も押されかねません。
いくら気をつけて企業を選んでも、自分の理想と異なる現実が待っている、ということもザラにありますので、ある程度業務経験を積んだエンジニアは独立という選択肢も検討してみるといいでしょう。
-
-
正社員エンジニアがフリーランスになるのは全く難しくないという事実
どうも、フリーランスエンジニアのてぃすです。 最近ではフリーランスエンジニアというのも珍しいものではなくなってきましたが、まだ誤解されている部分があります。 「フリーランスエンジニアになるのって大変な ...
続きを見る
まとめ
ぼくもエンジニアとして働き初めて、4年ほど経ちます。
そんな中レガシーな現場もモダンな現場も経験してきましたが、やはりモダンな環境の方が同僚の人たちにも活気がありますし、技術的な探究心も刺激されます。
レガシー = 悪という意見には同意できませんが、モダンな環境に身を置くことが働きやすさや将来のためにもオススメです。