Slide 1

Slide 1 text

© DMM © DMM プロフェッショナルとしての成長 「問題の深堀り」が導く 真のスキルアップ 2025/04/24(木) Qiita Conference 2025 合同会社DMM.com ミノ駆動

Slide 2

Slide 2 text

© DMM 自己紹介 ミノ駆動 ( @MinoDriven ) 合同会社DMM.com プラットフォーム開発本部 第3開発部 DeveloperProductivityGroup DMMプラットフォームの設計を改善し 開発生産性向上を図るのがミッション 2

Slide 3

Slide 3 text

© DMM 著書紹介 『改訂新版 良いコード/悪いコードで学ぶ設計入門』 変更容易性の高い設計を学ぶ、 初級〜中級向け入門書 初版は12刷重版 ITエンジニア本大賞2023技術書部門大賞受賞 台湾版、韓国語版でも翻訳出版 3

Slide 4

Slide 4 text

© DMM 皆さん 仕事で良い成果を出せていますか

Slide 5

Slide 5 text

© DMM 仕事を通じて成長できていますか

Slide 6

Slide 6 text

© DMM こんなお悩みありませんか 毎日コードを書き、学び、試している。 トレンドな技術もキャッチアップしている。 それなのに ● なぜか成長している気がしない ● 成果が出ている実感がない ● ちゃんと開発業務をこなしているのに評価されない 6

Slide 7

Slide 7 text

© DMM なぜなんだろう?

Slide 8

Slide 8 text

© DMM この疑問を紐解くには 「そもそも仕事とは何か」 を考える必要があります

Slide 9

Slide 9 text

© DMM 我々は仕事によって給与を得ています 給与は誰が払ってくれますか?

Slide 10

Slide 10 text

© DMM 会社が給与を払ってくれますよね でも給与となるお金はどこからやってきますか?

Slide 11

Slide 11 text

© DMM 顧客が支払った対価の一部が 我々の給与になりますよね ではなぜ顧客は対価を支払ってくれるのですか?

Slide 12

Slide 12 text

© DMM 製品やサービスを使うから 対価を支払っているんですよね 魅力あるサービスは使われ対価は支払われますが 魅力のないサービスは使われず対価は支払われません

Slide 13

Slide 13 text

© DMM 仕事とは価値創出 つまり仕事とは顧客にとっての価値を創出すること。 そしてITサービスの開発では、 価値創出にあたりさまざまな問題を解決しなければなりません。 問題を技術で解決するのが我々エンジニアの仕事となります。 13

Slide 14

Slide 14 text

© DMM 問題理解が不正確だと解決方法も不正確 ところで、問題を正しく把握していない状態で、 正しい解決方法を提示できるでしょうか? できないですよね。 例えば開発生産性が低下しているチームがあるとします。 コードが複雑で混乱していて生産性を出せない構造が本当の原因なのに 「チームの回し方がダメなんだ、アジャイルだ、アジャイルでやろう」 と判断した場合、問題解決になるでしょうか? なりませんよね。 問題解決には問題の正確な把握が不可欠です。 14

Slide 15

Slide 15 text

© DMM ところで皆さんは ちゃんと問題に向き合っていますか? 今仕事で直面している問題をすぐに説明できますか?

Slide 16

Slide 16 text

© DMM 技術ばかりに目を奪われていませんか? エンジニアは職業柄、技術に関心があるのはわかります。 しかし技術ばかりに目を奪われていませんか? サービスが提供したい価値や解決すべき問題を忘れてはいませんか? 問題の理解が不正確だったり、洞察が浅いと 技術が問題解決に結びつきません。 当然成果は出ないですし、成長にもつながりません。 深い洞察をもって問題に向き合っていない、 これが成果や成長が得られない大きな原因と言えるでしょう。 16

Slide 17

Slide 17 text

© DMM 問題を認知する、洞察を得る 良い成果を得る、成長につなげるには、 問題を認知する、深い洞察を得る活動が必要です。 いくつか方法を紹介します。 ● 目的を定義し問題を顕在化 ● あるべき理想から問題を顕在化 ● 問題を書き出す、言語化する 17

Slide 18

Slide 18 text

© DMM 【問題認知方法 その1】 目的を定義し 目的達成上解決が必要な問題を顕在化

Slide 19

Slide 19 text

© DMM 目的がわかると問題が顕在化する 19 目的 問題 解決手段

Slide 20

Slide 20 text

© DMM ところで クーポンの目的って 何であるか知ってますか?

Slide 21

Slide 21 text

© DMM 「自社サービスに顧客をロックインすること」 がクーポンの目的です 顧客を逃さず継続的に サービス利用してもらうためなんですね

Slide 22

Slide 22 text

© DMM 目的から問題を顕在化する クーポンの目的から、目的達成上解決が必要な問題が洗い出されます。 そしてシステム的にどう解決するかも決まります。 22 問題 解決手段 クーポンによる売上貢献や 新規顧客数が追えない クーポン単位でのKPI(使用率、利用者 の再来率、平均注文額)のログ設計 誰にどのクーポンを送るかが一律で効 果が薄い 顧客セグメントに応じたターゲティング モジュール クーポンの存在に気づかない 使い方がわからない 「あと◯◯円でクーポン適用可能です」 などのUI表示

