この記事シリーズは、すぐに使えるハウツーを書いたものではありません。

なぜなら、特定の状況に応じて特定の解決方法が存在するものではないと考えているためです。

この記事は、ハウツーではなく、認知方法を変化させることに価値がある内容となっています。

そのため、私の経験や思考を追体験できるように書いています。

なぜハウツーではないのかについて、詳しくは 良い設計は、なぜハウツー(How to)ではないのか で言及しています。


ここから本題に入ります。

私は以前から、設計とは「現実世界をどう捉えるか」を定義することだと考えています。

この考え方を用いることで、ソフトウェア設計だけではなく、UI設計や要件定義など、開発のさまざまな場面にも応用できると感じていました。

しかし、最近は、その考え方の応用範囲がさらに広がっていると感じます。

きっかけは転職活動です。

一見すると、ソフトウェア設計とはまったく関係のない分野ですが、転職活動を進める中で、自分の判断の質が以前よりも明らかに向上していることに気が付きました。

最初は「なぜだろう」と考えていましたが、振り返ると、その理由は言語化できるようになったことにあるのではないかと感じました。

転職活動で最も変わったこと

私は現在、転職活動で最も重視することとして、

「プロ意識の高いチームであること」

を第一に掲げています。

もちろん、

  • 仕事内容
  • 年収
  • 残業時間
  • 技術力の高いエンジニアがいること

なども重要です。

しかし、それらは「第一に優先すべきこと」ではないという結論に至りました。

この考え方は、突然思いついたものではありません。

これまで経験してきた複数の開発現場を振り返り、

  • なぜその現場はきつかったのか
  • 何が問題だったのか
  • 何はそれほど重要な問題ではなかったのか

を一つひとつ整理していくと、以下のような状況が重要な問題なのではないかと考えました。

  • 建設的な議論ができない
  • 先輩から言われたことしかやらない人がいる
  • チームの利益より自己の利益を優先して行動していると感じる人がいる

などでした。これらを一言で表現すると、彼らは「プロ意識に欠けていたのではないか」と感じました。

そこから

「プロ意識の高いチームであること」

を最優先にするべきだと考えました。

以前の私は、

  • 現場のエンジニアのレベルが高いこと
  • 仕事内容
  • 年収
  • 残業時間

といった、一般的な判断基準を中心に会社を選ぼうとしていました。

もちろん、それらは今でも重要です。

しかし、それらは本質ではなく、「プロ意識の高いチーム」という土台があってこそ価値を発揮するものだと考えるようになりました。

言語化すると、判断の理由を説明できる

この変化で最も大きかったことは、

「なぜその判断をするのか」を説明できるようになったことです。

以前は、

「なんとなくこの会社が良さそう」

という感覚で判断していた部分がありました。

しかし今では、

「私はプロ意識の高いチームを最優先にしています。その理由は……」

と、その判断の背景まで説明できるようになりました。

自分自身に対しても、

「なぜこの会社を選ぶのか」

を説明できるため、判断に迷いが少なくなり、自分の選択に自信を持てるようになったと感じています。

他人との議論の質も変わった

言語化できるようになったことは、自分の中だけの変化ではありませんでした。

転職エージェントの担当者との面談でも、その効果を実感しました。

転職エージェントの担当者は、必ずしもエンジニアではありません。

そのため、現場で何が起きているのか、どのような組織であれば働きやすいのかは、私から説明しなければ伝わらないことが多くあります。

以前であれば、

「なんとなく違う気がする」

という感覚しか伝えられなかったかもしれません。

しかし現在は、

  • なぜその組織が自分に合わないのか
  • 現場では何が起きているのか
  • なぜ私はその条件を重視するのか

を、前提から説明できるようになりました。

その結果、お互いの認識のずれが少なくなり、より深い議論ができるようになったと感じています。

言語化は、判断に自信を与えてくれる

私は、ここ最近、自分の判断に以前よりも自信を持てるようになりました。

その理由は、「正解が分かるようになった」からではありません。

そうではなく、

「なぜその判断をするのか」を、自分自身にも他人にも説明できるようになったからです。

判断の根拠が明確になると、自分自身も納得して意思決定できますし、他人とも前提を共有したうえで根拠を明確にした議論ができるようになります。

設計を学び始めた頃は、設計の考え方がソフトウェア設計以外にも役立つとは思っていました。

しかし今では、その影響は設計の枠を超え、人生におけるさまざまな意思決定にも及んでいると感じています。

そして私は、この「言語化」が、なぜこれほど意思決定に影響を与えるのかについて、今後の記事で深堀していきます。