「生涯プログラマー」でやっていくためには? まつもとゆきひろ氏が若手に贈る3つの言葉
──他の人と違う道を歩むことに対する不安はなかったですか?
なかったですね。そういうことに鈍いタイプなんでしょう。日本の学校の同調圧力が辛かったくらいですから。
周りを見ていると、確かに他の人と同じことをしないと不安に感じるという人が多いみたいですね。自分はどうやらそこの回路が切れていたようで。だからこそできたことがあるのかもしれません。
──一方で企業側も採用目的で技術選択をすることがあると聞きます。本筋からはやや逸れるかもしれませんが、そのことについてはどうお考えですか?
技術者個人も企業側も、どちらもすごく固定化しているという印象ですね。日本の求人市場は、何も知らない新人をその企業が望む色に染めるか、「自分の得意な技術であればやります」という人が条件に合ったら採るかのどちらかしかない。
実際は必要が生じたら何でも学ぶというのが正しい姿じゃないですか? そして大概の人は、それまでやったことがなくたって学べば分かるようになる。どうも実体と違う思い込みが横行しているような気がします。
「つまらないと思う人たちはもういいよ」
──そこで2つ目に挙げていただいた、新しいことを学んで自分で問題を解決する力が試されるというわけですね。この能力はどうやって磨いていったらいいですか? やはり自発的な姿勢がカギとなりそうですが。
例えばJavaを学んでくださいという状況を与えられたから学びますという態度だと、そういう環境に行かないと学ばないということになってしまいます。誰かから「こういうことはできないですか?」と聞かれたって、「それを学ぶ機会はありませんでしたので」で終わってしまう。
エンジニアであるのなら、積極的に勉強するとか、新しい技術に興味を持つとかいうのは自然とできることだと思いますけどね。そうでない人というのは仕事として渋々やっているわけで、できれば勉強もプログラミングもしたくないのでしょう。お金さえもらえれば、エンジニア以外の仕事であっても特に変わらないわけで。
でも本当はプログラミングってすごく面白いんですよ。何が面白いかって、例えば使っているソフトに気に入らないことがあったら、すぐにカスタマイズして自分の思い通りにすることができる。
時には何か間違いがあって思い通りに動かないこともあります。でもそれを直すことで問題解決が起きる。
問題解決ってすごく面白いですよね? 新聞に載っているクロスワードパズルとか、何がもらえるわけでもないのにみんな解くじゃないですか。人間は本来、問題解決が好きなんですよ。プログラミングをしているとそれが毎日現れる。それがすごく楽しいんです。
そう思ったら自然と学ぶだろうし、より効率的に問題解決ができるよう、自分を磨くはずです。逆に言うと、そう思えない人はプログラミングしないでいい時代が来てほしいなと思っているんです。
全員がプログラミングを楽しいと思えるわけではないというのは、私も経験的にもう分かっています。より少ない人数で、より効率的にソフトウエア開発ができたら、やりたいと心から思う人たちだけでできるようになる。やりたくない人の首に縄をつけて引っ張る必要はもうない。
Rubyを作っているのも究極的に言うと、効率よく生産性よく作れるようにすることで、「プログラミングをつまらないと思う人たちはもういいよ。僕らだけで作るから」、そう言える世界を作りたいと内心で思っているからなんです。