私はIT系の会社に勤めて4年目ですが、最初の1年は開発をさせてもらえませんでした。
文系卒でプログラミング経験はなかったので、開発ができない間は独学で勉強してきました。
そこそこプログラミングができるようになるまでに独学で必要なことについて自分の経験をもとに書いていきます。
ここで目指す独学のゴールは言語を問わず思ったものが一人でプログラミングして作れるレベルのことです。
大きな開発プロジェクトをこなせるレベルではありません。
プログラミングの参考書を読む
多くの方がされていることだと思いますが、私も大学4年の夏に参考書を買いました。
そこでstringとは何か、メソッド(関数)とは何かのような基本的なことは勉強しました。
今思い返すと大切なことがあります。
いつも”hello,world”級の感動を
参考書を読めば、最初は「hello, world」と表示すると思います。
パソコン上で「hello, world」とメッセージを始めて表示させたときちょっと感動しませんでしたか?
「hello, world」とプログラミングで出せるようになったなら、こういうことです。
一言で言えば「何でも作れるようになった瞬間」を指す
なぜhello, worldがプログラミングの最初なのか?より
素晴らしい表現だったので引用させていただきました。
あなたは何でも作れるようになっているのです。
私は今でも一つの処理を書いて動かして、「動いた!」と感動します。
そしてまた続きの処理を書いても同じように、”hello,world”級に感動しています。
子どもみたいですが^^;
全部読み切る必要はない
入門の参考書って分厚いものも多いと思います。
私が最初に買ったのも700ページくらいあった気がします。
ただ、すべてを読み込んで完璧に理解する必要なんてありません。
高度な書き方も紹介されていますが、実際に役立つ場面は限られています。
例えばポリモーフィズムなんて実際の開発現場でも使われることはあまりないと思います。
個人的にはクラスとメソッド、オーバライドまで分かっていればOKです。
そこまで行けば次のステップです。
独学の近道は作りたいものを見つける
そこそこ基本的な知識がつけば作りたいものを見つけてよいと思います。
作りたいものを見つけることは勉強を続けていくうえで大切です。
ここがないと仕事でもない限り向上心が湧くことはありません。
プログラミングで作りたいものの見つけ方
会社員であれば簡単だと思います。
日々の業務で同じ作業を繰り返す業務はないでしょうか。
手間がかかる作業であればあるほど業務が効率化するのでそういったことを探せばよいのです。
エクセルのVBAでも結構いろんなことができます。
学生であれば「こんなスマホアプリ作ってみたい」で良いです。
特に学生の場合、使える時間が社会人と比べて多いのでスマホアプリは難易度が高いですがやる価値はあります。
ただし難しすぎる場合続かないので注意も必要です。
私の場合は、メールを自動で送信するアプリを作ってみました。
独学のモチベーションのため
プログラミングの勉強では続かないことが多いと思います。
私も参考書を2冊買いましたが、続きませんでした。
理由は参考書に書いてある内容を見ながらコードを書くという作業になってしまうからです。
頭を使わないのでつまらないのです。
基本的な知識がつけば、自分で作ってみたいものを作るほうがモチベーションが持続できます。
プログラミング習得の時間
プログラミングを習得するまでには最低200時間は必要とときどきネットに載っています。
何をもって習得とするかに寄りますが、作りたいものをが作れるようになったら習得と言えるのではないでしょうか。
作りたいものが2つ、3つも一人で作れるようになってしまえばそれって、初心者から見れば習得していると言えますよね。
なので、200時間かけて勉強しても作りたいiPhoneアプリができなければ習得ではないと言えます。
勉強を始めて100時間でもExcelのVBAで業務効率化ができれば習得と言えると思います。
プログラムを実際に書いてみる
作りたいものが見つかれば、手を動かして作ってみるだけです。
しかしどう書いていいかわからないことは多いと思います。
その場合でも、最初に参考書を読んでおけば、自力でネットで調べて書き方を理解していける知識はあるはずです。
なので時間がかかっても良いので、理解することを優先して調べて下さい。
理解して処理が動く感動を積み重ねていけば、力はついていきます。
初心者ならプログラミング独学を簡単に諦めない
当たり前なのですが、最初はとっかかりが難しいです。
ましてや初心者の独学なので、諦めてやめてしまいたくなることが多いと思います。
そんな時は以下のことを頭に入れておいてください。
そもそも簡単には独学できない
勉強を始められた方はこんな状態ではないでしょうか。
そもそもパソコンの知識がなくて、参考書の理解自体が難しい。
私も同じだったのですが、文系の出身だとベースの知識がないのです。
そんな中でプログラミングを勉強していくのですから、時間とストレスはかかるものです。
やろうとしていることはIT技術者と同じことなので、畑違いな難しいことに挑んでいるのだという意識を忘れないでください。
プログラムの書き方は探せる
ネットでも参考書でも、Yahoo知恵袋に質問しても答えは返ってきます。
エンジニア専用の掲示板のteratailもあります。
また作り方(答え)は数学のように一つではなく、いくつもあります。
その答えはネットや参考書をもとに自分でアレンジしたものになることがほとんどです。
答えが一つではなく、あなた流のやり方が答えになるのであなた流を磨いて習得していって下さい。
独学は自分のペースで
色んな知識を付けていかなければならないのですから、長丁場になります。
でも、プログラミングの独学ではいつまでに何かをしなければならないという期限はないはずです。
誰かからやれと言われているわけではないので、空いた時間に、気が向いた時間に少しずつ独学を進めていけば良いのです。
実際、私も毎回週末に独学をしていた時期もあれば、1カ月くらい全くプログラミングに触れない時期もありかなり波ががありました。
そんな感じでやっていても、作りたいものがあると「完成させたい」と思ってネットでコードの書き方を調べたりするものなのです。
独学のゴール:調べて分かればOK
プログラミングは書き方が無数にあります。
そのため、書き方を全て暗記して空で書けるようになるは物理的に不可能です。
一度自分が書いた3行くらいのコードでも、1週間後に何も見ずに書けと言われてもかけません。
文系より理系の方が頭がいいからとか関係なくそれが普通です。
なので、書き方が分からなくても参考書やネットで調べて理解できればそれでOKなのです。
今は本でもウェブサイトでも多くの情報を調べられるので、その情報を元に自分の作りたい処理がプログラミングできれば問題ないのです。
独学が難しければプログラミング講座を受ける
私は知らなかったために、選択肢から外れていましたが、プログラミング講座を受けるというのもありだと思います。
参考書の勉強だけでは続かないというのであれば、お金を払ってやらないといけない状況に自分を追い込んでしまうということですね。
オンラインの無料体験ができるところがあるので、試しに見てみるのもありですね。
まとめ
プログラミングの初心者はだれもが通る道です。
ただ、簡単に進んでいける道ということでもありません。
まずは一つ一つのソースコードを理解できるようになることが目標で十分です。
それを続けていけば、大抵のソースコードを読んで何をしているか理解できます。
そうなれば、後は調べて書き方が分かればプログラマーとしては十分通用します。
プログラミングの独学が上手く行くことを応援してます!
・なぜhello, worldがプログラミングの最初なのか?
https://wakatech.jp/helloworld
・Weblio辞書
https://www.weblio.jp/content/ポリモーフィズム
・プログラミングの独学は無理なの?入門者の挫折率が高い3つの理由
https://www.sejuku.net/blog/81#i
・プログラミングの習得期間って実際どれくらい
https://www.travewriter.com/entry/programming-lerning-period