僕は31歳からプログラミングを勉強し始めました。
「プログラミングはできて当たり前。」
そんな時代がくることが予想ができたので、最初の一歩を踏み出しました。
プログラミング勉強してみたいけど、
どうやって勉強したらいいの?
独学って大変なの?
今回のブログでは、プログラミングの独学を3年以上継続している僕が、ノンプログラマーの視点から、そんなお悩みにとことん答えていきたいと考えています。
僕自身、もっと早くを知っていれば、断然成長スピードが早かっただろうなという情報を書いていきます。
プログラミングをゼロから学びたい
ノンプログラマーがプログラムを学ぶメリットを知りたい
独学で勉強してみたけど、勉強が続かない
目的は明確にできなくていい
目的を明確にするにも知識と経験が必要
何かを学ぶ上では、目的を明確にすることは非常に重要です。
例えば、仮に歌手を目指すとしたら、ボイストレーニングや発声練習をしますよね。
サーカーの練習をどんなに頑張っても意味がないわけです。
つまり目的が分かれば、それに合わせた勉強や練習ができます。
プログラミングで言うならば、以下のようなことが挙げられます。
- 業務の効率化をしたい
- ゲームをつくりたい
- 機械学習の開発がしたい
- スマホのアプリ開発がしたい
でも、「いきなり目的を明確にせよ」と言われても、
プログラミングの具体的なイメージも全くできていないのに、正直辛くないですか?
僕は「うーん、やってみないとピンと来ないなあ」って思ってました。
一つの言語に絞り、その他の選択肢を捨てる
ただし、目的が明確ではなかったとしても、言語を一つに絞る必要はあります。
プログラムを書く機械語は「言語」と呼ばれていて、種類がたくさんあります。
優柔不断な僕は、Ruby、Python、PHP、JavaScript、C+など、さまざまな言語を勉強しましたが、
あるとき、これでは一向に成長できないことに気がつきました。(当たり前?!笑)
結果的に、僕はPython一筋に行き着くのですが、もしも一つに絞りきれない場合は、1ヶ月ずつ勉強をしてみて、最終的にどれにするかを決める、そんなやり方をオススメします。
でも、なんでPythonに決めたの?
では、結果的に僕がPythonがいいなと思ったわけをこれからお話します。
Pythonの需要は間違いなく伸びる
ノンプログラマーの武器は、業務の自動化
僕はWEB開発(主に、WEBアプリやWEBサイトを作成すること)には、あまり惹かれませんでした。
なぜかというと、今後、WEB開発はもう少し凡庸的になるだろうなと思ったからです。
技術レベルが高くなければ希少価値を得られないのであれば、
ノンプログラマーとして、その領域に参入するのはあまり意味がないと感じました。
そして僕はマーケターという仕事柄、ワクワクするのは「自動化」だったり、「データ分析」「機械学習」の領域でした。
それにぴったりの言語はPython、というのでまずかなり優先度が上がりました。
Pythonの価値がこれから上がり続ける
2018年、僕がPythonを学び始める少し前から、本屋のプラグラミングコーナーのPython本の占める割合が非常に大きくなっていきました。
それもそのはずで、当時のMIT(マサチューセッツ工科大学)の学生のプラグラミング言語の人気ランキングでは堂々の第3位。
飛ぶ鳥を落とす勢いで駆け上がり、この記事を書いている今、ランキング2位になっています。
Python(パイソン)」は、世界で最も人気のあるプログラミング言語のひとつだ。その人気はさらに高まっている。調査会社RedMonkが公開した最新のプログラミング言語人気ランキングで、Pythonは3位から2位タイへと順位が上がったのだ。
WIRED「プログラミング言語「Python」の人気が止まらない理由とは? 人気ランキングから見えてきたこと」
僕はプログラミングが遅かったので、これから発展する言語とともに、一緒に成長したいと考えていました。
シンプルで学びやすい
Pythonのよく言われる、そして最も大きな特徴の一つとして、使いやすさが挙げられます。
多くの言語をかじった僕の感想としても、断然理解しやすく、もっともシンプルで、スタイリッシュな言語はPythonでした。
もちろん用途によってはPython以外の選択肢も往々にあるわけですが、初心者がプログラミングを楽しむためには、最高の言語だと感じています。
プロの力を借りれば、ショートカットできる
独学はとにかく時間がかかる
プログラミングは独学でもできるのなの?
そう聞かれたら、答えは Yes です。
でも、独学の際の問題はそこではなく、学習スピードです。
例えば、大工さんを雇わずに、家を自分で建てることを考えてみてください。
全くの素人には、どうしたものか悩ましいですよね。
プログラミング初心者がプログラミングを学ぶこともそれに似ていると思います。
時間は有限です。
何よりも怖いのが、迷いながら進めていくうちに、考えるのに疲れて、学習を止めてしまうことです。
どんなに時間がかかっても、継続していれば成長のチャンスがありますが、止めてしまったら、何事も再起は難しいものです。
だからこそ、しっかりとしたプロのアドバイスを受けながら、学習をすることも非常に重要だと思っています。
プログラミングを自己投資にする
プログラミング学習は、お金と時間をかけてでもするべき理由の一つには、費用対効果がとても高いことが挙げられます。
今やWebやITに全く無関係のビジネスはほとんどありません。
どんな職場であろうと、何かしらの作業に貢献することができます。
仮に、会社員として働くことが難しい状況になったとしても、しっかりとしたスキルがあれば、自分の力でお金を稼ぐこともしやすいです。
プログラミング学習は、自信、安心、自立を与えてくれる投資だと思えば、時間を奪われようがお金がかかろうが、かなりの確率でペイできる投資だと考えています。
向き・不向きは気にしても意味がない
プログラムの基本は簡単なもの
プログラミングに向き・不向きってあるの?
僕自身は、その質問には意味がないと思っています。
何事もやりたければやるべきだし、向いてないよと言われてやらないならその程度だからです。
その上で、プログラミングに興味を持った時点で、すでに向いているのではないかなと思います。
多くの初心者が思うほど、実はプログラミングは難しくはありません。
正確に言うと、高度なプログラムはあるけれど、そのレベルにいかなくても、プログラミングは非常に楽しいものだし、役に立ちます。
そういった意味で、プログラムを生業とするかどうかは別として、プログラミングを学ぶ、学ばないという判断をするのに、向き不向きは関係ありません。
文系よりも理系が有利なのは事実
僕は文系、理系という棲み分けが好きではありませんが、あえて分かりやすく、文系・理系という言葉を使います。
文系の人は、プログラミングを学ぶ上で不利なことが多くあります。
数字を多く使うというよりは、プログラムと数式の立て方や、数学の証明などの考え方が似ている部分があるからです。
もちろん、微分・積分や、統計学などを学ばないと考えられないプログラムもごまんとあります。
でも、安心してください。
ノンプログラマーの人が困るほどには文系・理系の差は関係がないのが現実です。
エンジニアとして、大規模なプロジェクトを動かしたいとなったときや、
数学的な素養を求められるプロジェクトに参画する際には困る、という話です。
プロのエンジニアでも、文系出身の人が数多くいるのは、
それでも全く困っていないということの証です。
継続、それに尽きる
継続はもっとも難しい
これからプログラミングを学ぶ上で、いろんな情報収集をするはずです。
Youtube、SNS、ブログ、専門書、掲示板、いろんなところでいろんなことが書いていますが、
できるようになるために必要なこと共通はしています。
それは、継続することです。
「何を当たり前のことを言ってるんだ!」
そう思うかもしれません。でも、それができないのが現実です。
試しに一ヶ月やってみれば実感するはずです。
最初の一週間は楽しいし、得るものも多い。
でも、一ヶ月後にはなぜか止めてしまうのです。
たった一ヶ月でもけっこう難しいんですよ、これが。
成長しない、でも継続
継続できない理由は、多くの場合、損得勘定で図ってしまうためです。
例えば「プログラミングで月収100万稼げる」と聞いて始めてみたものの、
やってみたら、そのレベルに到達するのには、相当の時間と努力が必要だという現実を知ってしまったり、
多かれ少なかれ、損得感情が働くと継続を妨害します。
できるようになるための戦略、戦術、ハウツー、ノウハウはごまんとあります。
でも、それらは本当は重要ではありません。
「やってみよう、続けてみよう。」
日々の継続には、目先の利益ではなく、ただシンプルにそう思うことの方が重要なのです。
まとめ
プログラミングをなぜ勉強しているの?と聞かれたら、「とにかく楽しいから」です。
実は最初はそうでもありませんでした。
ただただ、コードをかけるようになるために無理やり時間をつくって、あまり楽しくない勉強を続けていました。
なぜ楽しくなったのか。
それは、続けているうちにプログラミングのことを少しずつ理解できたからです。
正直、そう感じるまでに1年半近くかかってしまいました。
独学で勉強した僕がプロに習うことをおすすめするのはそんな理由からです。
多くの人が少しでも早く、その感覚を味わえることができたら。
それは、実はこのブログを継続している理由でもあるのです。
コメント