こんにちは、フリーランスエンジニアのCOMです。
僕の詳しいプロフィールはこちら。
エンジニアになりたい人・フリーランスに興味がある人に向けてLINEマガジンの配信を開始しました。
プログラミングを身につけて、将来はプログラマーとして働きたい!
でも、何からやればいいの?
という方にむけて「プログラミング初心者は何からやればいいの?【フリーランスエンジニアが解説】」というテーマで解説していきます。
いろんな選択肢があります!
と言っても初心者の人は絶対迷うと思うので、この記事ではそんなことは書きません。
何をやればいいのかを具体的に解説します。
全部で3ステップです。
この記事を読み終える頃には、自分が今から何をすればいいかが明確になるはず。
僕は文系の他業界からエンジニアを目指して、本当に苦労して勉強をしてたので、その辺りも失敗例として紹介するので、
同じ失敗をしないよう、是非参考にしてください。
では、いきましょう!
プログラミング初心者は何からやればいいの?【フリーランスエンジニアが解説】

全部で3ステップです。
- 目的を決める
- 言語を決める
- 勉強を始める
- (+α)先駆者の失敗例を知る←時間があればでOK
順番に解説していきます。
①目標を決める
まずは、プログラミングを勉強する目的を決めましょう。
目的の例はこんな感じ。
- 手に職をつけて安定した生活を手に入れたい
- フリーランスエンジニアになって好きな場所で働きたい
- とにかくお金が稼ぎたい
- アプリを作って起業したい
- プログラミングスキルで副業したい
なんで目的を先に決めるかというと、何かあった時に頑張れないから。
目的がないと、勉強でつまづいた時に
となって、挫折してしまいます。
目的を先に決めるもう一つの理由は、無駄なことをしないためです。
プログラミングと一口にっても勉強するべきことは膨大にあります。
例えば、目的がツイッターみたいなWebアプリを作ることなのに、機械学習やAIについて勉強しても、意味はありません。
遠回りは時間とお金と体力の無駄でしかないので、できるだけ最短ルートを行ったほうがいいですよね?
だから最初に目的を決めることが最も大切なんです。
②言語を決める
次は勉強するプログラミング言語を決めましょう。
プログラミング言語は、
- 目的に合わせて選ぶ
- 需要に合わせて選ぶ
この二つです。
これ以外だと、作りたいものに合わせて選ぶというのがありますが、僕は作りたい物がない状態からプログラミングを勉強したし
これを選択肢に入れると迷う可能性があるので、今回除外します。
ちなみに、プログラミングを仕事にしてる人全員がプログラミングが好きで、作りたい物があるかというとそんなことはありません。
これも立派な意見ですし、最近はそういう人も増えてるので、心配なく。
目的に合わせて選ぶ
例えば、自分がフリーランスになって場所に囚われずに働きたいのであれば、場所に囚われにくい働き方を実践しやすい言語を身に着ける必要があります。
これは僕が実際に経験した話なんですが、昔僕はVB.netという言語で保険関係の大きなシステムを作ってました。
この現場はセキュリティが厳しく、パソコンは持ち出し禁止でした。
必ずしもVB.netがだめというわけではありませんが、言語によってはセキュリティやらなんやらの理由でリモートワークが禁止されてる現場があります。
場所に囚われない働き方であるリモートワークをしたいのであれば、そういう働き方をしやすい言語を勉強する必要があるということです。
僕はリモートワークがしたかったので、Web系の会社で多く使われているRubyを勉強したというわけです。
需要に合わせて選ぶ
- とにかく稼ぎたい
- 手に職をつけて安定したい
こう言った人は需要のある言語を選びましょう。
世の中は需要と供給で成り立っており、需要が高い言語であれば高い給料がもらえて、仕事も沢山あります。
需要が少ない言語を選んでしまうと、案件の数自体が少ないので、仕事を選べないかもしれません。
需要が少ないので、その分給料も少ないでしょう。
迷ったらとりあえず需要のある言語を選んでおけば間違いありません。
需要のある言語とは?
需要のある言語とは、Java・PHP・Ruby・JavaScript
この辺りです。
これは大手フリーランスエージェントレバテックのサイトから見れる求人数です。

