この連載では、技術・組織づくり・経営・キャリアに詳しいIT業界の専門家たちが、社外メンターとして登場。エンジニアtype読者の“上司に言えない悩み”に、複数のメンターたちが回答を寄せていきます!
>>メンターへの相談・質問はこちらから
レガシーシステムの技術的負債と戦うWebエンジニアの悩みに、澤円・えふしん・DMM松本勇気が回答
連載第二回目となる今回は、大手Webサービス企業で働くTさん(26)から寄せられた「技術的負債にどう向き合えばいいのか」という悩みにエンジニアtype公式メンターズが回答!
前回の記事に引き続き、メンタリングを担当してくれたのは澤円さん、藤川真一(えふしん)さん、松本勇気さんの三人。各メンターが送る助言とは……?
エンジニアtype 公式メンターズ
Tさんの質問:レガシーシステムの技術的負債にどう向き合っていけばいい?
10年以上前につくられたWebサイトのゴミ整理をしています。他社では技術的負債をどのように解消しているのでしょうか?
「メンターズの皆さんはじめまして、Tと申します。私はSRE(Site Reliability Engineering)的な立ち位置で、自社サイトの技術的負債を解消していくことを仕事にしています。言葉を選ばずに言えば、サイト内のゴミ整理です。
しかし、担当しているWebサイトができたのは、10年以上も前で、当時は外注で開発をしていたこともあり、当時の仕様を知る人が今の社内に誰もいません。
生きているけど何のために存在しているのか分からないサーバーとか、削除しても問題ないか判断するのが難しい謎の関数と多々遭遇します。資料もなければ上司に聞いても分からないので、一つ一つを毎回細かく調べ尽くす必要があり、膨大な工数が掛かっています。
立ち上げからだいぶたっているサイトなので仕方ないという諦めの気持ちもあるのですが、どうも自分の仕事が無意味に思えてしまう時があります。
他社ではこうした技術的負債にどう向き合っているのか気になっています」(Tさん)
澤さんの回答:自分の仕事が経営に与えるインパクトを、俯瞰的に考えてみて
自分の仕事が自社の経営にどうか関わっているのか、そして自分のリソースが浪費されているのがどう問題なのか、考えてみてください
どこかの誰かが作ったサイトの面倒を見るのは、本当に大変ですよね。
そして、工数に見合った効果が上がっているのかどうか測る指標もないとのこと。きっと、仕事のモチベーションを保ち続けるのは楽じゃないと思います。
ここは一つ、自分の仕事を俯瞰して見てみるのはいかがでしょうか。
一つ一つのサーバーやコードの詳細に目を向けるのではなく、「そもそもこのシステムが会社の経営にどれくらい影響しているのか?」というレベルで判断してみてください。
その結果、「このシステムが存在していることで会社の経営が成り立っている」と感じられるのであればTさんがやっている仕事は意義深いものですし、「経営に何らインパクトを与えない」と思うのであれば一時的にシステムを停止させてしまい、その影響度合いを測ってみるのも一つのアプローチです。
会社経営の観点から言えば、Tさんに対する人件費が発生しているにもかかわらず、Tさんの労力を無駄にしてしまっているなら、より生産性のある仕事にシフトしてもらいたいはず。
それに、Tさん自身が「生産性の高い仕事ができていない」という意識をお持ちになっていることも自体、経営リスクと言えます。ですから、これはTさんの問題ではなく会社の問題なんだ、と考えるのも大事な視点ですね。
また、「他社の事例が知りたい」とありましたが、ここで見なくてはならないのは、まず自分の立っている場所ではないかと思います。
自分の担当しているシステムが自社の経営にどう関わっているのか、そして自分のリソースが浪費されているのがどう問題なのか、ちょっと俯瞰してみてはいかがでしょうか。
えふしんさんの回答:自分に足りない技術を磨き、テストの自動化などに挑戦してみては?
技術的負債の返済は一日にしてならず。自分に足りない技術なども勉強して、テストなどの自動化も行ってみては? 今やっている仕事の意味が見出せないのは、Tさんの知識・技術力不足が原因かも
Tさんはインフラ担当の役割なのでしょうか?
日常の運用に振り回されて大変だとは思うのですが、まずは定型作業の自動化によって人間の負荷を軽くすることに専念すべきです。
そのために足りない技術なども勉強して、テストなどの自動化も行い、変化への柔軟性をつくっていきましょう。
一度、人間の運用に委ねてしまったシステムを変化させていくのは、強いエネルギーが必要になります。
邪推かもしれませんが、そのサーバーが何をしているか分からないという言葉を使われる方は、往々にして踏み込みが甘く、アプリケーション開発の技術力が足りない可能性があります。
ですから、その部分のスキル取得に前のめりになれると成長する機会とも言えるかもしれませんよ。
技術的負債の返済は一日にしてならずだと思います。
「この仕事は自分がやることではない」と言った瞬間、エンジニアの成長は止まります。覚悟を決めて戦いに行くか、現状に甘んじるか、どちらかの選択になる可能性が高いと感じました。
松本さんの回答:事実に基づく分析から理想のアーキテクチャを想像し、小さな部分からリプレイスしていく
コードやDBスキーマ、全体のアーキテクチャなど、システムを構成するものを正しく理解することから始め、理想系に近づけていきましょう。自分のスキルアップに役立つ学びに変換できれば、もっと仕事を楽しめるはず
DMMの中にもたくさんの負債を抱えたシステムがありますが、一番大事なのはそのシステムを構成するコードをきちんと読む、そのリファクタリングについてイメージを持つことかなと思います。
多くのケースで、技術的負債は実体以上に恐ろしいものとして扱われ、開発における心理的負荷を高めています。それを避けるには事実を収集することが大切で、それはすなわちコードやDBスキーマ、全体のアーキテクチャなどになってくるかと思います。
これらを把握した上で、負債を解消していく作業の解像度を上げていきましょう。
この過程で、なんとなく「ここは今の時代ならこういったアーキテクチャで開発するな」「この部分はSLI的に重要だから慎重に行こう」などのリプレイスの像が見えてきます。それから、理想形のアーキテクチャを実現するための知識をインプットしてみてください。Tさんのスキルアップにもつながりますし、楽しめるものにもなるはずですよ。
そうして理想的なアーキテクチャが見えてきたら、あとは現実的にどこか小さな部分から少しずつリプレイスしていくとよいかと思います。
直近はServiceMeshなど柔軟なシステム分割を支える仕組みも増えてきましたので、最新技術を学びながら理想に近づけるマイルストーンを検討していきましょう!
次回のお悩みは?
次回の相談は、SESでプログラマーとして働くMさん(26)から寄せられた悩み。
「今の会社に5年勤めていますが、年収が300万円にも満たないまま、ほとんど昇給もありません。今は転職を考えていますが、自分の収入を今より上げていくためには何からすべきなのでしょうか」
次回も、澤さん、えふしんさん、松本さん、3人のメンターのフィードバックをお届けします!
>>4月27日(月)公開予定
『エンジニアWebメンタリング』では、読者の皆さまからの悩みを随時募集中!
澤円さん、えふしんさん、松本勇気さんなど、エンジニアtype公式メンターズに相談したい内容を、下記のフォームからご記入ください。
株式会社圓窓 代表取締役
澤 円さん(@madoka510)
立教大学経済学部卒。生命保険のIT子会社勤務を経て、1997年、外資系大手テクノロジー企業に転職、現在に至る。プレゼンテーションに関する講演多数。琉球大学客員教授。数多くのベンチャー企業の顧問を務める。
著書:『外資系エリートのシンプルな伝え方』(中経出版)/『伝説マネジャーの 世界№1プレゼン術』(ダイヤモンド社)/『あたりまえを疑え。―自己実現できる働き方のヒントー』(セブン&アイ出版)※11月末発売予定
Voicyアカウント:澤円の深夜の福音ラジオ メルマガ:澤円の「自分バージョンアップ術」 オンラインサロン:自分コンテンツ化 プロジェクトルーム
BASE株式会社 取締役EVP of Development
藤川真一(えふしん)さん(@fshin2000)
FA装置メーカー、Web制作のベンチャーを経て、2006年にGMOペパボへ。ショッピングモールサービスのプロデューサーのかたわら、07年からモバイル端末向けのTwitterウェブサービス型クライアント『モバツイ』の開発・運営を個人で開始。10年、想創社を設立し、12年4月まで代表取締役社長を務める。その後、想創社(version2)を設立しiPhoneアプリ『ShopCard.me』を開発。14年8月BASE株式会社のCTOに就任。19年7月から現職
合同会社DMM.com CTO
松本勇気さん(@y_matsuwitter)
1989年生まれ。東京大学工学部在学中より株式会社Labitなど複数のベンチャーにてiOS/サーバサイド開発などを担当。13年1月、Gunosyに入社。ニュース配信サービス「グノシー」「ニュースパス」などの立ち上げから規模拡大、また広告配信における機械学習アルゴリズムやアーキテクチャ設計を担当する。新規事業開発室担当として、ブロックチェーンやVR/AR技術の調査・開発に従事。18年8月まで同社の執行役員CTOおよび新規事業開発室室長を務め、同年10月、DMM.comのCTOに就任。19年5月よりDMM GAMES CTOを兼任
RELATED関連記事
RANKING人気記事ランキング
NEW!
AWS認定15冠のエンジニアとIT起業家が明かす、「資格取得者=ただの物知り君」で終わらせない環境とは?
NEW!
なぜやりたい仕事をやらせてもらえない?「それは誰もあなたに頼みたくないから」楠木建が教える“できる人”の条件
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
システム開発にはどんな工程がある?ウォーターフォールとアジャイルの違いも分かる!
JOB BOARD編集部オススメ求人特集
タグ