これからプログラミングを勉強したい!!
・・・けど、まず何をしたら良いのか分からない。。。。
という方に向けた内容となっています。
何が分からないのか?が分からないような状態では勉強!と言えどあまり捗らないのではないかと思います。
目次
整理することが大切
そういった多くの場合では、情報が整理されていないことが原因です。
何をどう学び、何を得たいのか?
これらを整理してみましょう。
経験者の観点からプロセスを解説します
整理するにも参考情報が必要かと思います。
私は開発エンジニアでもありますので、知っている限りの情報は提供できたらと思います。
本記事では以下をまとめています
経験ゼロの状態からプログラマーとして仕事を得るまでの流れ
お役に立てれば幸いです。
この4ステップを抑えましょう
1.目標を決める
まずは、プログラミングを学んだ結果、どの分野でどれくらい活躍したいのかを決めましょう。
・趣味でコーディングしたい
・仕事として引き受けられるようになりたい
・パソコン1台で時間・場所に捕らわれず仕事をしたい
・プログラマーになって月収50万を得たい
などなど。
理由は人それぞれあると思います。
これをベースに、どんな言語をどれだけ学ぶ必要があるのか?を考えていきます。
というのも、単にプログラミングと言ったところで、実に様々な種類の言語があり、それぞれ特徴も異なれば、単価、製作物、環境も変わってきます。
やりたいことを整理しよう!
何を作りたいのか?
どのくらい稼ぎたいのか?
どんな働き方をしたいのか?
など、これらを整理した上で、学ぶ言語を選定しましょう。
2.言語を決める
目標を立てたら、学ぶべき言語が決まってきます。
ここでは、様々な言語がどういった分野で使用されているのかなどを紹介します。
Webサイト開発
特徴
・場所を問わず仕事をしやすい
・比較的簡単で、初心者に選ばれやすい
・単価は低め
言語
■必須!
HTML、CSS
■できればこれも!
Javascript、PHP
こういう人におすすめ
・ホームぺージを自作できるようになりたい
・好きな場所で好きな時間に仕事をしたい
・副業したい
これからプログラミングを学び始めたい!という方の多くがこちらを選びます。
『流行り』といった点が強いのかと思いますが、比較的簡単であることや、開発案件が多いという点も要因の1つと言えるでしょう。
ただし、1案件あたりの単価は低めな場合が多く、1本で生活していくには、2~3件は同時にこなしたいところです。数万程度の稼ぎであれば、3か月もあれば実現可能だと思います。
Webシステム開発
特徴
・複数人での開発
・ものによっては深夜作業も
・高単価が狙える
■必須!
PHP、Java、Javascript、Python、Perl、Rubyなど(案件による)
■できればこれも!
SQL
こういう人におすすめ
・ガッツリ仕事をしたい
・大きく稼ぎたい
Webサイト開発との違いは、『見た目』といった表面的な部分の開発か、内部的な制御の開発かという点です。こちらは後者の方になります。
よくあるWeb上での予約サービスや、決済システムなどの開発はこちらにあたります。
それなりに高度な技術が必要である分、高単価が狙える分野の1つです。
習得必須な言語は、案件によって様々です。
PHP、Javaあたりができれば、ある程度はカバーできますが、近年ではPython、Perlといったスクリプト言語も注目されています。
中でもPythonは、比較的簡単な割には単価が高いという特徴がありますので、やっておいて損は無いと思います。
実際の現場に出るには半年~1年程度は見た方が良いでしょう。
組み込みソフトウェア開発
特徴
・自宅作業は難しい
・ガッツリ機械をいじる
・高単価が狙える
■必須!
C言語
■できればこれも!
SQL、C++
こういう人におすすめ
・機械的なモノを作りたい
・システムのより深い部分を知りたい
恐らく、今回挙げている分野の中で、最も難易度が高いです。組み込みソフトウェアとは、機械に内蔵されるもので、自動車やエアコン、携帯電話や電車の自動改札機など、身の回りのほとんどの機械に組み込まれています。
多くの場合、開発する際には専用の環境が必要となるため、作業場所が限られます。
また、C言語は多くのプログラミング言語の原点となるものであるため、C言語を習得すると、他の多くの言語も習得しやすくなります。
物理的なモノづくりが好きな方は、こちらが向いているかもしれません。
作業者レベルであれば1年~2年、メインプログラマーであれば3年以上は見ておいた方が良いでしょう。単価はピンキリですが、20代で月収60万も現実的な数字です。
アプリケーション開発
特徴
・企業向け案件もあれば、消費者向けのものまで多様
・場所を問わず仕事をしやすい案件もある
・副業レベルのものもアリ
■必須!
VBA、Swift、C++、C#など(案件による)
■できればこれも!
C
こういう人におすすめ
・様々なモノを開発したい
・副業したい
アプリケーションとは、いわゆる『アプリ』です。
身近なのはスマホのゲーム辺りかと思いますが、パソコンに入っている電卓や、iTunesなどもこれに含まれます。
また、単純作業を自動化したいといった目的で、小規模なアプリケーション製作の依頼などもあり、副業としてやられている方もいらっしゃます。
中でもVBAは、エクセルがあれば開発できる、使いこなせるようになればツール製作者として重宝されるといった点があり、実際の企業でも使用することがあります。
3.実践して学ぶ
ここで言う『実践』とは、プログラマーとして現場に出るのではなく、『実際にコーディングをする』という意味です。
よく勉強するために、参考書や、ネットの情報を『見て』学ぼうとする方もいらっしゃいますが、個人的にはあまり意味が無いと思っています。
身に付けるためには以下の繰り返しです。
①コードを書く
②実行する
③思い通りに動いているか確認する
④思い通りに動かなければ原因を調べる
学習すべき言語が決まったら、さっそく簡単なコードを書いて動かしてみましょう。
実践するための環境をまとめてみました。
Progate
Progateでは、以下の言語を学習することができます。
・HTML/CSS
・JavaScript
・Ruby
・PHP
・Java
・Python
・Swift
・SQL
Progateって何?という方は、こちらの記事にまとめてあります。
⇒【プログラミング – 初心者】Progateで学習してみよう!
解説+実践がセットになっており、とても分かりやすく、初心者の方へは特におススメのサービスです。
特に専用のソフト等も不要で、パソコンとネット環境があれば学習できます。
エクセルVBA
エクセルでは、VBA(Visual Basic for Applications)という言語でプログラミングすることができます。
WindowsOSのPCと、エクセルがあれば取り組むことができます。
書籍やネットなどの参考情報を見ながら実際に動かして学習しましょう。
Visual Studio
こちらは本格的な開発環境です。
C、C++、C#などを学習する際にはこちらが便利です。
他の2つに比べると難易度は高めですが、実際の現場でもこちらを用いて開発していることも多いです。
学習目的であれば、無償版で十分です。
4.実務で学ぶ
完全に習得した訳じゃないからちょっと不安・・・
という方もいらっしゃるかと思いますが、最も勉強になるタイミングがココです。
実務では、教科書通りに行かないことも多くあり、そういった様々な経験を積むことで知識が増えていきます。
逆に言えば、実務をしないまま習得することは不可能です。
※私はよく怒られて学びました
言語によりますが、概ね半年~1年程度みっちりと勉強したら、実務に挑戦しましょう。
実際の案件などは、クラウドワークスやランサーズ等のクラウドソーシングサービスを活用されるのが最も簡単な方法かと思います。
さいごに
どの言語も、しっかりと継続して学習し『続ける』ことが大切です。
私も実際に開発を通じて勉強した経験が多く、実に奥が深いな~なんて感じていたりもします。
(それがまた楽しいのですが笑)
最初は大変なこともあるかもしれませんが、ある程度にできるようになってからは、どんどんと『楽しく』なってくると思います。
そこまで到達しましょう!