プロダクト開発者に求められる、これからの「倫理」の話をしよう。

こんにちは。カナダ・バンクーバーでソフトウェアエンジニアをしています、北澤 (@takuti) と申します。

昨年末にOffers Magazine上で『機械学習エンジニアのキャリアパス。プロダクトマネージャーという選択肢が拓く可能性』という記事を執筆させていただいてから1年。その後、海外移住現地での転職、ソフトウェアエンジニアへの回帰を経て、今日に至ります。

キャリアを通して「ユーザ(顧客;受け手)ありきのモノづくり」を目指してきた者として、プロダクトマネージャーへの転身は大変有意義な選択であったと胸を張って言うことができます。しかし一方で、日に日に大きくなる「自分がつくっているプロダクトの本質的な意義」にまつわる漠然とした不安 ー 「ユーザのため」と言いながらも、結局は収益やサービス滞在時間を最大化するための、利己的なプロダクト開発になってはいないだろうか ー という疑問がありました。

「そもそも自分は、なぜ、誰のためにソフトウェアプロダクトをつくっているのだろう?」

ここ1年、そんな問いが頭から離れないのです。

これは突き詰めると「プロダクト開発者としての倫理観」を問うものであり、プロダクト開発に携わる人間がすべからく検討すべき問題であると私は考えています。本記事では、この点について思いを巡らすことにしましょう。

「そもそも」の問いが、ユーザ理解の“深さ”を測る

▲バンクーバーの風景①

さて、先の問いに対するみなさんの答えは、一体どのようなものでしょうか。

「つくることが好きだから。」純粋にそう言い切ることができたのなら、それは本当に素晴らしいことだと思います。あるいは「現状に強い問題意識があるからこそ、それを解決するプロダクトをつくっている。」という人もいて、どちらも私は心から尊敬しています。

プロダクト開発者に必要なのは「自分ごと」化

プロダクトマネージャー、ソフトウェアエンジニア、デザイナー、データサイエンティストなどを含む広い意味での「プロダクト開発者」。我々にとって最も大切なものは、そのような「根底にある技術・つくっているプロダクト・解決しようとしている課題に対する“情熱”」であると、私は真面目にそう考えています。それは換言すれば、プロダクトあるいはプロジェクトそれ自体にどこまで「自分ごと」として向き合うことができるか、ということです。

「良いプロダクト」をつくる上で「ユーザの存在をリアルに捉えること」の重要性は強調してもしすぎるということはありません。

それでは、自分の書いたコードが現実世界におけるどのようなシーンの裏側で実行されており、プロダクトがどこの誰にどのように使われていて、結果として彼ら彼女らが何を感じるのかを、私たちはどこまで鮮明に思い描くことができるでしょうか。ここに各々の「自分ごと」化の深さが現れるはずです。

ゆえに、プロダクト開発に携わるひとりの人間として、冒頭の「そもそも」の問いは極めて重要なものだと思うのです。

なぜ今、プロダクト開発の倫理的側面を考えることが求められるのか

では対照的に、「ユーザ」に対する解像度が低い場合には何が起こりうるか。

前提として、そこに受け手の存在がある限り(直接的にせよ間接的にせよ、意識していようがしていまいが)私たちの仕事の成果は、個人や社会に対して大なり小なり何らかの影響を及ぼしています。すなわちプロダクト開発者にとっての「ユーザ理解」は、綿密に練られた顧客セグメントに基づく最適な分析によってエンゲージメントを最大化する、といったこと以上の“何か”を意味します

理解が不十分であれば、ひとりの人生を壊してしまうかもしれない、大切な時間やお金を奪う結果になるかもしれない、小さなコミュニティを崩壊に追いやってしまうかもしれない、環境負荷を助長するかもしれない・・・Eコマースやソーシャルネットワークの発展に伴って顕在化した種々の問題を見ていると、そんな可能性も「考えすぎ」では済まされないはずです。

一例として、Facebook元プロダクトマネージャーによる「同社のアルゴリズム開発における倫理観」にまつわる内部告発の話は記憶に新しいところです。

「倫理」の重要性

また、このような議論に関連して Silicon Valley Product Group は「倫理」を「セキュリティ」や「プライバシー」に次ぐ業界の最重要課題のひとつとして紹介していますし、先日開催された AWS re:Invent 2021 では「環境負荷を最小化するための AWS Well-Architected フレームワーク」が発表されました。もはや「つくって売って、スケールしたら終わり」ではないのです。

