今朝、Kindleで本を読んでいたらプロコン関係の本が目に留まり、レビューや紹介ブログなどをみてこの本はホンモノやなぁ。。。と思いながら、今月は支払いが多いから「あとで買う」にしとこと。
世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~
- 作者: Gayle Laakmann McDowell,岡田佑一,小林啓倫
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/02/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
関連本として、紹介されていた以下の2冊をぽちりました。
若い人がイマドキの環境で「こうやったらうまく学べたよ」というメッセージが書かれていると思いポチったわけです。
じっくり読んだ。。。というわけではないので、もしかしたら間違っているかもしれませんが。。。
- 作者: miyati
- 発売日: 2019/04/12
- メディア: Kindle版
- この商品を含むブログを見る
こちらの方はRubyが好きな方なんだな。。。というのがよくわかるし、タイトルの通り、競プロを進める手順が詳しく書かれていて(しかも2019年なので昔の本とは違って間違いが少ないはず)参考になります。具体的な問題の解き方とかアルゴリズムの話はありません。とにかく始めたい人向けですね。
- 作者: 北村拓也
- 発売日: 2018/12/22
- メディア: Kindle版
- この商品を含むブログを見る
次はこれ。Ver.5とのことで、ずいぶんと売れている本なのではないかと想像します。
Web、ゲーム、AI、スマホアプリ、XRといま注目されているプログラミングをどういう道筋で学べばいいか書かれています。これだけ俯瞰した書籍は確かにないのではないでしょうか?それぞれの分野の経験者がブログやQiitaに書いている記事は見かけますが。
著者が最初の章で紹介しているプログラミング学習の基本8ステップがあります。以下、書籍からの引用です。
1.プログラミングを学ぶ目的を作る
2.自己評価を上げる
3.作りたい目標を決める
4.作るために何を学習すればいいか知る
5.作りたい物のための知識を得る
6.得た知識を組み合わせて作品を作る
7.作品を発表して改善する
8.人に教える
1〜3は精神論と著者も述べています。具体的には4からです。
本人がやりたいな〜と思えないことは学べないでしょうから、まさにその通りと思います。
でも。。。ここが難しい。
何となく「やりたいなぁ〜」とイメージしていることと、実際にやってみたときに感じる壁の高さとの間のギャップに挫折してしまう。。。
こういう状況を何とかするために、著者の方々は MOOCSを中心とした教育サービスを展開されているのだと思います。
スポーツだって語学だってちょっとした趣味だって、やってみたいなぁ〜と思うことを実際に始めるには壁がありますし、さらにそれを習慣化して1年以上続けることはさらに難しいと思います。
最近みかけたツイートによると筋トレを1年以上続けられる人は3%なんだとか。始められる人自体がそもそも少ないでしょうから、そこから実際にやり始めた人も長続きはしないってことです。
このエントリーを書こうと思ったのは、この本をdisりたいわけではありません。
ただ、プログラミングに興味を持った人が、この本を手にして、実際にやってみようとして挫折した人がいたら。。。ちょっと待ってねっていいたかったからです。
私の体験では時代が違いすぎるので参考にならないかもしれませんが。。。
今、プログラミングを学ぶ環境は整っています。パソコンとインターネットさえあれば、ほぼ無料で情報が手に入ります。必要なのはやる気と、欲を言えば仲間とメンターでしょう。
それでも、私がこの15年くらい見てきた学生さんの多くは、私が学生のときと同じように、大学生になるまでプログラミングしてアプリ開発したことがある人は稀ですし、実際に課題でプログラミングができるようになっても、自分のために努力して成果を出せる人は稀でした。
学生さんの名誉のために。。。私が知らないだけでいたのかもしれませんし、最近は在学中に成果を上げる学生さんも増えています。
そんな学生さん達も企業で働き出すとしっかりと仕事をされています。ここちょっと覚えておいてくださいね。
卒業した学生さん達に話を聞いたわけではありませんが、自分自身の経験と重ねると何となく想像できるんです。
私自身も小学生からパソコンを触り始め、ベーマガを写経してゲームを楽しんでいました。でも、自分でプログラムを一から書くことはありませんでしたし、よくわかりませんでした。
大学生になっても院生になっても、バイトや研究で必要なプログラムを書くには書きましたが、特に勉強らしい勉強はしませんでした。自信もありませんでしたし、「暇だな〜プログラムでも書くかぁ〜」とは思いませんでした。もっと楽しいことがありましたから。
長くなりそうですので、さっさと結論にたどり着きたいのですが。。。すいません。少々酒がまわっています。
著者が挙げた「何かやりたいこと作りたいことを決める」ってことが、実は普通の人には難しいのではないかってことなんですね。
本を読ませていただいたことだけではなく、自分が学生を指導してきて感じてきたことも背景としてあります。筋トレの例でも触れましたように、著者のように動機をもって始めた人が続けられるってだけでもうそれは凄いことなんですね。
そこが普通の人には難しい。。。それを私自身も体験してきましたし、そういう人もいるんじゃないかと想像するんです。
会社でコードを書くようになると、自分だけのためじゃないですから、失敗すると痛い目にあいます。自分だけのためであれば、何となく適当にコードを書いてもいいわけですが、お金をもらって仕事するとなると。。。やはりしっかりとコードを書かなきゃ、テストもしっかりしなきゃ(多くはメンターや上司にしっかり指導されるんですけどね)、そもそも開発する目的もお客様から与えられます。細部がわかってくるとどんどん面白くなっていきます。
会社で仕事をしていると、自分に特に作りたいものがなくても、お客様が課題を持ち込まれて、その課題を解決するために、技術を使うわけです。。。お医者さんが病気になった患者さんを医術で治療されるのと同じです。
もし、本を読んだり、サイトや動画をみてやってみたけどうまくいかなかった人も、ぜひ諦めないでください。著者の方が書かれているようにプログラミングができるようになることで、様々な未来が開けます。
まず、ソフトウェア開発の会社に入るために。。。勉強が必要なのかもしれませんが(そのためにこの本を手に取られるのでしょうけど。。。堂々巡りか。。。)。。。もし、入社前に十分に理解できなくて自信がもてなくても、とにかく何とか入社してしまえば、あとはそこで与えられた仕事を一生懸命こなしていればプログラミングはいずれできるようになります。
この著者の方と同様に、これからプログラミングを初める方を応援しています。
いち意見として☺️