Slide 23

Slide 23 text

© DMM 【問題認知方法 その2】 あるべき理想を定義し 理想と現状のギャップから問題を顕在化

Slide 24

Slide 24 text

© DMM リファクタリングのゴールについて説明できますか? どうなっているのが理想なのか説明できますか?

Slide 25

Slide 25 text

© DMM 25 変更容易性 (修正性) 現状構造 変更容易性の高い 理想構造 現状と理想のギャップが 技術的負債 バグをなるべく埋め込まず 素早く正確にコード変更できる度合い

Slide 26

Slide 26 text

© DMM 26 変更容易性 (修正性) 現状構造 変更容易性の高い 理想構造 理想構造を知らないとギャップを 認識できない! 技術的負債を認識できない! 「このコードの一体どこが負債な んですか?これが普通でしょ?」 バグをなるべく埋め込まず 素早く正確にコード変更できる度合い 理想は何か、どうあるべきかについて 知識を得たり、考察する活動が重要です

Slide 27

Slide 27 text

© DMM 【問題認知方法 その3】 問題を書き起こして言語化する

Slide 28

Slide 28 text

© DMM 頭の中で考えてることはかなり曖昧 問題を深堀り、深い洞察を得るには、 問題を書き出して言語化することが重要です。 技術記事を執筆した経験をお持ちの方ならわかると思いますが、 いざ書こうとしたら、書こうとした内容が曖昧だったり、 書いているうちに矛盾に気がついたり、といったことがあると思います。 人が頭の中で考えてることは、実はかなりいい加減で曖昧です。 テキストに書き起こすことにより 矛盾に気付いたり、新たな発見があったり、 問題が整理されて深い洞察を得られます。 28

Slide 29

Slide 29 text

© DMM 設計講座における問題の言語化 弊社DMMのPF開発本部ではエンジニアの設計スキル向上を目的に ワークショップ形式の設計講座を開催しています。 この講座は、変更容易性の点で問題のあるコードについて、 何が問題かを言語化し、問題解決するよう設計する、という流れです。 何が問題かをテキストに書き起こさせるのですが、 受講者それぞれでビックリするぐらい言語化に差が出ます。 そして精緻に的確に問題を言語化できている受講者ほど 的確な設計ができております。 29

Slide 30

Slide 30 text

© DMM 以上の方法を用いることにより 問題を発見したり、問題の洞察を得ることができます

Slide 31

Slide 31 text

© DMM そして問題の認知、分析、言語化する力は、 間違いなく今後より一層重要になっていきます なぜなら……

Slide 32

Slide 32 text

© DMM 生成AI

Slide 33

Slide 33 text

© DMM AIとの協働が必須となる時代 ここ最近AIエージェントなどの登場により ITサービス開発においてAIとの協働が急速に進んでいます。 「これからの開発はAI協働は必須」 「エンジニアにとってAIを使いこなすことが必須基礎スキルとなる」 とも言われ始めています。 33

Slide 34

Slide 34 text

© DMM AIの力を引き出すには AIを使いこなすにはプロンプトでの的確な指示が必要です。 雑な指示だと(回答を含む)行動の精度が落ち、 ハルシネーションが増えます。 一方で深い知識に基づき要点をおさえた指示をすると、 高い精度で行動します。 34

Slide 35

Slide 35 text

© DMM 「良い問い」を立てる力がAI協働に必要 AIに行動(回答)させるとは「AIに問題を解かせる」と同義です。 つまり「良い解」を得るには「良い問い」を立てることが重要です。 「良い問い」を立てるには、以下について熟知する必要があります。 ● 達成したい目的 ● 解決したい問題の構造 実際、目的や解決したい問題をAIに伝えると 回答精度が向上することが分かっています。 35

Slide 36

Slide 36 text

© DMM 問題に向き合う力がAI駆動開発をスケールする 望む望まざるに関わらずAIによる開発のスケールは 業界的に必須の流れです。 テクノロジーの本質は能力の拡大。 良い問いを立てられる人と立てられない人とでは AIによる効果に大きな差が開いていくでしょう。 生成AIがなかった時代においても 問題分析や言語化は重要なスキルでしたが そのスキルの恩恵は生成AIにより一層増幅していくでしょう。 36

Slide 37

Slide 37 text

© DMM というクソデカ概念に 踊らされてはいけません 技術

Slide 38

Slide 38 text

© DMM もっと大事なのは解くべき問題! こちらに深くアプローチしよう 技術 問題

Slide 39

Slide 39 text

© DMM 今日からできること ● 技術は問題解決の手段 問題が先に立つ、問題を見極めよう ● 問題整理に関する本を読み、実務に活かそう ● 目的が何であるかを考え、 目的達成上解決すべき問題を洗い出そう ● あるべき理想を考え 理想と現状のギャップから問題を洗い出そう ● 問題を言語化しよう、頭の中で考えるだけでなく、必ず書き出そう ● Qiita Conference、「どういった問題を扱っているのか」という観 点でセッションを視聴しよう 39

Slide 40

Slide 40 text

© DMM 技術は、正しく問題を捉えたときにだけ輝く道具です 問題を的確に把握し あなたの技術を輝かせましょう

Slide 41

Slide 41 text

© DMM ご清聴ありがとうございました