これは、インターネットを介して誰もが比較的容易に「つくり手」となることのできる時代だからこその課題であると感じます。世間で "Web2.0" と騒がれていた頃のコミュニケーション媒体やコンテンツに魅せられた者として、純粋な好奇心からはじまるモノづくりこそ高く評価されるべきである、と私は信じています。しかし同時に、今や現実世界と地続きのインターネットの上では、一定のモラル・倫理観が発信者に求められることもまた事実です。

だからこそ、与えられた技術を無邪気に応用する前に、一歩立ち止まってそのプロダクトの外部性Externalitiesを問い直すことが大切なのではないでしょうか。それがこれからのプロダクト開発者に求められる、重要なスキルのひとつであると私は考えます。

倫理的なプロダクト開発、その実践。

もちろん、絶えず進化を続けるインターネットの世界において未だ“グレー”な部分は多く、(今のところ)現実世界ほど明確に「やっていいこと・悪いこと」が定められているわけではありません。しかし少なくとも、次のような問いかけによって意識的に「仕事の外部性を問う」ことはできるはずです。

  • 「そもそも我々はこのプロダクトをつくるべきなのか?
  • 「プロダクトが世に出たあとで、社会・環境・コミュニティに及ぼしうる影響は?
  • 「自分はこのプロダクトを通して誰に、どのような影響を与えたい(あるいは、与えたくない)のか?

これが、プロダクトが自分以外のモノ・コト・人に与える影響を考慮した「倫理的で健全なプロダクト開発」に向けた第一歩、と言えます。

ミクロで見る具体例

例えばプロダクトチームは、プロダクト要件 (Product Requirement Documents; PRD) やロードマップに基づいて開発を進めていくわけですが、そのようなドキュメントでは往々にして "Business Impact" のような「わかりやすい論点」ばかりが注目されます。私はそれに加えて、先のような "Positive/Negative Externalities" に関する議論にも同じだけの時間や文量、ページ数を割くべきだと思うのですが、いかがでしょうか

ミクロな視点で言えば、日々のユーザとの接点、UI/UXデザイン、アーキテクチャ選定、アルゴリズム設計、それらすべてにまつわる意思決定のひとつひとつが、先のような問いかけに対して“一票”を投じることになると、私は考えます。このような小さな意思決定の積み重ねこそが、最終的な成果物の倫理的な“質”を規定するはずです。

物事の「多面性」は忘れずに意識したい

なお、このとき物事の「多面性」は忘れずに意識したいものです。そもそも、この種の抽象的な問題には「複数の解」が存在するはずであり「倫理的に問題がある“かも”しれないから」という理由で歩みを止めることが正しいとも限りません。

私たちが経験的に理解しているように、優れたソフトウェアプロダクトが多大なメリットをもたらし、暮らしを豊かにしてくれることもまた事実なのです。たとえばソーシャルネットワーク上で、不適切なコンテンツによって傷ついてしまった人がいる一方、世界中の人と繋がったことで自由になれたという人もいる。

だからこそ我々開発者は、物事の相互作用を意識しながら一歩一歩、より良い判断を積み重ねてゆくしかないのだと思います。

「キャリア」においても多面性は重要

同じことが、マクロには「キャリア」における選択の数々に対しても言えるのではないでしょうか。それは絶えず現状を疑い続け、自分の仕事がもたらす世界の変化を想像し、「どこに住むか」「何をつくるか」「誰と仕事をするか」といった判断から外部への影響度・矢印の向きをアップデートしていくことを意味します。

現在私はそれを実践すべく、プロダクトマネージャーからソフトウェアエンジニアに戻り、異なる視点から別種のプロダクトの開発に携わることで「歩きながら考え中」の毎日を過ごしています。

ランダム性を取り入れつつ、歩きながら考える

キャリアについての話に絡めて、広義の「仕事」というものを一種の最適化問題として捉えてみましょう。

そのとき「このプロダクトで特定の人を幸せにしたい」「好きなことで生きていきたい」「一発当てたい」「経済的自由を達成したい」といったぼんやりとした到達点(目的関数)、あるいはお金・地位・家族・友情といった無くてはならない要素(変数)の一部をなんとなく思い描くことはさほど難しくはないかもしれない。

しかし多くの人にとって(少なくとも私は)、そこから「最適解」を得るための選択・行動を解析的に求めることなどできません。

そんなときに頼るのがヒューリスティクスであり、「今よりはマシな方向へ」と少しずつパラメータを調整してゆく山登り的な手法によって、手探りで解を探索することになります。

▲バンクーバーの風景②

