2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
後藤智氏(以下、後藤):本日は、プログラミング力向上についてのお話をしようと思います。モデレーターを務める後藤と申します。現在キリロムのCTOをしています。よろしくお願いします。
では、高橋さんからそれぞれ自己紹介をよろしくお願いします。
高橋直大氏(以下、高橋):AtCoder株式会社で代表取締役社長をしています、高橋直大と申します。ネット上だと「chokudai」という名前で通っているので、「chokudai」と呼んでもらったほうが、たぶん通じもいいですし、そんな感じでお願いします。
AtCoderは、今世界で登録人数が40万人くらいいます。そのうち7割くらいが学生で半分くらいが日本人で、けっこうな日本人学生が取り組んでいるプログラミングコンテストなので、学生視点の話がけっこうできます。
あと、学生と会った時にどういう感じで勉強しているのかを話したりしているので、そういう感じの話ができるんじゃないかなと思っています。本日はよろしくお願いいたします。
後藤:よろしくお願いします。
後藤:では、まつもとさん、よろしくお願いします。
まつもとゆきひろ氏(以下、まつもと):まつもとゆきひろと申します。この業界で、ひらがなで「まつもとゆきひろ」と言えば私だと思っていますけれども。
Rubyというプログラミング言語が世にあるので、それを作った人になりますね。Rubyで作っている人じゃなくて、Rubyを作った人です。
ここの中でもだいぶお年寄りのほうなので、経験が長いですし、プログラミングを通じてなにかを達成したという意味では、みなさんの先輩なので、こんな道もあるよねという話ができるといいなと思っています。よろしくお願いします。
後藤:よろしくお願いします。
後藤:では、楠さん、よろしくお願いします。
楠正憲氏(以下、楠):デジタル庁統括官、デジタル社会共通機能グループ長の楠と申します。2021年の9月からデジタル庁の立ち上げに携わり、このグループでは、ガバメントクラウド、ネットワークの統合、自治体システムの標準化、マイナンバー、データ戦略など、いろいろなものを見ています。
デジ庁は今、だいたい730人ぐらいいて、うち200人ちょっとがうちのグループにいるんですが、半分ぐらいが民間から来られている方です。
私自身は、デジ庁の立ち上げに入る前は、4年ぐらいMUFG(三菱UFJフィナンシャル・グループ)のフィンテックの会社のCTOとしてエンジニア部隊の立ち上げをやって、その前はヤフーに5年近くいて、IDやセキュリティを見ていて、その前は日本マイクロソフトに10年ぐらいいて、いろいろなことをやっていました。
日本マイクロソフトの終わりぐらいから、9年9ヶ月ぐらいマイナンバーの立ち上げを内閣官房でずっとパートタイムでやっていて、マイナンバーの後ろ側の仕組みを作っていました。コロナ禍で「特別定額給付金をみんなに配ろう」という時に、電子申請がなかなか簡単にできなかったり、それはちょっといまいちでしたが、その後、「ワクチン接種を加速しよう」と、システムを2ヶ月半ぐらいで作りました。これが1日最大160万回を超える接種を支える仕組みになったり、あるいはワクチン接種証明書のアプリも、今600万ダウンロードぐらいされているらしいですが、そういったものも立ち上げています。
国はあまり、アプリやサービスを作るのが得意じゃないんですが、これをなんとかデジ庁で変えていければなと思っています。よろしくお願いします。
後藤:よろしくお願いします。
後藤:まず最初のテーマは、今回の題目になっている「プログラミング力の向上」についてお話をうかがえればなと思います。
最初に高橋さんにおうかがいします。特にAtCoderは、まさにコード力を向上させるためのサービスで、人を採用する時の基準としてAtCoderを採用している企業も多くあると思います。
高橋さん自身も、多くのコンペティションに参加されて非常に優秀な成績を収められていますが、このレベルに達する人というのは限られてくると思うんですよね。
プログラマー、エンジニアは非常にたくさんいて、どんなにがんばってもこのレベルに達するのは、本当に一握りの人しかいないと思います。
その中でも高橋さんが好成績を収められたのは、なぜか? なにかコツがあるのか、どうやってソリューション能力を上げてきたのかは、たぶんみなさんがすごく興味があるところだと思うのですが、そのあたりはいかがでしょうか?
高橋:すみません。自己紹介の時に、「僕はプログラミングコンテストが強いよ」と言い忘れていたなと今気づきました、ありがとうございます(笑)。
そうですね。僕はプログラミングコンテストをずーっとやっていて、もう16年目くらいになります。当然才能も要りますが、楽しんでやるのが一番大事だと僕は思っています。
結局、時間×効率でどれだけ技術が身に付くかというのが決まるわけで、時間がどれだけ増やせるかと、効率をどれだけよくできるかの2軸で考えられると思います。効率は、3倍や5倍にはそうそうならないので、やはり時間が一番大切で、効率はゼロにならなきゃいいくらいで僕は考えているんですね。
そうなった時に、時間を増やすにはどうしたらいいか。大変なことを自分の中でやろうとしても、大変なものは体力や精神力が削られちゃうので続かないんですよね。
僕は、プログラミングコンテストやアルゴリズムを考えるのはゲームだと思っているので、どちらかというと遊び時間の中で取り組んでいる感じです。そうなるともう、『ドラクエ』を買ったら一生終わらないのと同じで、一生プログラミングコンテストをやっているので、学習時間がすごいことになると思います。自分の好きなものはよく覚えるので、効率も実はちょっと上がっている。
そんな感じで、正直僕は効率を突き詰めるタイプではないと思っているんですが、とにかく楽しいことを技術の中で見つけてやり続けたことによってここまで来た部分があるんじゃないかなと思っています。
後藤:ありがとうございます。
後藤:まつもとさん、これについてはどのようにお考えですか?
まつもと:そうですね。私はプログラミングコンテストはぜんぜんダメなので(笑)、得意が違うということだと思うんですが、ベースとしておっしゃっていることは、ほぼ同じだと思っています。
プログラミング力が向上する人の共通点の1つは、今おっしゃったモチベーション、好きかどうかもありますが、やる気があるかどうかもあります。やはりモチベーションがない時には伸びないんですよね。「好きこそ物の上手なれ」という言葉もありますが、やる気がないとやはり続かないし、やる気もないし。そういうのはモチベーションが必要なんじゃないかなと思うんですね。
よく見ていると、プログラミングをやらなきゃいけない人の中で、「好きだ」とか「おもしろいからやっている」とか思う人はやはり全員ではありません。
もしプログラミングに才能が必要だと言うのなら、最初に必要なのは、「プログラミングがおもしろい」「もっとやりたい」「楽しい」と思うことができるかどうか。そこが実は一番入口の才能なんじゃないかなと思います。
その後の、例えば数学とかはジャンルによって必要だったり、要らなかったりするので。プログラミング全般の話をするならば、やはりプログラミングが好きか、おもしろいかどうかというところにあるんじゃないかなと思います。
2番目は、やはり経験を通じて学ぶので、コードを読む、コードを書くことをどのぐらいするかによって能力が伸びるんじゃないかなという気はしますね。
例えば私がプログラマーとして優秀だと思ってもらえるとするならば、それは、今までプログラムを開発するたびに問題を解決して、一つひとつ積み上げてきたものの経験値があるから、プログラマーとしての力があるとみなされているわけです。
それは、やはりモチベーションを持って続けてきたので、経験値が積み上がってできたのではないかなと思います。もう1度繰り返すと、モチベーションと、それから場数ですかね。どれだけコードを読んだか、コードを書いたかということになるんじゃないかなという気がします。
後藤:ありがとうございます。
後藤:楠さんにおうかがいします。日本としては、たぶん高橋さんのような人材を増やしたいと思っていると思います。例えば高橋さんのような、コードによってソフトウェアで素早く解決できる、もしくはロジカルに物を解くことができる人材を増やしていきたいという立場にいると思うのですが、日本という非常に大きな部分から考えて、デジタル庁は、こういった優れた人材を日本でもっと増やすためにどのように考えているのでしょうか?
楠:困りましたね。模範的な回答ができればいいんだけど、この分野に関していうと、たぶん国で言っていることと持論がだいぶ違うので、どこまで好きにしゃべっていいか悩みます。
chokudaiさんにしても、まつもとゆきひろさんにしても、トップレベルの方じゃないですか。もはやこういう人たちって、育てるというものではなくて育つというか、天からの恵み物のような方々だと考えたほうがよいと思っていて。
日本がほかの国と比べた時に、そういう方が少ないかというと決してそんなことはないと思うんですね。日本は初等教育も大変レベルが高いし、特に中等教育までの数学は、けっこう全体としても良いレベルで、しかもテクノロジーにアクセスする環境もあるから、自分の才能に気がつくチャンスも十分にあると思っています。
一方で、足りない、足りないという話が出てくるのは、これはけっこう社会の構造的な問題があるような気がしています。コードを書きたい人たちが、好きなコードを書ける環境に身を置いてもらえているかという問題であったり。
chokudaiさんもまつもとさんも1日は24時間なんですよね。それを10時間ではなく15時間働いてもらうのは、僕は違うと思うんです。むしろ、ほんの閃きの1時間で書いたプログラムであっても、それが何億回、何百億回と実行されることによってプログラムというのは価値が生まれてくるわけです。日本からGAFAが生まれてこないのは、アメリカと比べて天才プログラマーが少ないからだと勘違いしている人がおそらくいると思うんですが。
そうではなくて、そうやって天からの恵みのようにすごい能力を持った人たちは日本にも、中国やインドやアメリカにもいます。人数だけで見れば、分母の多いインドがひょっとしたら多いのかもしれませんが、アメリカがすごいのは、世界中のそういう人たちを集めて、彼らに対してすごくいい給料を払うところです。
プログラマーは、プログラムを書く時間によって価値が生まれるのではなくて、そのプログラムが実行されることによって価値が生まれる。たくさん実行されるプログラムを回していく環境があって、その富を分配して世界中から優秀な人を集めているのが今のアメリカ企業です。日本は残念ながらそうではなくて、1ヶ月働いたからあなたはいくらというプログラマーへのお金の払い方が今でも多い。
そうすると、たくさん人がいればたくさん売上が上がるという考え方になります。そりゃ、育てて増える部分、機会が増えれば増える部分はまったくないわけじゃないけれども。どうしても向き不向きで人がすごく限られてしまう中で、その人たちをこき使うのではなくて、その人たちが生んだプログラムを使い倒していって、富を生む。それをちゃんと分配して次の世代を育てていくという産業構造を上手に作れなかったことが、今日の日本のデジタル敗戦に結びついているような気がします。
そういう意味で、プログラマーを増やす前に、プログラマーを活かす社会をきちんと作っていかないと負け続けちゃうし、どんなに日本で優秀なプログラマーが増えたとしても、みんな西海岸に渡って行っちゃうんじゃないかという心配をしています。
後藤:ありがとうございます。
(次回へつづく)
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05