近頃、プログラミングに関係したアウトプットが多くなり、勉強会やカンファレンスなどに参加するようになった結果、Twitterにて職業エンジニアの方々と相互フォローになることが増え、タイムラインがエンジニア色になってきました。その結果、「駆け出しエンジニア」というキーワードも多く見かけるようになったのですが、駆け出しエンジニアを自称している方々のツイートを見ていると、「その学習法、遠回りなんじゃないかなぁ」と思うことが度々あります。プログラミングを習得したいという心意義は大変素晴らしいと思う一方で、習得するためにしている行動に対して以下のような疑問をよく抱きます。
プログラミングを学習して何をしたいの?
プログラミングスキルを身につけたとして、何がしたいのでしょうか。あるいはどうなりたいのでしょうか。自分の経験上、具体的な目標設定をすることが学習する上でとても大切です。具体的なゴールがない状態で無闇矢鱈に学習を続けるのは不毛に思えます。とりわけ、プログラミングはソフトウェアを開発するための道具ですから、具体的に作りたいものがないのに、プログラミングを学習するというのが、今の私には意味が分からないです。
そもそも、「プログラミングができるようになりたい」という目標って意味が分からないんですよね(私も一番最初に掲げた目標がこれで、その時は挫折しています)。
プログラミングから離れて考えてみます。例えば、木工スキルを身につける時、「木工ができるようになりたい」と思うでしょうか?「棚を作りたい」とか「机を作りたい」と思う方が動機としては自然な気がします。クギの打ち方や鋸の挽き方からはじめ、何種類もの工作機械の扱い方を全てマスターしてから棚や机を作るのって大変だと思いませんか?恐らく、棚や机など具体的な物を作る際に必要なことをその都度学んでいくのが普通だと思います。それで、効率を向上したいと思ったり、どうしても今持っている道具では難しいとなったり、ワンランク上の表現をしてみたいと思った時に、新しい道具を手に入れて扱い方を学ぶという風にコツコツやっていくのが妥当な気がします。
すなわち、具体性の欠けた目標を掲げるのではなく、具体的な目標を掲げる方が自然ですし、確実に達成していけそうです。他の例であれば、
- 料理ができるようになりたい → 〇〇という料理を美味しく作れるようになりたい
- ピアノが弾けるようになりたい → 〇〇という曲を弾けるようになりたい
- 英語ができるようになりたい → 国際グループチャットで英語で会話できるようになりたい
という風に具体的な目標を掲げた方ができるようになりそうですよね。(この件に付随する話では、やりたい事業が決まっていないのに起業したいって言っている人もよく分からないです。起業家になるのが夢ってものすごく中身がないように見えます。)
したがって、プログラミングにおいても、何か具体的なプロダクトを作るために必要な知識をその都度身につけていく方がスキルの習得には近道だと思います。具体的であればあるほど、やるべきことが明確になり良いと思います。例えば、「プログラミングができるようになりたい」から一歩進んで「アプリを作りたい」という目標にしたとしてもまだ具体性に欠けるのでダメです。もっと具体的な方が良いでしょう。というか、プロダクトのアイデアがないなら、まだ学ぶ時ではないと思って、見送ってもいいかもしれません。そういう意味では、プログラミング未経験でエンジニアではない人が、急にエンジニアに転職しようとして勉強し始めるというのも、今の自分には賢い選択だとは思えません。一方で、趣味で作りたいプロダクトを手がけていて、いつの間にかスキルは身についていたので、転職してみようというのはすごく納得がいきます。ここら辺、プログラミング学習を支援しているサービスを運営している方々はどう思っているのでしょうか。体系的な知識が詰まった教材を与える形式の支援方法よりも、具体的に作りたいものがある人を支援する方が良さそうな気がします。
本当はプログラミングができるようになりたいんじゃないのでは?
これは私の偏見がかなり入っていると思うのですが、駆け出しエンジニア宣言していて、自己啓発系のアウトプットが多い方々は、プログラミングができるようになることが目標ではなく、「有名になること」、「楽して稼ぐこと」、「なんとなくかっこいいイメージのあるエンジニアという存在になること」とかが真の目標なのではないかと少々疑ってしまいます。
なんというか、ものづくりってそういうことじゃないんだよなぁと思ったりします。本当にスキルを習得したいなら、ものづくりに対して真摯な態度で望むのが近道な気がします(というかそうであって欲しい)。きかっけは不純でも良いので(不純な方が意外と継続できたりする)、何処かのタイミングでエンジニアリングに対するこだわりを見つけて欲しいですね。