コーディングテストの使い方を間違っている企業もある

後藤智氏(以下、後藤):例えば今、AtCoderさんのみならず、コーディングテストは実施されていて、基本的には本当に優秀な人のみを採用するのが全世界的な傾向です。

僕もアメリカで働いていた時がありましたが、ソフトウェアエンジニアとしてアプライすると、基本的には、最初にコーディングテストを受けます。そのコーディングテスト自体が1つのビジネスになっていて、これが通らないとソフトウェアエンジニアになれないので、まずここをクリアできるようにしましょうと、書籍や、そういったソリューションを解くようなウェブサイト、サービスがいろいろなところにありました。

日本ではコーディングテストをする会社がアメリカに比べるとちょっと少ないという印象を持っているのですが、高橋さんは、このへんについてどう思われていますか?

高橋直大氏(以下、高橋):僕は正直、アメリカのコーディングテストの採用率を知らない部分があるので断言できないんですが、日本も間違いなく増えてきてはいると思うんですよね。増えてきているところなので、使われ方がちょっと間違っているんじゃないかと思うものも正直けっこうあるんですよ。

コーディングテストで測れるもののベクトルと、仕事として欲しいもののベクトルってけっこう違うところもあります。このへんまでは共通している部分が多いけれど、ここから先は、「その業務は違くない?」みたいなのもけっこうあったりします。やはり導入したてなので、どう使っていいのかがわからないまま使っている企業がちょこちょこあるのかなとは思います。

コーディングテストに限らず、まずコーディングテストなのか、コーディング面接なのか、どっちをするべきで、どう違うのかとか。こういうのは人事がたぶん制度設計はすると思います。

どういう人たちが欲しい、どういう人たちと一緒に働きたいというのが結局あって、それを満たす人を自動で見つけられるから、コーディングテストは楽なんですよね。楽なのでバッと使っちゃうんですが、本当に欲しい人たちを見つけるためのコーディングテストになっているかと言われると、正直怪しいなと思っています。

そこがアメリカができているかと言われると、「別にアメリカもまだできていないんじゃない?」と僕は思っています。ただ正直に言わせてもらうと、コーディングテストが重要視されている環境はうち的にはありがたいなとは思っていて(笑)、なかなかそういう主張をしていいのか悩ましいところはあります。

後藤:なるほど、そうですよね。

自ら提案してくれる人と一緒に働きたい

後藤:まつもとさんが一緒に働きたいと思うエンジニアの方は、どういう方ですか?

まつもとゆきひろ氏(以下、まつもと):そうですね。プログラマーは常として面倒臭がりなので、いちいち説明しなくてもきちんと働いてくれる人がいいなという、それぐらいではあるんですけれども(笑)。

あとは、「カルチャーフィット」という言葉がありますが、私の働いている領域はほぼオープンソースで売上がないので、「こういうふうにするとテクノロジーがよくなる」みたいなことを、自分から提案してくれる人と一緒に働きたいなと思ってはいます。

プロダクトマネージャーがプロダクトを定義するので、言われたとおり実装することが望ましいポジションも当然あるとは思いますが、私自身がそういうポジションで働きたいとは思わないし、誰かをそういうポジションで働かせたいなとも思いません。

わりと括りが雑ではありますが、一言にソフトウェア開発者、プログラマーと言っても、「やっていることはほとんどプロダクトオーナーです」という人もいれば、最近の私がみたいにちまちまコードを書いているだけの人、設計はぜんぜんしないでコードを書く人など、私の定義だとプログラマーから外れそうな人たちも当然「プログラマー」と呼ばれているわけで、その中で自分で決める割合の高い働き方をする人が増えるといいなとは思っています。

後藤:ありがとうございます。

何を自分たちでやり、何は切り出して任せていいのかを組み立て直す過渡期である

後藤:楠さんにおうかがいします。これからの日本の展望、ITに対する戦略みたいなものが、デジタル庁もしくは楠さんの中であれば教えていただきたいのですが、いかがでしょうか?

楠正憲氏(以下、楠):「どんな人と一緒に働きたいか」とかが来るのかなと思っていたので、なんか急に大きい話になって戸惑っているんですけど(笑)。

なんというのかな、いわゆる昔だったらベンダーの下請けに分業でプログラムを書く人がいて、ユーザー企業は業務を作るという流れがたぶん、ここ20年ぐらいわりとあったと思うんですよね。

役所だと、1990年代半ばぐらいから、オープン化でパッケージを利用しています。その前はみんな知らないんですが、1980年代とか1990年代の頭ぐらいまでは、職員がCOBOLのプログラムとかをけっこう書いていたんですよ。統計局とかいまだにそのカルチャーが一部残っています。

