技術的負債に直面しているエンジニアへ。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。セッションレポート(AD)技術的負債に直面しているエンジニアへ。3それでもつらい負債返済に押しつぶされないためにコードの改善からSREまで、負債に向き合うことで得たスキル技術的負債を返済することは大事であるとはいえ、それに向き合いたいと思うのは「リファクタ大好きな一部のエンジニアぐらい」と西銘氏は言う。多くのエンジニアはユーザーにとっての本当の価値に向き合いたいと思うのは当然だ。このまま放置すると、いくらエンジニアの人数が増えても、ユーザーのための課題解決に使える時間はあまり増えないことになる。「本来向き合いたい課題に向き合えないつらさで、より多くの仲間が退職してしまうリスクも高まってしまうと考えました」(西銘氏)エンジニアの仕事を「不確実性を削減し、プロダクトを確実なものとして作り上げていくこと」と捉えている西銘氏は、コドモンでどんな働き方をすると、不確実性を削減できるかを考えたという。「向き合うべき課題は技術的負債の返済だと思い、積極的に負債に取り組むことにしました」(西銘氏)では技術的負債に向き合うことで、エンジニアとして何を得られたのか。西銘氏は「仕事」と言い切る。有名な「仕事の報酬は仕事」という言葉の意味を、技術的負債の返済を通して実感したといい、その経緯について次のように語る。技術的負債を解消するため、まず西銘氏が取り組んだのはレガシーコードの改善である。コード修正によるリスクの低減とコードの複雑さを下げるためだ。「リリース環境に放置されていた野良コードのGit管理化とたくさんの処理が依存していた神クラスの解体を行いました」(西銘氏)地味ながら丁寧な調査や慎重なリリースが求められる作業を繰り返してやりきった結果、可読性と変更容易性が大きく改善し、開発者体験が向上したという。Experience:開発者体験)改善に注力してみないかと声をかけられ、西銘氏はDX改善という新しい仕事に取り組むことになった。DX改善に取り組む中で、西銘氏は開発者の全員が行うリリース作業によるリスクに着目するようになったという。「開発者がコードを修正してリリースするまでにトイル(手作業)の手順が多数あったため、その削減に取り組むことにしました」(西銘氏)トイルの削減のため、西銘氏は開発用、アプリ版リリース用、Web版リリース用と3つに分かれたリポジトリの統合に着手。Actionsを用いて自動化することを行ったという。その結果、リリース作業の均一化、工数の削減が実現。「開発組織にGitOpsの文化を根付かせるきっかけとなりました」(西銘氏)現在はCI/CDをはじめ、自動化できるモノはみんなで自動化する文化ができているという。このようにリリースフローの整備というDevOpsに近い仕事に携わったことで、SREチームから「DevOpsの経験があり、アプリも触れるので、SREチームでプッシュ通知基盤の改善に携わってみてはどうか」という仕事の誘いが来たのである。この誘いを受け、現在西銘氏はSREチームで、負荷によるリスク低減や大きくなった開発組織が動きやすいよう、サービスの疎結合化を意識してプッシュ通知基盤の改善や既存サービスの負荷調査に取り組んでいるという。最初はレガシーコードの改善に愚直に取り組み、プロダクトの深い知見を蓄積。それが次のDX改善という新しい仕事につながり、DX改善では、CI/CDツールの活用により、開発作業におけるビルド集約やリリースの自動化というスキルを習得した。Code)によるインフラ構築のスキルを身につけることができたという。SREチームのメンバーとして日々の業務に取り組むことで、システム監視についての知見を深め、Datadogによるダッシュボードの作成やアラート設定ができるようになったり、データ分析ツールや負荷テストツールを使った負荷調査なども一人で実施できるようになったりしたという。「このように技術的負債に向き合ったことで、仕事の幅が広がり、その副産物としてスキルの幅も広がりました」(西銘氏)負債に向き合って得た仕事とスキル技術的負債を返済すると、プロダクトの次の理想像が見えてくる。「その理想像への障壁はまた新たな負債である。して新たに見えてきた負債もまた返済していく。この流れを繰り返していくことでプロダクトは成長する。プロダクトが成長すると、ユーザーにより安定したプロダクトを届けるために自分が挑戦できる機会と手段が増えていく。して得た機会と手段に挑戦し続ける姿勢(技術的負債に向き合い続ける姿勢)が、結果的にスキルの幅の広がりにもつながったのだと西銘氏はいう。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。趣味は読書、ドライブ、城探訪(日本の城)。...※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容ですこの著者の最近の執筆記事CodeZine編集部(コードジンヘンシュウブ)CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。モブプログラミングを取り入れて開発を効率化させるヒント9企業の7割超が「2025年の崖」を理解していないことが明らかに。5.0」がリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。