この記事では、AIプロジェクトの遂行に注目して、エンジニアによるマネジメントの必要性と、学ぶべきことをまとめた。
マネジメント系の話がテーマになると、エンジニアの中には「僕らは技術職なのにマネジメントなんて」と鼻で笑った態度をとる方がいることは承知している。実際、私の周りにもこうした方がいらっしゃるし、プログラマとしての実力がきちんとある方ほど、そういう態度をとることも珍しくない。
しかし一方で、実力あるプログラマがみなマネジメントを軽視しているわけでもなく、数は少ないながらもプログラマとしての実力も十分で、マネジメント力にも優れ、非常に高い評価と尊敬と給与を得ているエンジニアが存在しているのも事実だ。
私の観察では、こうした違いは、過去の社会人経験の"運"が大きく左右しているように思う。つまり、「過去に非エンジニアによるマネジメントを喰らって痛い目を見た人」と「モデルケースとなるような本当の意味でマネジメントできるマネージャーに巡り合えた人」で、マネジメントに対する期待や理解が大きく異なっていると思うのだ。
実際問題、技術を理解していない・軽視しているマネージャーが指揮を取れば、『コーラを飲んだらゲップが出るっていうくらい確実』にプロジェクトは失敗するものである。こういうマネジメントを原因としたデスマーチに一度でも従事すれば、マネジメントという言葉それ自体への信頼が損なわれるのも致し方ないところであるし、むしろ現代日本は「IT土方」と揶揄されるような多重請負構造によって、業界全体でこうしたマネジメントを原因としたデスマーチが頻発している。
技術がわからないマネージャーがデスマーチを生み出すというなら、つまり私たちエンジニアにできる方法は2つしかない。マネージャーがきちんと技術を学んでくれることを期待するか、エンジニアがビジネスのことを理解してマネジメントまでやるかだ。
ここでは、他力本願な前者ではなく、自らを助く後者をテーマとした。逆にいうならば、これをしなくば結局のところ、エンジニアサイドもビジネスサイドの面倒なことを人任せにしておきながら、あいつらは技術のことがわかってないと愚痴っているにすぎないということでもある。
※ちなみにもちろん、コードだけ書けてもプロジェクトは成功に至らないことを付記しておく。ビジネスインパクトが云々とか、顧客ニーズが云々という点まで考え抜いて、ビジネスとして技術を扱うことは簡単ではないのだ。だから、エンジニアがマネージャーになるにはビジネス側を"学ばなければならない"ということ。
エンジニアも、ただ技術のことを考えていればお金がもらえた時代は過ぎ去りつつあるのではないか。自らの身を守り、かつ生み出した作品・技術が誰かに必要とされるものであるために、マネジメントのスキルが必要だと思う。そしてマネジメントのスキルまで身につけたなら、当然その価値はエンジニアよりもビジネスマネージャーよりも高いわけで、給与交渉や社内の立場でも優位に立てるだろう。本記事が、エンジニアの方がマネジメントというものの価値を再発見するきっかけとなれば嬉しい。
なお、本記事はQiitaの記事投稿イベント「エンジニアによるマネジメント-エンジニアだからこそ発信できるマネジメントの知識を発信しよう」に呼応したものです。
機械学習系プロジェクトのマネジメントに関わる者として、このテーマにはとても共感します。
ビジネスサイドによるマネジメントの問題点
さて、そもそも幸運にも技術を軽視するマネージャーによる破滅的マネジメントを喰らったことがない人には、上記の話がピンと来ていない方もいるかもしれない。
筆者自身が体験したことを・・・あ、ありのまま 今起こったことを話すぜ!
筆者がまだ若手のエンジニアとしてあるバックエンドシステムの開発に参加していた頃の話だが、IT業界の多重請負構造や年功序列、プログラマが軽視されがちな謎の企業文化などによって、ユーザーと開発現場の間には「マネージャー」という名の「何をしているかわからない人≒会議の時だけたまに来て、(リアルに)居眠りをしているおじさん」が大量に挟まっていた。
基本的にこのおじさん達も悪気があるわけではないし、プロジェクトの失敗を願っているわけでもない。しかしだからと言って無害というわけでもない。
まずこのおじさんは存在しているだけでコストを上げる≒顧客の期待値を上昇させるため、実質の作業工数に対して非常に質が高いものを持っていっても、ベースとして顧客は不満そうになってしまうことがある。加えて、基本的にプロジェクトで今なにが起こっているのか本当に知らないので、顧客のコントロールをするどころか、自ら無茶な思いつきを提案してしまうのだ。
本来的には、こうしたマネージャーの方はクライアントの期待値をコントロールしながら、できないことをどうできるようにするか知恵を絞って建設的な議論をリードすべきだろう。
しかしスキル不足からそれができない場合、悪気なく、例えば影響範囲が甚大なコード修正などを安易にうけおってしまう。こうしたコード修正の何が大変か理解していないこうしたおじさんが、顧客に怒られたくない一心で「またまたやらせていただきましたァン!」などと仕様変更を持ってこようものなら、「安っぽい感情で動いてるんじゃあないッ!」と一喝しても気が済まないというものだ。
筆者は、こうしたマネージャーの思いつきによって、やらぬでよいことをやり、壊さぬでよかったメンタルを破壊されたエンジニアを何人も見ている。
AIプロジェクトではさらにマネジメント能力が重要
ドットコムバブルと呼ばれた2000年代、上記のような酷いマネジメントは日本に横行していた。その結果に何が起きたかと言えば、かつてのハイテクジャパンの凋落と、もはや埋めようがないほど開いた米・中とのデジタル技術力の格差であると筆者は考えている。
そして2020年代に入り、今度はAI技術で同じことが繰り返されようとしていると感じる。
AIプロジェクトは核となるモデル作りにおいて、本質的に透明性と事前予測性が低い。そのため従来のITのようなウォーターフォール型の管理が通用せず、「要件定義において技術知見をより深く理解せねば工数見積もりが意味を成さない」「プロジェクト中のマネジメントにおいてビジネス知見をより深く理解せねば精度向上の方針も見えない」といった事態に直面する。また、PoCのような小規模な検証から始めざるをえない関係上、そもそも不必要なマネジメントコストを計上する余裕もない。
ただでさえデジタル技術のマネジメントが根付いていない日本において、マネージャーにより高度な知見を要求するAIプロジェクトは、いっそう後れを取ってしまうのではないかと危惧している。事実、日本のAI産業はすでに米・中に後れを取っている実感がある。
エンジニアこそマネジメントを学ぶことにメリットがある
結局のところ、こうした状況を打破するには冒頭に記載したように、エンジニアバックグラウンドを持ちながらビジネス理解にも長けたマネージャーを育成するしかないと思っている。
これはエンジニア個人のキャリアにとっても決して悪くない。私自身の経験によれば、エンジニアがマネジメント力を身につけることで得られるものは3つある。
1. 関われる仕事の規模が拡大する
2. 評価(給与)が上がる / 尊敬が得られる
3. 長期的にキャリアが安定する
1は、技術者としては1番嬉しいことだと思う。『始まりの場所』が技術シーズにあるのか市場ニーズにあるのかは鶏と卵であると思うが、技術シーズだけを追っていても出会えない『最先端』に市場側からのアプローチで出会うことはある。マネージャーとして信頼を積むと特に市場側の情報が集まってくるので最先端の課題にふれるチャンスが増えるし、裁量が増えることで自分のアイデアを活かした試行錯誤もできる。
2について、私が経験してきた開発現場では、ビジネス側とエンジニア側の相互不理解においてギスギスした空気を持つ現場が少なくなかった。しかしそんな中で、両者の立場や意見を理解・共感できるリーダーが1人動員されると、大きく状況が改善したものだ。
そのような人はどの立場の人からも敬意を持って接してもらえるし、必然的に情報やアイデアもその人に集まる。結果的に社内の評価は高まり、給与や職位が上がることに誰も異を唱えない。
3は、これはイメージ通りだと思う。マネージャーとして職掌が広がっていくと、気苦労は増えるが、それ以上に得られる信頼も増えるため、キャリアは安定していく。
マネジメントを学ぶには
筆者が調べた限り、人工知能系のプロジェクトマネジメントについて、学ぶべきことをまとめ、勉強できる資格としているのは、人工知能プロジェクトマネージャー試験だけだった。
公式ページからダウンロードできる学習のポイントや、シラバス記載のマネージャーとして学ぶべき分野は、特に技術理解をないがしろにせずにビジネススキルを上乗せしようとする思想がみえ、上記の問題意識に対応するものではないかと感じた。
なお、AIエンジニアにとって有用そうな資格の一覧については、別記事でまとめているのでそちらもご一読いただけたら嬉しい。
この試験の内容に、筆者がマネジメントに必要な要素を付け加えるとしたら、マネージャーにはスキルと同時に、多様な経験に裏打ちされた徳が必要だということだと思う。ここでいう経験とは、ただ単に年を重ねたという意味ではない。まだ誰にもわからないことにチャレンジし、暗闇の荒野に道を見出しながら、仲間と共に修羅場を乗り越えた経験ということだ。その過程で身につけた有形無形の説得力は決してスキルでカバーできるものではないし、結局のところ、様々ある種類のうちそれがどんなタイプのものだったにせよ、『人間的魅力』というものがなければリーダーは務まらない。マンモーニのような甘ったれにはリーダーは務まらないのだ。「何をやっても失敗するものなのさ・・・『ゲス野郎』っていうのはな」ということである。
上記試験には受験資格は不要なようであるが、試験の勉強で学ぶだけで終わらず、実際に開発現場で試行錯誤し、経験を蓄積する中で人間として自らを磨くことを忘れてはならないと主張したい。
おわりに
「二五〇〇年前の中国の兵法書に「孫氏」ってのがあって、こう書かれている。『勝利というものは戦う前に 全て すでに決定されている』」
マネージャーというのは、つまり事業設計をするリーダーだ。
リーダーがなんでもかんでもNo.1である必要はないが、リーダーが全く何も知らないということはあってはならないのだ。
それはつまり、「僕はその件はよくわからないので、責任を取りません」と部下に宣言しているに等しいからだ。責任を取らないリーダーなど、チームにとって害悪でしかない。
責任を取れない範囲が存在することが最初からわかっているリーダーに全てを任せたら、敗北は必至である。それこそ、『戦う前に敗北は決定してしまう』のだ。
日本に正しいリーダーが育ち、敗北必至なプロジェクトから生還してくれることを祈って!
アリーヴェデルチ!
参考記事
※一部のセリフ回しを、荒木飛呂彦先生の「ジョジョの奇妙な冒険」をオマージュさせて頂いております。『JOJO――!俺の尊敬のオマージュだぜ―――、うけとってくれ――――――――ッ』
※ここまでの内容はすべて個人的感想であり、何かを否定するものでも推奨するものでもありません。