プログラミングしてみたいとぼんやり考えている仮想的な若者を妄想しながら書いた.
プログラミングは, おそらく多くの人が触れたことがないからだろう, 特別扱いされるきらいがあるように感じる.
よく話題に上がることであるが, 最近「プログラミングは簡単!」「一ヶ月でプログラマになれる!」のようなキャッチコピーを売りにしたサービスなどが多い. そういうものを見るたび, たとえできたとしても, それは本当に目的に合致しているのか考えてしまう.
料理だって, 一ヶ月あればできるようになると思う. ただし決して, それだけでお金を儲けられるということではない.
これは料理に限らない. スポーツだって, 日々の練習があるからちゃんとプロたりえているし, 自動車の整備士だって, 普段やって慣れているから安心して任せられる. そういうものだとみんな知っている.
もちろん, プログラマだって, コードを書いたり勉強したり, そういうことは必要なはずである.
料理教室, 英会話教室や, 資格講座, パソコン教室などがある. 学校も加えても良いかもしれない.
そういうものをみて, カリキュラムを終えたらゴールだとは思わないと思う. あくまで入り口として有用なものである.
ビジネスなのだから, 良いことを売りにするのは当然である. [『苦しんで覚えるC言語』](http://amzn.to/2htZRFi)のような稀有なケースもあるが, 大抵の人は苦しみたくないと思うので, 「明快!」とか「猫でも分かる」とか, 「n日でできる」ほうが心地よいと感じるであろう. また, カリキュラムを終えたら一人前な方が良いと思うので, そういうことを売りにしようとするであろう.
※ここで言う「[ポジショントーク](http://d.hatena.ne.jp/keyword/%A5%DD%A5%B8%A5%B7%A5%E7%A5%F3%A5%C8%A1%BC%A5%AF)」は誤用としての意味であるが, ぴったりなので使いたい. 正しい意味はリンク先を参照されたい.
プログラマに聞けば, 「プログラミングは楽しい!」答えると思う.
料理人に聞けば, 料理は楽しいと答えるだろうし, プロ野球選手に聞けば野球は楽しいと答えるだろう.
人によって合う合わないはあるだろう. 少なくとも, プロとして働いてる人は, 意識的であれ無意識的であれ, 続けようと思った人である.
工作を好きな人は多いと思う. プラモデルとか体験教室とかは, お金を払ってでも工作を楽しみたい良い例だと思う. プログラミングもその中に加えたい.
教室などで, プログラミングでアプリを作ってみることは楽しいと感じたとして, では次それが仕事になってまで楽しいかといえばそうとは限らない.
創作が楽しいからといって, 美味しくもない料理を出すわけにはいかない.
プロにはもちろん責任が伴うし, すべてが自分の思い通りなわけではない.
とはいえ, 少なくとも自分は, 時にはつらくても, 最終的には楽しんでいるので, 世の中そういう人もいっぱいいると信じているし, いてほしいとも思っている. そう信じているが, あくまで自分の感情なので, 自分がプログラミングを教える時, どうしてもその人にとって本当に幸せか考えてしまい, ジレンマを感じる.
もし今あなたが誰かに教わっているなら, ここまで考えてどう思ったかを, その人に伝えてあげてほしい.
自分は, プログラミングを昔からしてきたから, 論理的思考力が身について, 大学受験もうまくいった気がしているし, バイトもプログラミングのお陰で人並みに稼ぐことができた. PCの使い方に慣れて, 検索や, 情報の真偽判断もうまくなった気がする. もちろん, ただの結果論であって, 因果関係の保証はない.
もし自分がプログラミングの価値はなかったといえば, それは同時に自分の人生を否定することに繋がる. 自分は一定の自尊感情を持って生きているので, 自分の過去の生き方について一定肯定し, その結果プログラミングに価値を見出しているにすぎない.
プログラミングは楽しい?の節とほぼ同じ内容だが, プログラミングに限らず, そういうものだと思う.
プログラミングは手段という考えは浸透しつつあるように思う. 同時に, プログラミングができると何ができる?という質問をされることもよくある.
大きなもので言えば, 人工知能と騒がれているものだったり, LINEやTwitterだったり, いろんなアプリだったりゲームだったり, WEBやメールといった大きなシステムも, プログラミングの延長であると言えると思う.
ただし, そういうものは, 何十人, 何百人という, エンジニアだけでなくデザイナー, 企画, マネージャーなどが何年も協力してできていて, また, エンジニアだけでもフロントエンドエンジニア, サーバーサイドエンジニア, インフラエンジニア, グラフィックエンジニア, ……とても多くの, 各部分のスペシャリストが作っていることを知る必要がある.
一人でできる範囲は, それほど大きくはない.
小さなことで言えば, 計算などを, 電卓よりもプログラミングをしたほうが速いという話がある. 僕の場合は, 確かにくり返し同じような計算をする場合や, 複雑な式の場合は, そうかもしれない.
但し注意すべきは, なにか新しいことができるようになれば, 他にもできるようになることが増えるのは当たり前である. 軽いプログラミングができることは、それほど価値があるのか?
プロとしてのプログラミングをしなくても, アマチュアとしての仕事もある.
ホテルの料理人は, 一人で良いものを作ることを求められる. 一方で, 飲食チェーンでのアルバイトぐらいなら, そこまでは求められないだろう.
また, オーナーとしても, 料理に関する知識を持っていれば有利なことはあると思う. デザイナーやマネージャーがプログラミングをする目的である.
何事も, 一度やってみることは価値があると思う. 自分は田舎育ちかつ父親の影響もあり, 自転車のパンク修理や, 車のタイヤ交換等は, 家で行っている.
本職ではなくても, お金の節約になるし, いつでもできるというのはメリットではある.
将来の選択を決めかねている場合でも, やってみないと楽しいかどうかも判断できないので, やってみることは決して否定しないし, プログラミングに関して言えば自分はもっと広めたい立場なので, ぜひやってみて欲しいとも思っている.
偉そうに書いておいて, 自分自身全然社会の波に揉まれてるような年齢じゃないし, 人生めっちゃ成功しているわけでもない.
全てにおいて, 僕がプログラミングに近い立場にいるからこそ言えたことだし, 自分が違うことをしていれば多分こうは言っていなかっただろう.
もしコメントを読んで自分が間違っていたとか、扇動的だと思えば記事を削除するし, そうやって考えを成長させていく. ネットの1記事というのはそういうものだと思っているし, そういう目線で読んでほしいとも思っている.
ビッグデータ, 人工知能, プログラミング, そういう流行り言葉に踊らされて, 大事なものを見失わないでほしい.
意志を持って学びたい人を邪魔する人はいない. みんなプログラミングが大好きだし, 広めたいと思っているはず. 自分含め.