デジ庁を作る時に内製をしなきゃいけないという議論は、実はぐるっと1周回っています。1990年代の、ちょうどバブルが弾けた後ぐらいから、内製をしていてはいけないという議論があったんですね。

それはなぜかというと、日本はやはり終身雇用なので、人が長くいるわけですよ。自分が作ったシステムは、やはりかわいいからなかなか否定ができない。

そうすると、昔手を動かしていたプログラマーがだんだん偉くなり、決裁権を持った管理職になって、「でも、俺の作ったシステムはすごい。これからも大型コンピューターの上でこれをやるんだ」となる。いよいよ1990年代ぐらいに、「本当にこれで大丈夫か?」「なんかおかしいんじゃないか?」となって、1990年代後半、2000年代に1度分業の時代が来るんですね。パッケージをカスタマイズで入れて、ユーザー企業や役所は意思決定をしていればいいんだという時代が20年ぐらいありました。

でもその結果、気がついたら、システムに支えられて業務が動いているのに、そのシステムの中がどうなっているのかよくわからないし、自分で業務を定義することもできない。計算機の中にいる小人さんがやってくれているように見えるので、いったい中がどうなっているのかがよくわからなくなっちゃうわけです。

それじゃいけないということで、もう1度エンジニアを雇って、きちんと自分たちでやらなきゃいけないんじゃないかという波が、ここ数年、「デジタルトランスフォーメーション」という名前で出てきました。

だけど、これでいきなりプログラムを書ける人を雇って仕事になるかというと、難しいんですよ。現場に入っても、これまでの仕事のやり方だってあるし、プログラムを書けるということと、目の前に立っているプログラムを書けない人が見て役に立つと思うシステムを組み上げる能力にはだいぶギャップがあります。間にそこを埋めなきゃいけない営みというのが、ものすごくいっぱいある。

今はそこの過渡期で、わちゃわちゃいろいろな試みをしている。あまりうまくいかない試みもあると思いますが、そこの中でキャッチボールをしながら少しずつ物事を動かして、どうやって任せっきりになっていた仕事をもう1回自分たちでグリップできるようにするのか。

何を自分たちでやり、何は切り出して任せていいのかを組み立て直すという営みを、今デジタル庁や、日本中のユーザー企業でちょうどやっているところなのかなと思っています。

足りない役割を1個1個再発見していく手探りの時代が来ている

:まだ過渡期なので、私も答えがあるわけではないのですが、そういう意味では、「それは業者の仕事だよね」という時代から「ユーザー企業でもエンジニア部隊が要るよね」とか、「どうやって人を採っていいかわからないから、コーディング面接をしようか」とか、あるいは「コーディング面接ができないからコーディングテストをアウトソースしようか」とか。

これがけっこう危ない。それで本当に欲しい人が手に入るのかは怪しいところがいっぱいあって、chokudaiさんがだいぶうなずいてくれていてうれしいんですけども。

でも、雇ってみなきゃわからないことはいっぱいあるんですよね。つまり、動いている仕事にはどんな役割が要るかがわからないんだけど、新しいことをやる時はボトムネックがどんどん移動していくんですよ。

「雇ってみてもなんか物が仕上がらない、何が足りないんだろう」と言って、いろいろ足していくと、どんどんどんどん人が増えて、「あれ? 1つを作るのにこんなに大きいチームが要るんだっけ?」みたいになっちゃうこともあるんだけど。

やはり今また、そういう手探りの時代が来ているおもしろさはあると思うし、そこの中で、足りない役割を1個1個再発見していきながらどうやってチームを作っていくかということを手探りでできるというのは、実はけっこう贅沢なことなのかもしれないし、そういう過渡期だなと思います。 

その過渡期の中でもがいている会社に対して、国としてどんな支援ができるんだろうとか。あるいは、そうやってもがいていく中で、プログラマーにとってもっと幸せな職場はどこかにあるのかもしれなくて、そこをうまくマッチングしていくとか。あるいは、クラウドで運用管理がどんどん自動化していくことでなくなる仕事もあるかもしれない。その人たちの職をこれからどうしていくんだろうとか。

でも、その人たちの職を残すために昔ながらのやり方をやるのではなくて、きちんと立ち止まって、あらためて勉強する機会を作っていくとか、たぶんそういうことを考えるタイミングなんだろうなと模索しながら思っています。

難しい時代だし、戦略とか、「これからこうなるんだ」という答えがあるわけではありませんが、世界を見ればプログラムを書ける人はぜんぜん足りなくて、給料も非常に高く、相対的に「日本のエンジニアって給料が安いよね」と、下手をしたら中国とかから思われるような時代になってしまっている。その中で、どうやって私たちが再び富の生み方を再発見、再発明していくのか。そういう時期だなという気もします。

後藤:ありがとうございます。

(次回へつづく)