プログラミング学習を始めようと考えている初心者に向けた記事です。
本記事では、プログラミングの学習方法を紹介します。
本記事を読むことで、「プログラミング学習方法」のヒントがつかめるはずです。
- プログラミング学習の目標設定
- プログラミングの具体的な始め方
- 学習の後のキャリア
これらのことがイメージできるようになると思います。
本記事を書いている私は、プログラミング歴6〜7年ほどです。
現在は社内SE兼プログラマとしてプログラミングを書いたり、趣味でプログラミングをしています。
※:私はWeb系の言語を得意とするエンジニアなので、Web系言語中心の話になります。
- 目標設定:必要ない(してもいいけど)
- 事前準備:パソコンを用意(できたらMac)
- 学習方法:基礎→応用(簡単なサイト作成)
- 実践方法:社内でアピール or 就職 or フリーランス独立
無料でプログラミングを学ぼう
本題に入る前に、無料でプログラミングが学べるサービスGraspyの紹介です。
わからないところは無料で、メンターに質問が無料でできます。
プログラミングを教わりたいけど、有料のプログラミングスクールは高すぎる!と感じている方にぜひ、おすすめしたいサービスです。
Graspyの会員登録はこちら→Graspy
目次
目標設定:必要ない(してもいいけど)
今、社内SE兼プログラマとしてプログラムを書いて食べていますが、当初の目標とは違うしキャリアを歩んでいます。
上記事でも書いていますが、当初の目標とは違うところにいます。
私は、アフィリエイトの延長でプログラミングを始めました。
なので、プログラミングを始めた頃は、アフィリエイトサイトの自動化を目標にやっていたんです。
しかし、プログラミングを学んでいくうちにアフィリエイトより、コードを書くことに魅力を感じていくようになりました。
そうなってからはアプリを作るとかフリーランスで仕事をとるといったことを目標にするようになりました。(しかし、途中で挫折。。)
で、現在は先ほども言った通り、社内SE兼プログラマです。
何が言いたいかと言うと、プログラムを学んでいく上で目標は変わっています。
プログラム学習前には知らなかったことをどんどん吸収して行きますので、目標は変わってもいいんです。
なので最初に目標設定をしても良いけど、変わる可能性があることを頭の片隅に入れておいてください。
目標設定はしても、しなくても良いというのが私の見解です。
スポンサーリンク
プログラムを学んでいくと、プログラムが必要ないと学ぶこともある
もっと言うと、プログラムを学んでいくと、自分にはプログラムが必要ない、向いていないと学ぶこともあります。
以前、テックキャンプというプログラミングスクールに通っていたのですが、そこでできた仲間の中には、プログラマーとして働くことを諦めた方が何人かいました。
その人たちが言っていたのは、こんなことです。
「プログラミングをやってみたけど向いていないことがわかった」
「こんな天才には勝てない、好きでやっている人には勝てない」
ただし、それらの人もプログラムを学習したことは後悔していなかったです。
「自分はプログラミングは向いていない」
もっと言うと、「自分にはプログラミングは必要ない」と言うことがわかっただけでも今後の人生に良い影響を与えると言っていました。
なのでプログラミング勉強を挫折しても無駄にはなりませんのでご安心ください。
プログラミングを学んで後悔している人を私は見たことがありません。
- 営業をやっているがエンジニアと意思疎通ができる
- 表計算等の汎用ソフトの自動化できる
などと言う感じで、プログラミングを学ぶことはプログラマーやSEにならなくても役に立つことが多いからです。
事前準備:パソコンを用意(できたらMac)
使用するパソコンは答えから言うと、どちらでもいいし、やりたいことで適したOSは決まります。
ちなみに私は両方持っています。(Macをメインに、Windowsはほとんど使っていませんが・・・)
しいて言うなら、フリーランスを目指し、Web系の案件をこなしたいならMacが良いと思います。
あと、MacにWindowsを入れることもできるので、もし、最悪Windowsが必要になったらMacに入れればいいです。
あと、Macは直感的で使いやすいです。
Macを使ってしまうとWindowsに戻れません。
お金に余裕があるならMacを選んでおけば間違い無いでしょう。
記事掲載時点では、Appleの分割金利が0%なので分割を利用するのもありです。
あと、余談ですがApple製品は人気があるので売る時もそれなりの価格で売れます。
Windowsが適している場合
お金に余裕がないか、JavaをやるならWindowsが良いと思います。
あと、目指している会社や先輩がWindowsを使っている場合は、Windowsを使っても良いでしょう。
それ以外の場合でWindowsを使う理由は個人的には思いつきません。
学習方法:基礎→応用(簡単なサイト作成)
学習方法は基礎を固めて、簡単なサイトを作るのが良いと思います。
簡単なサイトもローカル環境で作ってしまえば、セキュリティーを気にする必要は基本的にありません。
独学でやる場合も、プログラミングスクールに通う場合も、社内教育を受ける場合も基本的にこの流れです。
どのように学習を進める場合にも言えることですが、最初から完璧に理解する必要はありません。
特に、プログラミングスクールや社内研修では質問できる立場にあると思うので、
「この時点で絶対に抑えて置かなければならないことは何か?」
「この部分は理解不十分のままで進むのもありか?」
などと聞くといいでしょう。
独学の場合は、基本的に質問ができません。
そのため、30分悩んでわからなければ飛ばす。のようなルールを設けて学習を進めて行きましょう。
書籍で例えると、1周目の理解度は30%程度で問題ないです。
2周目は50%のような感じで、周を重ねるごとに理解度が増していけば問題ないです。
どうしてもわからない場合は、他の書籍を購入したり、動画やウェブサービスなど他の媒体を試すと良いです。
それでもわからない場合は、プログラミングスクールもありです。
プログラミングスクールでショートカットもあり
最近はプログラミングスクールが増えており、プログラムを学習できる環境が整っています。
私自身も独学スタイル、スクールスタイルと両方試していますが、スクールスタイルにもメリット・デメリットがあります。
一番のメリットはショートカットできることだと思います。
わからないことは聞けば答えてくれるので、悩む時間を減らせます。
悩む時間が少ないと言うことはストレスが少ないと言うことなので、挫折しにくいです。
しかし、ここはデメリットでもあります。
なぜかと言うと、簡単に人に聞ける環境では自分で解決する力がつきにくくなります。
結局学習するのは本人ですし、独り立ちしたら、解決するのも本人です。(良い上司、良い同僚にめぐり逢えたら教えてくれると思いますが、上司や同僚が忙しい時は質問しにくいです)
いつかは、よくわからないことで悩み、もだえると言うことを経験します。
独学でこの「もだえ」をなんども乗り越えておくと、業務でもその経験がめちゃくちゃ活きてきます。

