エンジニアとして影響力を持つための鍵は? 共感

公開: 2021-10-20

製品エンジニアとして、私たちは物を作ること、問題を解決すること、そして影響力を持ちたいと思っていますよね?

しかし、最大の影響を与えるには、適切な問題を解決するものを構築する必要があります。 どうすればいいですか? お客様への深い共感を育むことで。

ダブリンで開催されたイベントBuildingIntercomで、私が取り組んでいた一見単純な機能の例を使用して、この共感的なアプローチが小規模でもどのように機能するかについて話し合いました。

スヌーズのご紹介

それはすべて、次のような受信トレイの小さな機能から始まりました。

顧客が書き込みを行うと、顧客サポートエージェントとの会話が始まります。 時間の経過とともに、インターコムの顧客数は指数関数的に増加し、これに伴い、着信会話の数も増加しました。 そのため、受信トレイでは多くのことが行われ、カスタマーサポートエージェントは常にプレッシャーにさらされていました。

会話を邪魔しないようにするために、顧客が応答しなかったときに会話を閉じました。 しかし、この振る舞いは、誰が最も多くの顧客の問題を解決していたかについてのレポートのようなものを台無しにしていました。

その時点で、会話は2つの状態にある可能性があります-それは開いているか、閉じている可能性があります。 そして、第3の状態がないことは、その時点で取り組んでいた他の主要な機能を実際にブロックしていました。 そこで、お客様が会話を保留できる新しい状態の設計を開始し、その状態をスヌーズと呼びました。

レガシーシステムの管理

レガシーシステムを扱っている場合、特に製品のコア部分の1つ、この場合は会話に影響を与える場合は、新しい機能を追加するために内部で少し作業が必要になることは誰もが知っています。 私たちはする必要がありました:

  1. 会話データベーステーブルを更新および拡張し、お客様の既存の動作を中断したり、インフラストラクチャエンジニアの生活を悲惨なものにすることなくこれを実行します。
  2. UIの一貫性を保ちます。 モバイルでもウェブでも同じ行動をとることがどれほど素晴らしいかは誰もが知っています。
  3. 追加するすべての新機能のAPIを変更するだけでは不十分なため、すべてに下位互換性があることを確認してください。

そこで、これらの課題に対処し、他の作業のブロックを解除できるように、すぐにSnoozeを出荷しました。 私はこのソリューションの優雅さに誇りと喜びを感じました。 私はそれが実際に動くのを見るのが待ちきれませんでした。 しかしもちろん、人々は私たちが思っていたようにスヌーズを使用していなかったことが判明しました。

スヌーズのブラックホール

受信トレイを管理しているカスタマーサポートエージェントが常に会話をスヌーズしていることが判明し、その結果、スヌーズされた会話の大量のバックログが発生しました。 そして、この機能を構築した方法を考えると、誰も返信しなければ会話が再開されることはありませんでした。

エンジニアの観点からすると、私の仕事は終わりましたよね? つまり、私は私が構築するように頼まれたものを出荷しました。 想定どおりに機能しました。 しかし、実際には、以前の閉じた状態をコピーするだけでした。 私たちのアナリストはこれを「スヌーズのブラックホール」と呼んでいます。

事実上、私たちは実際に新しい問題を作成しました、そしてあなたに言わせてください、あなたが構築しているものが実際に問題を解決しないことを知っているのは本当にたわごとです。 この場合、新たな問題が発生したため、さらに悪化しました。 そして、ポジティブな影響を与えるために物を作るのが好きな私のような人にとって、それは根性の本当のキックのように感じました。

「私たちは物事を構築するだけでなく、実際に正しい問題を解決する必要がありました」

私は自分の洞窟に入って、少し振り返る時間をしなければなりませんでした。 そして、私は一つのことに気づきました。 この機能を単独で、間違った動機で構築したことに気づきました。 私たちは忙しくて、他のインターコム機能のプラグを抜いたいと思っていたので、私たちが見ている問題とそれを構築した理由を完全に忘れてしまいました。 この新しい状態を追加したとき、受信トレイ内の人々とその顧客との間の相互作用に関するコンテキストが不足していました。 そのため、必要な影響を与えるには、単に物を構築することから、実際に正しい問題を解決することへと移行する必要がありました。

共感工学

わかりました、それは理にかなっていますが、エンジニアとして、今回は盲目的に物事を再構築しているだけではないことをどのように確認しますか? 実際、カリフォルニアのデザイン会社IDEOのTom Kelleyは、次のように述べています。「共感とは、先入観に挑戦し、実際に何が真実かを学ぶために、自分が真実だと思うことの感覚を脇に置くことを意味します。」 それはまさに私たちが欠けていたものです。 私たちの製品のユーザー、この場合は受信トレイを管理している人々に共感を持っていることは、私たちが欠けていたものです。

では、どうすれば先入観に挑戦することができるでしょうか。 最初のステップとして、私はカスタマーサクセスチームと話し合い、スヌーズされた会話のバックログが多い場合に、スヌーズを使用して何が機能し、何が機能しないかを確認しながら、文字通り彼らの肩越しに見ました。 それから、お客様からのフィードバックをすべて集めて、お客様の悩みを本当に理解しました。 そして最後に、エンジニアとしてデザイナー、アナリスト、研究者、PMと集まり、最初のソリューションの事後分析を行い、次の反復のためのソリューションとアイデアについて話し合いました。

常にスヌーズされた会話を強制的に再開する必要があると判断し、会話を再開する必要があるかどうかを確認するスケジュールされたジョブを追加しました。 次に、この会話はSQSキューに入れられ、ワーカーはこの会話をキューから取得して、その状態を変更します。

そして、それはとても明白ですよね? 多くの人が「はい、セレナ。 もちろんのように!」 私たちは将来の作業のブロックを解除することに集中していたので、Snoozeがどのように機能するかを実際に検討するのに時間がかかりませんでした。 そしてもちろん、今回はうまくいきました。

最大の影響を与えるには共感が必要です

それでは、話の始めの質問に戻りましょう。 エンジニアとしてどのように最大の影響を与えるのでしょうか? 正しい問題を解決するためには、実在の人々を念頭に置いて物事を構築する必要があります。 そして、これへの鍵は共感です。

問題を解決する理由は、方法よりも重要です。 私たちが構築していたSnoozeのどちらのバージョンにも技術レベルの欠陥はありませんでしたが、実際にはそれは重要ではありません。 結局、ユーザーにとって正しいソリューションを構築するのではなく、ユーザーにとって間違った技術的に優れたソリューションを構築するのに何週間も費やしました。

「製品を構築するときは、常に新しいコンテキストと人々が互いに関係するための新しい方法を作成します」

受信トレイを管理する人々とその顧客との間の相互作用をよりよく理解しようとするだけで、多くの時間を節約できたはずです。 製品を構築するときは、常に人々が互いに関係するための新しいコンテキストと新しい方法を作成します。製品エンジニアとしての私たちはこれに注意する必要があります。 だから私の最後のメッセージは、共感ボタンでスヌーズを押さないでください。

インターコムのキャリア