目次
背景
こんにちは。 かりんとうマニア(@karintozuki)です。
死海効果(英語だとDead sea effect)という言葉を聞いたことがありますか?
聞いたことはなくても、もうそのような職場にいるorいたことがある、かもしれません。
死海効果とは、レガシーなコードを持つ職場では、レガシーな技術でも気にしない技術者だけが残り、よりレガシーなコードになっていく、という悪循環のことです。
厳密にはIT界隈に限った話ではないのですが、本記事内ではレガシーなコードに絡めて話を進めます。
詳しく見ていきましょう。
なぜ起きるのか
死海効果が起きる要因をそこで働くエンジニア目線で見てみます。
レガシーなコードの職場があったとします。
何かしらの理由でコードをモダン化できないとしたら、転職するか、諦めてレガシーなコードを触り続けるか、の二択になります。
つまり、職場にはレガシーな技術を触り続ける選択をした人だけが残ることになります。
こうしてコードはレガシーであり続け、時間の経過とともによりレガシーになるわけです。
また、レガシーな職場に残り続けた人は転職の選択肢が狭まり、転職するのがどんどん難しくなります。新しく入ってくる技術者もレガシーな技術でも構わない人が入ってきます。
水中の塩分濃度が高い死海では、そこに魚が住めなくなるように、普通のエンジニアが働けなくなるほどレガシーな職場が徐々に出来上がるというわけです。
よくある、優秀な人から辞めていく、というのはまさに死海効果であると言えます。
どうしたらいいのか?
それではそのような死海で働いている場合、どうしたら良いのでしょうか?
改善していく
なんとか改善を試みるのが、最初に考えることかと思います。
〇〇フレームワークや〇〇アーキテクチャの導入、テストを書くようにする、Git使うなどモダン化したいことは色々あると思います。
それぞれの導入方法はネットにいくらでもあるので、各自調べれば良いと思います。
気をつけるべきことはこういった新しいものの導入は一人で突っ走ると絶対にうまく行きません。チーム内で勉強会をするなり、ある程度の了承を得た上で進めるのが大事です。
転職
会社やチームの文化、技術的な制約、業務上の理由などで、モダン化に限界があったとき、個人的には迷わず転職してしまっていいと思います。
ただ、モダンな技術を使う職場に入りたい場合は、もちろんモダンな技術の経験が求められるので、今の職場でできる限りのことをすることをおすすめします。
ですが、自分のためだけに無理やり新技術を導入して、さっさと転職するのは誰も幸せにならないので辞めたほうがいいと思います。
そもそもレガシーでいいのでは?
これは解決案とかではないのですが、すべてのコードがモダンである必要はありません。
また、新しい技術に触れていたい人もいれば、ずっと同じコードベースで働きたい人もいます。
いろんな塩分濃度に住む魚がいるように、自分の住心地の良いレガシー度を見つけるのも大事かもしれません。
とはいえレガシーすぎるコードは負債ですし、自分の市場価値が下がることにもなりかねないので、ちょうどいい塩梅というのはあると思います。
まとめ
- 死海効果が起きている現場ではレガシーなコードとレガシーな技術者が集まる
- そのような職場では無理のない範囲で改善を試み、転職も視野に入れる
- 自分にとって程よいレガシー度を模索するべし
まとめとしてはこんなところでしょうか
それじゃ今日はこの辺で。
関連記事
こちらの記事もおすすめです。
クリエイティブになるための6つの方法!「Mastering Creativity」をエンジニアが読んだ感想
PR
あなたの会社はあなたの技術を評価してくれていますか?
技術力を高めようと頑張っているのに、
技術が評価されないような会社にいたらそれは良い環境なのでしょうか?
エンジニアとして技術を高めたいのなら環境を選ぶことも大事です。
レバテックキャリア
エンジニアとして働いていて実務経験があるなら、
求人数の充実具合からレバテックキャリアがおすすめです。
IT転職ではデファクト・スタンダードですね。
▼レバテック キャリア 登録はこちら▼
Tech Clips
Tech Clipsは年収500万以上&自社サービスを持った会社に特化した求人サイトです。
首都圏限定になってはしまいますが、
収入を増やしたい、自社サービスを持った企業への転職をしたい人におすすめです。