現役エンジニア (メーカー勤務10年 → 現在は某大手電機会社 勤務)
子供の頃にRPGツクールに触れて独学でプログラミングを習得
AI研究、ゲーム、キャンプが生きがい
プログラミングを独学をされている皆さん、勉強お疲れ様です。
何事も独学って難易度高いですよね。
僕もディープラーニングについて文献漁って独学していますが、1から実装するときに
「あれ?ここってどうやってるんだろう?」と思って詰まっちゃうことがあります。
しかし、ふとこのように感じることはありませんか?
- 本当にこのやり方で身についているのか不安になる・・・
- やっぱり学校やスクールでプログラミングを習った人よりスキルが下なのかな・・・
そこで
- 自分のプログラミングスキルを確認する方法
- 独学でも通学並みのプログラミングスキルになる2つの方法
ということについて解説していきます。
通学プログラミングにあって独学プログラミングにないもの3つ
独学プログラミングで不足する3つのものを解説します。
通学プログラミングにあって独学プログラミングにないもの3つ- 客観的な自分のスキル評価
- 網羅的なプログラミング知識
- 壁に当たったときのフォロー
客観的な自分のスキル評価
独学プログラミングで足りないもの1点目が『客観的な自分のスキル評価』です。
学校で勉強を習っていたころはテストを定期的にやっていたと思いますが
独学でやっている今、テストはやっていますか?
恐らく多くの方はテストをやらず自分のプログラミングスキルを数値化して定量的に把握できていないと思います。
それに対し学校ではプログラミングのテストが実際にあり、自分のプログラミングスキルが数値化されて返ってくるので嫌でも把握することになります。
テスト結果には残酷なくらい今の実力が反映されます・・・。
だからこそ伸びしろが見えてくるんです!
網羅的なプログラミング知識
独学プログラミングで足りないもの2点目が『網羅的なプログラミング知識』です。
独学でやっているとどうしても自分が知りたい部分に集中して学習しちゃいますよね。
もしくは「ここは苦手だから飛ばそう・・・」となった要素はありませんか?
ここは独学の弱い点で自分で強く取り組む気持ちがない限り、掻い摘んで学習する傾向になってしまいます。
しかし学校やスクールでは基本的に実践的な部分を学べるカリキュラムが用意されているため
広く網羅的なプログラミング知識を学ぶことができます。
なんだかんだで学校の授業はよくできてたな~って感じます。
自分が教える立場だとしたらどうしようかすっごく迷いますね。
壁に当たったときのフォロー
独学プログラミングで足りないもの3点目が『壁に当たったときのフォロー』です。
これは言うまでもありませんが独学なので状況的に教えてくれる人はいないと思います。
上の2点と重複しますがフォローをくれる人がいれば、あなたの客観的なスキル評価を下すことができ
不足している知識を教えてもらうことができます。
ただし、フォローがないからこそフォローがある人より自分で調べて試すことが要求されるので理解をより深められる可能性があります。
個人的にはフォローがない状況は必ずしもデメリットだけではないと考えてます。
独学でも通学並みのプログラミングスキルになる2つの方法
独学でも学校で習っている人と同等のプログラミングスキルを手に入れる方法を解説します。
独学でも通学並みのプログラミングスキルになる2つの方法- 定期的にプログラミングテストを受ける
- 他の人からの依頼でアプリを作ってみる
定期的にプログラミングテストを受ける
独学でも通学並みのプログラミングスキルになる方法の1点目は
『定期的にプログラミングテストを受ける』ことです。
単純な話ですが客観的に自分のスキルが分からないならテストを受けて把握すればいいという考えです。
最近ではググれば paizaラーニングさん(一部無料) のようにプログラミングテストをオンラインで受けることができるので自宅にいながら簡単に受けることができます。
他にも基本情報技術者試験を受けてしまうという方法がありますが、こちらは少し難易度が高く幅広い知識が求められるため手軽さはありません。
しかし合格したならば情報処理技術者として一定の知識があると認められるため、客観的な指標としてはこれ以上ないものです。
他の人からの依頼でアプリを作ってみる
独学でも通学並みのプログラミングスキルになる方法の2点目は
『他の人からの依頼でアプリを作ってみる』ことです。
これは独学では関心のある部分しか学習しない傾向があるとお話した部分と重なりますが
他の人からの依頼でアプリ等を作るときには今自分にある知識だけで作れるとは限りません。
よって必然的に様々なことを調べざるを得ない状況ができるようになります。
また他の人からの依頼という強制力が働くことで、自分のためにアプリを作る時より
「やらなければならない」という気持ちになります。
さらに、これらのように依頼をこなすことでプログラマー転職をするときに履歴書に実績として記載する事ができるのでスキルだけではない優位性を持つことができます。
個人的には依頼されてアプリを作るのが一番オススメです!
これは仕事として受注するときの感覚にすごく近いのです。
まとめ
この記事では
- 独学プログラミングの不足してしまいがちな観点
- 独学プログラミングの不足部分を補う方法
についてまとめてみました。
コメント