読者です 読者をやめる 読者になる 読者になる

何気ない記録

なんとなく自分の意見を書き記すときにつかいます。つまり不定期更新です。

技術的負債の解釈と向き合い方について

ちと真面目な内容だったので、仕事の合間に自分の考えを整理していましたが、投稿する先が消滅してしまったので、とりあえず記事にだけしておきます。

 

※いろいろな理由があると思いますのでその事は気になさらないでくださいまし

 

まず、僕は、よくネット界隈で見かける「経営者は技術者のいう事を理解できない」的な話については「甘えんな」という事をまず最初に投げつける人間です。

 

これは、自分が技術畑出身の人間だからこそはっきりとその事を伝えます。

その事と、一連のCTO云々でのコメントについてここに吐き出します。

 

まず、1つ考えてみてください。

ある課題があり、経営者と技術者が意見を交わしましたが、結果的に選択された答えは技術者の推す手段ではなく、経営者の意見に近いものが選択されました。

この時、技術者は「経営者は技術者のいう事を理解できない」と憤ることは正しいのでしょうか?

 

そもそも経営者と向かい合うのは技術者だけではありませんね。

私は微妙な立場ですが、財務部門もよくぶつかりますし、営業部門に至ってはこの時期は顔をあわせるのを避ける程お互い意見や着地について意見をぶつけますね。

 

もっと身近な存在に置き換えてみましょう。

WEBデザイナーとディレクターはどうでしょうか?

ディレクターとマーケッターやセールスマネージャーはどうでしょうか?

当然、ディレクターとエンジニアはどうでしょうか?

開発担当者と運用担当者はどうでしょうか?

 

何れもある課題や目標について意見や譲れない思いはあるでしょう。

 

この時、おそらくは各役割のスタッフは「○○は我々の意見について理解できない」であったり、「我々の意見なんて尊重してくれない」といった類の感情を持つことはやむを得ないでしょう。

 

どうでしょうか。

この話はある特定の役割の人間にのみ起きうる不幸なのでしょうか。

 

違いますね。

この事に気づけますか?

 

ある役割を担うものにとって、ある事にプライドを持ち、それを選択すべきと提案することは非常に重要な事です。

それと同時に、その事が組織の中の優先順位において、どうであるか、その事についての合意形成ははかれているのか?という事は、ある事柄にプライドを持つことと同じぐらい大切な事です。

 

もっと踏み込んでいえば、ある事柄を、おそらくはその提案は正しいとして、その事を決定した場合、それ以外の何かが少なからず犠牲になるとします。

貴方はその犠牲を全て自分の責任において受け止めきれますか?

 

今のエンジニアに求められることは、おそらく以前のエンジニアに求められることよりもより広範囲で柔軟性が求められるようになっている事は否定しません。

 

結局のところ、この事実と、その局面に居合わせるエンジニアがどう向き合うかという事でしかないと私は思います。

 

もしも、経営陣や異なる役割の人に対して、ある事柄を中心に議論を行い、合意形成を図る(当然、自らの意見に賛同させることも、自らが相手の意見に賛同する事も必要です)ことが苦痛だとするならば、ベンチャーという組織に身を置くことはやめるべきです。

 

ベンチャーという組織は残念ながら、一人何役もこなす必要があり、経営者もまた経営戦略だけでなく、資本政策や財務の実務面までかかわる必要あり、ある意味エンジニアが広範囲をサポートする事と同じ立場なのです。

 

そして忘れてはいけないのは、『技術的負債』とは、個人が背負うものではなく、組織が背負っているという事です。

 

最適化する事が望ましいコードがあったとして、その選択を下さないと組織が判断した場合、それは、その技術者にとっては受け入れがたいものがあるかもしれません。

しかし、デザインの提案であっても、マーケティング戦略であっても、資本政策におけるパートナーの選定であっても、いずれであっても同様の現実はそこにあり、その現実とすべての担当者が向かい合っているわけですから、その『技術的負債』を受け入れる事は、ベンチャーという組織に身を置くものとして、ある意味役割のひとつであると理解するしかありません。

 

そして、その『技術的負債』を如何にショートさせずに回せるのか、そして、ある段階からその負債の返済を如何にスピーディーに行えるのか。この事は、あるいみベンチャーという組織に身を置くエンジニアにとって腕の見せ所であると私は考えます。

 

そして、さらに言うならば、我々先輩エンジニアがこれからのエンジニアに伝えるべきは「わかる。お前の気持ちわかるよ。あいつら理解してねーもん」という事ではなく、「どうしてその判断がされなかったかちょっと考えてみないか?」という一言であるべきだと僕は思います。

 

もしそこに憤った若いエンジニアがいたならば、おそらく彼は、その後も同じような悩みを都度かかえるでしょう。

我々先輩エンジニアがするべきは、少なくとも中長期的スパンで見た場合、現状の選択に著しく否定する要素がないのであればその現実を正しく理解させ、その後は少しでもそういった判断について共感できるようにマインドを変化させてあげる事だと思います。

 

小さい事ですが、この小さい変化は、おそらくその若いエンジニアにやがて訪れる大きなチャンス手にする大きなファクターとなり、彼を成功に導くと私は確信しています。

 

私から見ても今のIT界隈にはチャンスと理解されないものの、現実には大きなチャンスがたくさん存在しています。

 

ただ、それらと向かい合う時もその視点の変化が行えるかどうか、その事に気づけるかどうか、そのたった小さな違いでその後の運命は大きく変わってしまます。

 

共感する事は非常に大切です。

ただ、共感する事と、共依存する事は別物です。

 

既にプログラミングという世界は、依然のような閉鎖的な環境にはなく、総エンジニア時代といっても過言ではありません。

 

それほど我々エンジニアを取り巻く環境は劇的に変化しており、その変化は今後も常におき続ける事は言うまでもありません。

 

我々がスマホを片手に非常に高度なゲームを楽しむ時代を喜んでいるという事は、それだけ世界に変化が起きたという事です。

 

であるならば、エンジニアの役割もまた大きく変化し、エンジニアが理解すべき世界も大きく変化しているという事を理解しなければならないのではないでしょうか。

 

その中心がCTOであることは言うまでもありません。

 

末端のエンジニアとCTOでは立場が違うではないかという反論はあるかと思います。

しかしそれは、判断すべき物事の大きさが違うという事にすぎず、マクロな視点でみれば両者の判断に違いなどありません。

 

それぞれがそれぞれの立場で、常に会社の成長と今選択すべきものはなんであるかを常に考え、運命共同体として綱渡りを続けるしかないのです。

 

もし、その事に疑義が生じるのであれば、そのエンジニアはおそらくはベンチャーやスタートアップには向かないでしょう。

 

それは恥ずべきことではありません。

そもそもがスタートアップというものはある種異常な環境なのです。

 

その異常ともいえる環境の中でプロダクトやサービスの可能性を追求したり、自分の可能性に挑戦したりするということであれば、この事を理解し、前に進むしか私はないと考えます。

 

ある意味理想と現実が共存する異常な環境だからこそ『技術的負債』というジレンマと常に戦う必要があるのです。

 

これが私があの文章に対して違和感を唱えた根源の考え方であり、これから『技術的負債』と向き合う事となる若いエンジニアに理解してほしい事の全てです。