引用:レバテックフリーランスより
JavaとPHPがTOP2です。
Javaは案件によっては、リモートワークができなかったりと、あまり自由じゃない印象ですが、需要はあります。
需要という点のみでみればこの二つから選べば間違いありません。
その通りなんですが、Rubyは働き方が自由+給料高めなのに、案件数がそこそこある。
という観点でおすすめしてるわけです。
僕の今の案件もRubyです。
いくら需要があるからといって、自分が働きたくない環境で働くのはキツイですからね。
JavaScriptが多い理由についてですが、JavaScriptはどのシステムにも大体いるので、単体の案件というより、
- 「Ruby+JavaScript」
- 「PHP+JavaScript」
のようになってます。
だから案件数が多く見えるんですね。
どの言語も基礎は一緒
言語選びの時に覚えてて欲しいのが、どの言語も基本的な構造は一緒なので、一度どれかの言語を習得すれば、応用がきくということ。
例えるならスマブラ。(僕がスマブラが好きなので)
- Yボタンを押せばジャンプ
- Aボタンで攻撃
- 上Bボタンで復帰技
といった基本は変わりませんが、キャラ(言語)によって挙動がちょっと違ったり、復帰技が上Bじゃなくて横Bだったりします。
スマブラやったことない人はすみません。
共通点があるから、一つの言語をまずは身につけましょうということです。
- 場所に囚われずに働きたいなら、RubyやPHP
- 安定して仕事したいなら、Java
こんな感じでOKです。
言語選びは大事ですが、やらないことには何も始まらないので、とりあえず勉強を始めましょう。
③勉強を始める
あとは始めるだけです。
ではどうやって学べばいいか?
それを解説します。
勉強は何からやればいいのか

大きく分けると2つの方法があります。
- 独学
- プログラミングスクール
①独学
プログラミングの勉強を市販の教材などを使って勉強する方法です。
今は、ProgateやUdemyをはじめ、多くの教材が出回っているので、独学でも勉強することが可能です。
しかし、個人的にこれはおすすめしません。
プログラミングをやってる自分に酔いたい人か、プログラミングを身に着けるまではいかないが教養としてやっておきたい人以外はやめた方がいいです。
たまに、
という意見がありますが、これは一部の天才か、今まで真面目に勉強に取り組んできた経験のある自制心の強い人のみに当てはまる話なので、
自分がその人間かどうかを客観視してください。
僕は今まで勉強を真面目にやったことのないアホだったので、独学は無理でした。笑
あと、独学だと何をやればいいのかの取捨選択ができないというデメリットもあります。
先ほども書いたように、今は沢山の教材が出回ってます。
なので、教材Aをやってたら教材Bもやったほうがいいという意見をネットでみてBもやって、現役エンジニアの先輩に教材Cを勧められてそっちもやって・・・。
みたいなことになりがち。
それだと遠回りになってしまいまい、時間の無駄です。
という人はこちらの記事をどうぞ。

②プログラミングスクール
もう一つの学習方法はプログラミングスクールに通うこと。
個人的にはこれがおすすめです。
僕自信、一旦市販の教材で勉強してみましたが、始めの環境構築でイライラして挫折しました。
今までパソコンにほぼ触れてこなかったので、当然ですね。
その後、プログラミングスクールに通ってなんとかエンジニアになれました。
プログラミングスクールなら、わからないことはすぐに現役エンジニアに質問できるし、教材に書いてあること以外の話も聴けたりします。
プログラミング学習の最初にして最大の難関「環境構築(プログラミングを自分のPCでできるようにする準備)」も難なく突破できます。
僕を始め多くの人がここで倒れます。笑
ここを突破できるのもスクールのメリットですね。
って人も大丈夫です。
無料のスクールもあります。
実際にどこがいいのか?はこちらの記事に書いてるので、参考にどうぞ。

スクールを選ぶ時のポイントはこちらを!
https://comblog.net/2019/07/11/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e3%82%b9%e3%82%af%e3%83%bc%e3%83%ab%e3%82%92%e9%81%b8%e3%81%b6%e6%99%82%e3%81%ae5%e3%81%a4%e3%81%ae%e3%83%81%e3%82%a7%e3%83%83%e3%82%af/
④(+α)先駆者の失敗例を知る

