yotiky Tech Blog

とあるエンジニアの備忘録

開発者としての3つの価値観「What-With-How」

目次

開発者が重視する3つ価値観「WWH」

「WWH」はそれぞれ、なにを (What)、なにで (With)、どのように (How)、開発するかを表す。

  • What
    • 何を対象とするか
    • 業種、職種、コンテンツやサービスのジャンルなどが含まれる
    • 例えばゲームなのか、エンタメなのか、ファッションなのか、ToBなサービスの何かなのか
    • 或いは職種として扱うものが、プログラムなのか、デザインなのか、アニメーションなのかなども考えられる
  • With
  • How
    • どのように成すか
    • 手法や方法論、ハウツーと言われるもの
    • 成果物だけなくチームや組織、ビジネスとの関連性も

各価値観はゼロイチの関係ではなく比重なので、どれかだけということはない。
バランスによって「◯◯寄りの△△」みたいな形になるだろう。

「With」が強ければ、生粋のプログラマだろうか。技術志向のインフラエンジニアもありうるか。新しいテクノロジー、デバイス、ガジェットにチャレンジして行く層もこの辺りだろう。

「How」が強ければ、役割としては、マネージャだったり、ソフトウェアやインフラのアーキテクトにシフトしていきそうである。

「What」が強ければ、企画やマネージャなどより内容にコミットしていけるポジションが向いてるかもしれない。

なぜこの話するか

自分は、プログラマという役割の中で以前は「With」が強かったが次第に「How」が強くなってきた。
自己アピールや昨今の「プライベートで勉強する」話が話題になる中で、現状分析や違和感などを考えていて、現時点での結論をまとめてみることにした。

これまで3つのカテゴライズで対比することがなかったため、「How」に含まれる個々の要素はゆるいつながりを見せているだけだった。カテゴライズしてまとめることでそこに繋がりがはっきり見えるようになる。

「How」というアイデンティティと、それに価値観を持っていることの自覚、持つことの重要性を書き残しておく。

「How」だけが持つ目的

「How」は他の価値観とは明確に違う点がある。「How」自体に1つの目的があることである。それは「プロジェクトを良くする、成功させる」ことだ。

この目的によって、プロジェクトやシステムは本来あるべき目的地を定められ、より良い状態を模索し、無駄を減らして効率的に目的地へ歩もうとする。
アウトプットよりアウトカムを重視したり、プロジェクトを改善しようとする姿勢や視座の高さにもつながる。

価値観自体に目的があることで、個々の要素は他より強い関連を持ち、横よりも縦に連なり立体感を持っているような印象がある。

「How」とその他の価値観の関連性。

「How」の重要性

開発を行う上で「How」が持つ重要性は極めて高い。プロジェクトを効率的に成功へ導かんとするからだ。

「How」は役割ではないので、誰かがやれば良いわけではないし、全員が多かれ少なかれ意識する必要があるものである。目的を考えれば、より多くより強いに越したことはない。
近年マネジメントやチーム、組織で話題にあがるトピックはこれが中心だろう。心理的安全性、チームビルディング、リモートワーク、etc。

「How」に注力せず走ってるプロジェクトも数多存在する。これらは注力した場合と比較して非効率的なのは勿論、場当たり的な対処療法で運用しているにすぎないので、「結果的に成功している」もしくは「まだ失敗していないだけ」と言える。

「How」の表現しづらさ

プログラマから別の役割へ転身すると、役割としての実績が生まれるのでキャリアやアピールの材料となりやすい。
マネージャやアーキテクトはこなしたプロジェクト自体が実績になるだろう。一度実績を積んでしまえば機会があれば役割が巡って着やすい。

一方でプログラマの役割では、設計自体をアピールするのは的外れだし、プロジェクトやチームでの個別の事象は細かすぎてアピールするにもなかなか大変である。簡潔に表現しにくい。

「How」に言えることは、具体的な「How」の実績は表現しづらいことだ。

「How」は知識は深められるが、現場で実践あるのみだし、そもそも環境に左右されることが多い。何をやったか、どういう結果だったか、再現性があるか、どれも言葉では言い表しにくいのだ。

「With」は個人で深度を深めることができる。「What」は知識+アウトプットで深度を深めることができる。具体的に「どれだけ」と表現しやすく深度を伝えやすくもある。

「プライベートで勉強する」の話

昨今言われてる「プライベートで勉強する」についてもこれで説明できる部分があると思っている。
強い価値観を持つ要素に対しては、「しよう」と思ってするよりも興味があるのだから「無意識にやってる」になるのは道理である。

「プライベート≒趣味」である。どんな要素も単に楽しんでるだけだと「勉強」にはならなくて、開発にどう活かすかがセットになって初めて「勉強」になる。

例えば、「What」でゲームへの関心が強いとして、単に楽しむだけなのか、開発にどう活かすか考えながらやるかで、勉強かそうじゃないかは変わってくる。
趣味としてとことん研究している場合、奇跡的にそれが仕事に繋がったとしても、それは結果的に「勉強していた」ことになっただけである。別にそれはそれで悪いことではないが目的が違ってくる。

個人的な肌感として「プライベートで勉強する」は「With」について語られていることが多い気がしている。

「What」(主に業種)は意識しないと趣味全開で終わってしまう性質がある。

「How」は技術寄りの要素を超えてしまうと個人の域を出るため、個人では座学程度しかできない性質がある。

「With」は座学と実技をある程度のレベルで、個人で行えると言う性質がある。

「How」の技術寄りの要素は、プログラム設計に関しては過去の手法に懐疑的な近年では、体系だって学ぶ機会も減っている。逆にシステムアーキテクチャやインフラはクラウドによって事例やパターンなどが共有されるようになり、学ぶ機会はいくらか増えているのかもしれない。
その他は相手あってこそなので実践あるのみだ。プライベートでの勉強には不向き。

「What」と「How」に言えることは、「With」に比べて(開発に活かすという意味での)実務レベルの習得は独学では難しい点がある。「With」は個人で「勉強する」には適しているし、「勉強する」と言えば無意識にこれをイメージしてしまう。

「勉強する」を一概に語られがちなのだが、そもそもコンテキストが違う。

おわりに

「How」は開発にとって最も重要である。 そうであるにも関わらず、アイデンティティが確立していないため、関連性が限定的にしか見えてこない。 「How」のアイデンティティや表現しづらさが認知されることで、業界がより住みやすく生きやすく良いものになって欲しい。