侍エンジニア塾については詳しくはこちらで触れています。
テックキャンプの記事もいつか書きます。乞うご期待。
実践方法:社内でアピール or 就職 or フリーランス・独立
実践方法は3つあると思っています。
ただし、ここからの話は少し先のことなので、ざっくりとした理解で問題ないです。
スポンサーリンク
社内でアピール
すでに企業に勤めている人は社内でアピールしましょう。
IT系の部署がある場合は異動の可能性が上がります。
異動をしなくてもエクセルなどを使う業務はどの企業もあると思いますので、プログラミングの知識を使って自動化してみましょう。
また、ソフトによってプログラミングで自動化できるものも多くありますので、新たなソフトとかを導入するのもいいかもしれません。
そのような活動を積極的に行うことによって、「プログラミング関係なら◯◯さんに任せておけばOK」みたいなブランディングができますので、それを狙いましょう。
就職
新卒でない場合は、実務経験3年以上など書かれている企業が多いのでハードルが上がります。
とは言うものの、実務経験3年以上などと書いている企業にも実務経験がない人も応募してくるようです。
そこで実力を証明できれば受かるケースもよく聞きます。
実力の証明はなんと言ってもポートフォリオです。
なので、ポートフォリオがあれば受かる可能性はグッと上がります。
書籍の課題にある簡単なサービスを自分なりに改造してポートフォリオにしてみるのも良いと思います。
就職についてはこちらの記事でも触れていますのでぜひご覧ください。
フリーランス・独立(私は経験がないため、聞いた話)
私はフリーランスを断念した身なので、経験では語れません。
なので、聞いた話を掲載します。
類は友を呼ぶと言いますが、フリーランスを目指す場合は、まずフリーランスの仲間を探し、交流すると良いようです。
その理由は、仕事の取り方や、進め方などは実際にフリーランスとして活動している人に聞くのが一番だからです。
また、フリーランスはサラリーマンと違い、収入が安定しません。
毎月給料が振り込まれる保証も、仕事がある保証もありません。
なので、ある程度貯金があった方がフリーランスとして、心に余裕を持ちながら活動できるようです。
まとめ
いかがでしたでしょうか。
初心者向けのプログラミングの学習方法について記事を書きました。
あなたのプログラミング学習の助けになれば幸いです。
それでは、以上です。