プログラミングスキルがあれば役に立つ、これからの時代英語よりもプログラミングだ、とここ数年各所で耳にします。英語よりもプログラミングが役立つかどうかは見方によっても変わってきますが、少なくともプログラミングはスキルをお金にしやすいという特徴があります。
たとえば英語の翻訳などはネイティブレベルの英語力がないと仕事になりません。英語の勉強を始めて数ヶ月程度のレベルだと、お金をもらって仕事を受けるようなレベルには到達できないでしょう。
一方で、プログラミングの場合一部の天才プログラマーのようなスキルを持たなくても、十分仕事になります。完全未経験の状態から勉強を始めて3ヶ月程度で仕事を個人で受注するケースは多々あり、早い人は数週間~1ヵ月程度の勉強で仕事を始めています。
このように個人のスキルに応じた仕事が用意されているのがプログラミングのメリットですが、効率的にスキルアップして仕事につなげるにはコツがあります。収益目的ではなく趣味でプログラミングをするにしても、狙ったスキルを身に付けてプログラミングを楽しむためのコツがあるので、紹介していきます。
勉強を始める前に目的を明確にする!
まず大前提として、プログラミングの世界は膨大です。プログラミングのすべてを把握しているプログラマーはこの世には存在しません。プログラミング言語の種類も数多く、一つ一つの言語の中にも一般には知られていないコードやロジックが多数存在します。
基礎の基礎と言われるループ処理や条件分岐処理などはどの言語でも共通で、プログラミングを勉強するなら絶対に理解する必要があります。しかし、次のステップを踏み出す際にはプログラミングで何を作りたいのか、何に役立てたいのか、を明確にすることが必須になります。
「こんなアプリを作りたい」「こんな仕事をやってみたい」などなんでも良いのですが、目的に合った勉強をしなければなりません。学校で習うような数学、英語、社会、理科といった科目は、教科書や問題集を前から順に勉強するのが王道です。
たしかにプログラミングにも基礎の部分は存在し、10段階でレベル1の部分は何を作るにしても共通しています。しかしレベル2になるとかなり枝分かれしており、目的とずれた内容の勉強をしてしまうと極端に言えば物理で点数を取りたいのに生物の勉強をしているような状況になってしまいます。
理科の場合わかりやすく生物、物理、化学と分かれていますが、プログラミングの場合そこまできっちり分かれているわけではなくて、各種アプリケーション開発に必要なスキルが重複していたりそうでなかったりします。
一つスキルアップしておけば他のアプリケーションやプログラミング言語にも応用が利くのですが、とりあえずは目的に対して最短ルートで勉強することをおすすめします。
目的って言われてもまだ決まってないんだけど・・・
「役立つらしいしプログラミングでも始めてみようかな」「儲かるならプログラミングいいんじゃね?」といった段階では、当然具体的な目標はまだ定まっていないはずです。それに関しては、まったく問題ありません。
すぐに目的は決まります。まず最初に決めるべきことは、趣味にしたいのか、お金にしたいのか、という点です。趣味にしたい場合は、何を作っても良いです。たとえば計算機が作ってみたい、棒人間のゲームを作ってみたい、など何でも良いでしょう。
強いて言うならハードルを上げ過ぎると作っている途中で挫折する可能性が高いので、ネットや本で探してみて簡単そうに思えるものからトライしていくと良いでしょう。趣味なら納期などもないので、やってみて難しかったら基礎を勉強しなおすことも可能なので、あまり勉強と身構えずに適当に書いてみるのがおすすめです。
今はネットでも本でもゼロから簡単なアプリケーションの作り方を解説しているものがあるので、とりあえず見よう見まねで環境構築から始めてみるのが良いでしょう。基本のテキストでクラス、オブジェクト、変数、オーバーライド、といった概念を先に学んでも良いのですが、アプリケーションを作りながらでも学べますし、趣味にしては勉強感が強すぎてつまらなくなるかもしれません。
趣味ならきっちり押さえるよりも楽しむことが重要なので、何はともあえれアプリケーション開発にチャレンジです。
お金を稼ぎたいなら仕事のリサーチが先
これからプログラミングを勉強して転職したい、副業でお金をもらいたい、フリーランスエンジニアになりたい、といった方も多いでしょう。転職、副業、フリーランスについてはそれぞれ以下の記事で紹介していますので、まずそこが気になるという方は参考にしてみてください。
副業やるならローリスクハイリターンで!プログラミングを選ぶ理由
どのような働き方を選択するにしても、まずは市場をある程度把握し、具体的にどんな仕事があるのかをチェックします。転職なら求人ページを見れば求めているスキルが記載されており、副業で仕事を受注する場合も案件ページを見れば必要スキルが記載されています。
特に受注の案件ページにはたとえばVBAでこんなツールを作ってほしい、HTMLとCSSでこんな画面を書いてほしい、と明確に指定されています。なるべく案件数が多く、簡単そうな言語とアプリを選択して勉強すれば良いのです。
受注で稼ぎたいならいきなり単価が高くて難しい言語を選ぶのではなく、具体的にはHTML、CSS、JavaScriptなど直感的に実装しやすいものから選択し、それに慣れてきたらPHPなど小規模なシステム開発に使われていて、なおかつ案件数も多い人気の言語を勉強するのがおすすめです。
または、VBAなども単体で完結するので初心者から徐々に仕事を取っていく際のステップアップとしておすすめです。案件の募集はネットでも簡単に見ることができ、その際に活用すべきおすすめサイトやその使い方については以下の記事で紹介しています。
プログラミングの仕事を受注したい!便利なサイトや仕事獲得の流れ
あとは目的に合った勉強をするだけ!
必要なスキルさえ明確になれば、後は最短ルートで勉強を進めることができます。たとえば受注したい場合は、とりあえず受注に必要なスキルを身に付けて、あとは案件受注しながら仕事を通してスキルアップしていくことができます。
なので、まずは短期間でスキルが身に付くHTML、CSS、JavaScript、VBAなどを選択し、受注していけば良いのです。ただしどのような案件が多いのかはトレンドによって変わってくるので、案件紹介サイトなどでチェックしてください。
転職希望の場合もその会社で使っている環境を実際に作ってみて手を動かすことが重要なので、まずは環境構築して書いてみて、そのことを面接でアピールしましょう。目的を明確化したら、あとはひたすらトライ&エラーでスキルアップしていくだけです。
ちなみにプログラミングの具体的な勉強方法は非常にシンプルなのですが、それについては以下の記事で解説しています。