プログラミングを始めるにはどうすればいいか?
これを人に伝えるのは非常に難しい。
なぜこのような記事を書いているかというと、同僚にそれを伝えたい、伝えねばならないという問題に直面したからだ。
こっそり始める
やったことがないことに挑戦しようとするとき、まずどうするだろうか?
「やったことがない」とはつまり、その分野の知識がほとんどないということだ。
その挑戦が成功するか失敗するか、何もかも未知数で、本人さえどうなるかわからない。
であれば、スタートするときは慎重に進めた方がいい。
周りには黙って始めるのだ。
友達に相談して回ったり、大げさな分厚い本を何冊も買い込んだりせず、とにかくこっそりと自分だけの秘密として始めたほうがいい。
こっそり始めれば、応援してくれる人もいないが、期待や心配をする者もいない。
ノーリスク・ノーリターンの極めて自由な環境を手に入れることができる。
これはプログラミングという分野に挑戦しようとしている者にはとても重要なことだ。
なぜなら、プログラミングは本来、誰からも縛られることなく自由に「楽しむ」ものだからだ。
プログラミングの最初の目的は自分自身に学びの機会を与えることだ。
好きに勉強すればいい。
次の目的は自分の仕事を楽にすること。
複数のステップから成る作業を一つのコマンドにまとめるとか、何でもいいけどとにかく色々と工夫してみること。
これが実に楽しい。
そして最後に人を喜ばせること。
あなたのスキルを欲している人に応えることによって、その人に幸せを感じてもらえれば、それはあなたを活かす大事な仕事になる。
世の中を見渡せばたくさんの企業や新しいテクノロジーがしのぎを削っているが、プログラマーの仕事は誰かと比べてよりすごいものを作ることが本質ではない。
他人よりもすごいものを作る行為は「手段」であることを忘れないように(つまり他にも方法はたくさんある)。
あくまでも「目的」は人々(プログラマー本人も含む)を幸せにすることだ。
本屋さんに行こう
ではまず何から始めればいいか。
Web上でいろんなページを調べて回るのもいいが、最初にやるべきは、半日時間を作って本屋さんをぶらつくことだ。
Webの情報はある程度基礎的なスキルのある者にとってはとても便利だが、殆どの場合、初心者には優しくない。
僕自身のブログもそうだけど、本当にたくさんのことを端折って書いている。
反省はしているが、正直なところしょうがないのだ。
初心者だろうが上級者だろうが、本当にほしい知識を手に入れたければ本屋さんや図書館など、実際に本を手に取って読める場所に行くことだ。
あなたが初心者であれば、前提知識がなくてもとりあえず「読める」本を探そう。
何だかわからない部分はたくさんあるだろうが、とりあえず読み進めることができる本に出会えることが肝心だ。
そしてその本をなるべく雑に扱おう。
人間とは不思議なもので、雑に扱うと親近感を覚えることができる。
プログラミングの本だからと言って、パソコンをがつがついじりながら読まなければいけないなんてルールはない。
移動中でも休み時間でも、好きなときに取り出して、好きなところから読めばいい。
技術本(特に入門書)の構成としてよくあることだが、最初の3割程度は初歩的なつまらない内容に覆われていることが多い。
いきなり面白い内容を読みたかったら、目次を見て興味を惹かれた章から読み始めればいい。所謂「つまみ読み」だ。
興味を持った内容を理解したいけれど、そこで前提として使われている用語や概念で躓いたら、前に戻ったりWebで検索したりすればいいのだ。
そしてできれば本屋さんに通う習慣を身に付けよう。
プログラミングの世界は広い。
読んでも読んでも読みきれないほどの本がある。
その中で、本当に自分が欲している内容が書いてある本を見つけることができるのは、時間と労力を割いて努力した人だけだ。
日々の努力が楽しめる体質を作ろう。
そうすれば「重い腰を上げる」なんてことがそもそも無くなる。
情報に惑わされるな!
情報の古い・新しい、言語の流行り廃り、求人の多い言語・少ない言語・・・。
こういった「情報」に惑わされながらプログラミングの勉強をしたり、プログラミングを仕事にすることは本当に辛いことだ。
あなたが欲しているものが「情報」ではなく、スキルを高めるための知恵や知識であるならば、「情報」をうまく傍観する術を身に付けよう。
余計なものをそぎ落とし、本質に目を向けるのだ。
簡単な例を挙げよう。
- 今それを知っていることと、10年後にそれを覚えていることの価値は同等に思えるだろうか?
- その要求は10年前も必要だったし、10年後も必要だろうか?
- (自分も含めて)それを知らないことで本当に困っている人はいるだろうか?
- それは世の中を良い方向へ向けるだろうか?
目先のことに惑わされてはいけない。
あなたが周りから必要とされる人物となり、あなた自身が自分の人生や生活に満足して暮らしていくためには、それに必要な物事に集中し、それ以外のことは潔く忘れよう。
そうすれば、余計なものと本質とをうまく切り分けてコントロールすることができる。
(なぜこんな人生論的な話をここでしたかというと、僕はこのことをプログラマーという職業を通して学んだからだ。)
今から始めよう
今まさにプログラミングという分野に興味を掻き立てられているなら、その思いが消えないうちに行動してほしい。
何事もはずみがついたときに始めるのが一番だ。