+αと書きましたが、実はここがめちゃくちゃ大事だったりします。
ミスした人の経験を知らないまま突撃して、同じミスを繰り返すのは攻略本を読まずにゲームするみたいな物。
ゲームならミスも楽しめるし、やり直しができますが、人生はそうはいきません。
最低限やってはいけないことを把握して、できるだけミスを減らせるように対策していきましょう。
一度に沢山のことをやらない
これやりがちなんですよね。
僕も昔やってしまったことあるのでわかるんですが、プログラミングを勉強しようと思うって何かしらのきっかけがある時なんですよね。
例えば、誰かの自己啓発本に影響されたとか、人生変えようと一念発起したとか。
それ自体は悪いことではなく、むしろ何もしないその他大勢と違って素晴らしいことなんですが、そういう熱意のある時って他にも一気に始めてしまうんですよね。
あなたがなんでもマルチにこなせるエリートならそれでもいいのですが、そんな方はなかなかいないです。
プログラミングは、他の勉強などと並行して勧められるほど簡単ではありません。
というか、毎日やることが大事なので、他のことと並行してやると、それが不可能になってしまいます。
なので、少しでも早くプログラミングを身につけたいならできるだけ他のことは一旦諦めて、プログラミングだけに集中しましょう。
細かい理解より全体の把握を優先する
このツイートに全てが詰まってます。
勉強効率が悪いひとは、なんでもしっかり知ろうとしすぎ。
スイッチひとつで暖房つけたりお風呂沸かしたりしていて、別にその仕組みを詳しく知ろうとしないでしょ。
それと同じで、何か使いたいものがあるときは「原因と結果」だけ把握すればとりあえず OK。それで使えるから。
— かねこたくや∞@伸びるエンジニア育成中 (@mc_chinju) February 1, 2021
これもやってしまう人が沢山います。
プログラミングは細かい部分まで理解し始めるときりがありませんし、不可能です。
これは本当に多くの人が陥ってしまうので、気をつけてください。
これを書いたらこうなるのか。初めのうちはこれでOK。
何ヶ月か勉強して、細かい部分まで知りたくなったら、その時検索してみましょう。
もっと知りたい方はこちらの記事をどうぞ。

挫折は存在しない(気合ある人むけ)
これは僕の個人的な意見です。
極論なので、嫌な人は読まないでください。
って人は読んでください。
プログラミングの勉強は難しいです。
多くの人が挫折してしまいます。
では、なんで挫折してしまうのでしょうか?
- やってみたら向いてなかった
- 家庭環境がよくなかった
いろいろ意見はあると思います。
僕はFラン大学卒でエンジニアをやってると、
と言われます。
正直言って大変でした。
始めの頃は平日は毎日2-3時間、土日は8時間。
わからないことがあったら質問して、毎日PCに向い、勉強。
では、なぜ挫折しなかったのかというと、挫折という選択肢を自分の中から消していたからです。
挫折する人がなぜ挫折するかというと挫折するという選択肢を自分の中に残してるからなんですよね。(極論)
僕は万が一挫折したら、また小売店に戻ってゴミみたいな環境で働くなんて絶対嫌だったので、挫折できませんでした。
周囲にも
と宣言しまくって、引けない環境に自分を追い込んでました。
絶対にエンジニアになりたい人で、メンタル強めの人は、
自分を追い込むような環境にして、挫折という選択肢をそもそもなくすと挫折しないので、ぜひ試してください。
プログラミング初心者は何からやればいいの?【フリーランスエンジニアが解説】〜まとめ〜

いかがでしょうか?
プログラミング初心者が勉強を始めるときに、何からやればいいかを解説していきました。
もうこれで何からやればいいかわかるはずです。
あとは行動するだけ。
やる前にどれだけ悩んで、どれだけ調べてもやらないことには何も始まりません。
どんな小さなことでもいいので、まずは行動してみましょう。
この記事が少しでも初心者のみなさんの役に立ったなら嬉しいです。

エンジニアになりたい人・フリーランスに興味がある人に向けてLINEマガジンの配信を開始しました。
登録してもらえると嬉しいです。
エンジニアになるのに大切な情報を網羅したので、きっと参考になるはず。
今回も最後まで読んでくれて、ありがとうございました!
では、また!