「成功」や「成長」といった遥か彼方にあるゴールを目指して、打算的にキャリア(企業、業界、スキルセット、etc.)を選択しなければ・・・と頭をひねった時期も私にはあったわけですが、振り返ってみるとあまり意味はなかったように思います。難しい問題とは往々にして多次元的なものであり、当然そこには局所解も多く存在します。中長期的な戦略の一環として今その選択がベストだと思っても、そこは局所解かもしれない。

キャリアをあえて揺さぶってみる

だからこそ、私は時にランダムな方向にも動いてみて、キャリアや仕事の内容を「揺さぶる」ことを好みます。ただし、これは無作為なランダムウォークではありません。先に見たとおり、究極的に目指すべきところ(大局;目的関数)のぼんやりとしたイメージはあるのです。そのうえで、短期的には「どうせすぐにはうまくいかない」程度の気持ちで悲観的に、それでも長期的には「行き着くべきところに行き着くだろう」と楽観的に生きているくらいが、きっとちょうどいい。

より説得力のある話として、アマゾン創業者ジェフ・ベゾスの「後悔最小化 (Regret Minimization) フレームワーク」という意思決定に対する考え方があります。「今この選択をしなかった場合に、80歳の自分が感じるであろう『やらなかったことによる後悔』」を想像し、それがより小さくなるであろう選択をする、というものです。「80歳の自分が感じるであろう後悔」という数十年後の未来(大局)をしっかりと見据えながらも、今この瞬間の選択を着実により良いものにする—そんなシンプルかつ強力な考え方です。

新しい選択肢を取り入れる

いずれにせよ、新しい視点や環境、選択肢に対して前向きになることは、自身の思考・行動・可能性の“枠”を押し広げることにつながる有意義な姿勢であると私は考えています。ことプロダクト開発に関して言えば、エンドユーザの存在やそれを取り巻く世界観を色鮮やかに思い描くことのできる想像力は、このような日々の積極的な判断によって培われる「多様性」の先にこそ得られるのだと思います。

自分が納得できるプロダクト開発者のあり方を目指して

キャリアとはひとつひとつの仕事の積み重ねであり、さらに仕事というものは、小さな意思決定の連続から成っています。

その点において、ソフトウェアプロダクト開発者として自分がなりたい姿、曲げたくない信念、譲れない価値観というものに思いを巡らせ、昨日よりも今日、今日よりも明日、より納得のできる場所に立っていられるような Work Ethic(モノづくりという「仕事」における道徳・倫理観)を育むことが何よりも大切なのだと私は思います。

そもそもの問いに対する答え

「そもそも自分は、なぜ、誰のためにソフトウェアプロダクトをつくっているのだろう?」

この問いに対する私自身の答えはというと、正直なところ「わからない」。別に胸を張って「好き」といえるようなことをやっているわけではないし、一方で何かを力強く否定できるほどの意見も持ち合わせていない。この業界に興味を持ったきっかけこそポジティブなものではありましたが、時が経つにつれて当初の「好奇心」はぼんやりとした「不安」へと変わっていきました。

ユーザを惹きつける即物的なアプリケーションの数々が次第に日常の一部へと溶け込んできて、どこかテクノロジーに支配されているような、人間性が失われていくような、他者との関係が希薄になっていくような・・・そんな感覚から、技術の進歩を「怖い」と思うようになったのは私だけでしょうか。今から10年ほど前の話です。

「プロダクト」の在り方への違和感を持ちつつ、考えや立ち位置をアップデートしていきたい

一方で、怖いのはテクノロジーそれ自体ではなく、デザインやビジネスの持つ力と掛け合わさったときの「プロダクト」としての在り方に依るものである、との気付きを経験的に得ることもできました。そして「真に価値のあるプロダクトのつくり方」を探求する中でプロダクトマネージャーという仕事を知り、実務を経験する機会にも恵まれ、今日に至ります。

わからないなりに感じる、昨今のソフトウェアプロダクト開発の現場に対する「このままではダメなんじゃないか」という違和感。この感覚を忘れずに、来年も引き続き自身の考え方や立ち位置をアップデートしていきたいと思います。

とはいえ、これは決して一人で完結する話ではなく、外の世界との対話を通してこそ意味を持つものです。本記事をここまで読んでいただいたみなさん、ありがとうございました。ここまで述べてきたような内容が自然と話題になるような日常の訪れを、私は密かに願っています。

この記事をシェア

関連記事


副業・フリーランス

プログラミング

インタビュー

デザイン

お金

採用・組織

転職

イベントレポート