見出し画像

人と話すのが苦手なエンジニアだった

私は人とあまり話したくないエンジニアです宣言

私たちは、ソフトウェア開発の実践を通じて、
より快適な開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。
人間との関わりよりもPCとの対話を、
自然言語よりもプログラミング言語を、
Face to FaceよりもJiraとSlackを、
オープンスペースよりも一人で籠れるブースを、価値とする。
すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。

お分かりかと思うが、アジャイルソフトウェア開発宣言のパロディである。

工学系研究室に所属していた大学院生時代、こういう考え方の人は多かったし自分もそうだった。

実際、集中して開発するためには同期コミュニケーションのうち即時性の低いものを非同期化する、といったフロー状態に入りやすい環境を構築するかが肝になる。名著ピープルウェアでもそれは書かれている。

会社では極力定例会議などをなくすことに奔走し、集中できる時間をいかに作るかを考えた。

アジェンダがなくなんとなくやっている会議、それこそslackなど非同期コミュニケーションで解決できることをわざわざ会議でやることをなくすというのは有意義だった。

そんな風に「人との関わりを最低限におさえて開発に集中すること」をよしとしていた自分にとって、アジャイル開発というものは当初、あまりしっくりくる考え方ではなかった。

プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、

コミュニケーション能力への誤解

「なんで対話しなきゃいけないんだ」「ドキュメントはちゃんと書かなきゃダメだろ」「変化への対応って、手戻りを許容するの?いやいやいや…」そんな風に拒否感を感じていたわけだが、とりわけ「対話を重んじる」というところが苦手だった。

ワイワイみんなと仲良くやれるタイプじゃないとエンジニアやっちゃいけないってか?

これは、今になって思うと完全に誤解だった。

プロセスやツール、またそこを通して伝えられる仕様や設計は現実世界を完全にモデリングできているわけではない。
現実に求められていることとモデルのギャップを埋めるために対話が必要、ということなのだ。

包括的なドキュメントより動くソフトウェアが重要視されることもこれと同じ。どれだけドキュメント作成に心血を注いでも、動くソフトウェアを完全には表現できない。動いているものを触ってはじめてわかることがあるのだ。

そうなると契約でブロックして「前に決めたから変えません」は、本当にいいものを作るうえで障壁にしかならない。協調が必要だ。

作る前からわかる部分はもちろんあるが、わからない部分もたくさんある。であるがゆえに、変化は受け入れるべきだ。そうでないと、「もう決めたから」と強硬にリリースしたものは誰も使わない可能性がある。

で、この考え方を理解し納得していったのは、「いいものを作る」「課題を解決する」そういったエンジニアリングの本質に意識がいったからだろうとおもう。「何か作ってお金をもらう」がゴールなのであれば、そりゃ顧客とコミュニケーションとって細かいこといわれたり変化を許容するよりも決めたものをチャチャっと作って売りさばいたほうがいいだろう。

しかし、自分の意識はなぜ、変容していったのだろうか。

ふりかえってみると「仕様通り」つくったものが結局使われずお蔵入りになったり、「これは決めたことだから」と無理に進めた結果、結局最終段でひっくりかえったりといったことを体験してきたからなのかもしれない。
そして、あるとき試してみたアジャイル開発で「少しずつ変化させ」ながら開発し、うまくいった体験をしたからかもしれない。

そして、「人と話すの苦手だな…」という点については周りのエンジニアもけっこう人と話すが苦手ということに気づくことでなんとなく気持ちが楽になり、解決した。人と話すのが苦手な理由はいろいろあるとおもうが、

・変なこといったらバカにされるかも
・怒られるんじゃないか
・そんなことも知らない、っていわれるんじゃないか

というような恐怖心に由来していることは少なからずあるのではないか。
そういう意味で、「仲良くなっておく(信頼関係を築いておく)」ということは対話は主体としたエンジニアリング組織で有効なことは間違いない。

※信頼関係が築けていればよく、アフターファイブや土日に同僚とどこかに出かけて・・・ということは必ずしも必要ない。むしろ「土日なにしてる?」「家にいる」「私もそうです」「人と話しません」みたいな会話から「あ、同じ属性のひとたちだな」と安心し信頼関係がうまれることがある。腹を見せ合えればよいのだ。

アジャイルネイティブに伝えたい

ここ最近エンジニアになったような人は、もしかしたら最初からアジャイル開発を体験しているかもしれない。アジャイル宣言の左側の価値観を知らない世代だ。

しかし、おそらくその世代でも「コミュニケーションが苦手」という人はいるだろうし、そうすると「対話を重視する」アジャイル開発に苦手意識をもっても不思議ではない。また、現場によっては「対話を重視する」姿勢がいわゆる「リア充」的な形、頻繁な飲み会だったりレクリエーションだったりという形で現れることもあり、そこに苦手意識をもつこともあるだろう。

だが、エンジニアに求められるコミュニケーション能力は「真の課題を引き出すこと」「現実世界をうまくモデリングすること」であり、チーム開発で求められるコミュニケーション能力は「互いに尊敬し、謙虚さを持ち、信頼すること(HRT)」である。気の利いた雑談ができなくても、飲み会に参加しなくても、それは実現できる。むしろ真の課題を引き出す・モデリングするあたりは自分自身と深く向き合い洞察する内省の力が必要だ。これは皆さん、得意分野なのではないだろうか。

コミュニケーションに苦手意識をもつエンジニアの皆さん、対話を重視する風潮を悲観する必要はない。一般的なコミュ力ではないかもしれないが、エンジニアに必要なコミュ力さえあればいい。それに自分ひとりでできることはそんなに多くない。でっかいことをやるには、ともにつくる仲間がいたほうが、なにかとやりやすいのだ。

この記事が気に入ったらサポートをしてみませんか?