プログラマーの仕事観を理解したいなら~PM、CEO、クライアントに知ってほしいこと (1/3)|翔泳社の本

プログラマーの仕事観を理解したいなら~PM、CEO、クライアントに知ってほしいこと

2018/01/26 07:00

 ノンプログラマーの管理職にとって、プロジェクトをスケジュールどおり進捗させるにはプログラマーの仕事のやり方や文化を知り、適切なコミュニケーションをするほかありません。その勘所を丁寧に解説した『プログラマーとお仕事をするということ』から、そのイントロダクションをお届けします。

本記事は『プログラマーとお仕事をするということ 折れないプロジェクトは異文化コミュニケーションから』から抜粋したものです。

著者紹介:パトリック・グリーゾン

 過去10年に渡りプログラマーとして、またプログラマーのマネージャーとして働いてきました。受託開発するコンサルタント会社や多国籍企業からスタートアップまでさまざまな組織で仕事をし、現在は若い人々がより良い職業選択をできるよう助けるツールを提供するシンクスマート社でCTOを務めています。

 ケンブリッジ大学で哲学および古典の学位を取得し、ロンドン音楽演劇アカデミーで舞台技術の学位を取得しています。また映画や演劇のための作曲も手がけ、木琴を奏でる機械仕掛けのタコを含むロボットサーカスのためのアニマトロニクス人形作成に1年間取り組みました。

はじめに

 2年ほど前、私は東ロンドンのせわしいコワーキングスペースにあるスタートアップ企業の面接を受けました。創業者のアリは、押しの強い元金融トレーダータイプで、まずクレジット・デリバティブ、それから不動産とキャリアを積んできた人でした。

 彼には不動産貸付業界を変革するアイデアがあって、アプリケーションのプロトタイプを作成するプログラマーの小さなチームを雇えるだけの資金をかき集めました。私のこれまでの経歴について根掘り葉掘り聞いたあと、私の返答に満足したらしい彼は、私の方から質問する機会を与えてくれました。私がそのプロトタイプの進み具合について聞くと、彼は大いに進展していると請け合いました。

「俺に言わせりゃね、ソフトウェアを作るのは家を建てるようなもんだよ」。そう話しながら自分で頷いていました。「まず設計して、構築の計画を立てる。その時点でどれくらいの期間がかかるかわかるから、あとはただ作りゃいいだけさ。簡単な話だよ。もう設計とプロジェクト計画はできていて、ベータ版を6月に出す予定だ。現在少し遅れが出ているのは認めるけど、開発者をもう1人探していて――それは君になるかもね――それでオンスケに戻せるだろう」

 満足げにくつろいで座る彼を見て、たった今奇妙なことが起きたことに気が付きました。私には彼の話してくれた情報しかありませんでしたが、アリの会社について、アリ自身が知らないことを私は知ったのです。つまり、6月にベータ版を出せる見込みはまずないということです。現在の状況についての彼の説明には赤信号が山ほどあって、毛沢東主義集会にでも出ている気がしました。しかし私が何か言う前に、彼は出口戦略や新規採用者に与えるストックオプションのことに話を変え、その後スケジュールについて話す機会はありませんでした。

 結局は、採用すると言われましたが辞退しました(既存のチームメンバーと話して、アリが一緒にやりやすい雇用者でないのではという疑いが裏付けられました)。それでも、その会社の動向については定期的にチェックしていました。案の定、6月がやってきて過ぎ去りましたが、リリースはありませんでした。7月が過ぎ、8月も過ぎました。何かをリリースできたのは10月のことだったと思います。

 彼らが予定を守れないだろうことに自分にはどうしてそれほど確信があったのかと、考えるようになりました。そして私が苦い経験を通して学んだソフトウェアの厳しい現実にアリが通じていなかったことに気が付きました。プログラマーと仕事をした経験がないなんてどういうことでしょう?

 たとえば、ソフトウェア開発は家の建築とはまるで違うことを私は知っています。消費者向けアプリケーションでプロトタイプを作る前に設計を完成させるなら、リリース前のどこかの時点で設計し直すことになるのはほぼ間違いないと知っています。遅れているソフトウェアプロジェクトで一番やってはいけないことが、チームに開発者を増員することだと知っています。でも、あいにくと彼はそういったことを何ひとつわかっていなかったのです。

 そのことを考えるにつけ、すごく不当なことに思えてきました。世界にはアリのような人たちがたくさんいて、仕事上の成功がソフトウェアプロジェクトにかかっていて、そのプロジェクトの成否がその人の決断にかかっているというのに、ソフトウェア開発の奇妙さや特異性のために正しい決断は時にすごく直感に反したものになるということを知らないのです。ソフトウェア開発がどういうものか、誰かが彼らに教えるべきだと思いました。

 それから、その誰かは自分でもいいのだと気付き、この本を書くことにしたのです。