独学プログラミングで挫折せずにゴールを到達するためには!

Javaコース担当講師の原田です。

講座にいらした方とお話していると、IT業界はいまだ成長分野で求人案件も多いため、多職種に比べて未経験からSEへの転職をする方が多い印象を受けます。 また転職以外でも、業務効率化や個人でHP・アプリ作成をするために、「いざプログラミング!」と独学で始められる方もいらっしゃいます。

しかし、あるプログラミングスクールが実施した調査によると、独学で勉強を始められた方の挫折率は9割とも言われています。

なかなか衝撃的な数字ですが、壁となるポイントはパターン化されているので、壁を壊して行きましょう。
今回はこれから始める方に向けて、独学の壁を突破する方法をお伝えしていきます。

ゴールを決める

ゴールはどんなことでもありです。
最初のゴール設定が学習開始後のモチベーション維持にも関わってくるため、重要なポイントです。

理由は何でもありですが、

  • アプリを開発してリリースする
  • 月収○万円の案件を受ける
  • ○万円収入アップする
  • リモート、在宅での働き方へ変える
  • HPを立ち上げる
  • 業務効率化して煩雑な作業を省く

等々…
何を達成したいかをはっきりさせます。

ツール(プログラミング言語)を決める

次にはっきりさせたゴールを達成するために効果的なプログラミング言語を選びます!

ここに関しては入りたい案件や使いたい環境によって変わるため一概に「初心者ならコレがおすすめ!」とは言えません。
(そのため、開発経験のあるSEさんで自分が設定したゴールを既に達成している方にコツを聞くのがオススメです)

1の「ゴールを決める」で上げた項目で考えると例えばですが、以下のように考えます。

  • リモート、在宅での働き方へ変える
  • HPを立ち上げる
    →PHPはリモートの案件も多く、
    WordPress等でも利用されるため上記二つのゴール実現の最有力候補かなと思います(個人的な意見なので要調査)
  • 業務効率化して煩雑な作業を省く
    →エクセルとの組み合わせも可能なVBA

成果物を形にする

設定したゴール実現にむけて成果物が具体化してきたので、形にしていきます!

  • アプリを開発してリリースする
  • HPを立ち上げる
  • 業務効率化して煩雑な作業を省く
    →何か作ることがゴールであればまず必要な知識を「調べる→使う」を繰り返して頭に入れます。
  • 月収○万円の案件を受ける
  • ○万円収入アップする
    →仕事での収入アップがゴールであれば、案件の単価が高いプログラミング言語を使って実務で通用する資格の勉強をしていきます。基本は資格試験のテキストで学びつつ、過去出題された問題を解いていきます。

つまずいたところは経験者に聞き学ぶ

独学で進めて行く中で1番の難所はプログラムエラーとの戦いです。
SEの実務でも最も戦う時間が長いのもプログラムエラーです。

なぜ難しいかというと、ある程度プログラミング経験がないとエラー原因の当たりをつけられないため、はじめて見る方には謎の言葉の羅列が出てきます。ここに関しては、書籍ではなく経験者(可能であれば対面で)に頼ることが最短ルートです。

そして同時に、どういうエラーでどういう対処をしたら動いたかという記録を取ることも重要です。ケーススタディを重ねて、このエラーはこの処理が原因だなと絞りこめるようになれば自力で解決できるエラーが増えていきます。

体系的な知識を学ぶ

成果物を形にした結果SEとして仕事をしていく方には、ここまでの学習に加えて体系的なプログラミング学習をオススメします。

実務では、様々な分野の知識を統合してプログラム開発をするため、体系的なプログラミングの知識が基礎になります。また、開発を一緒に行うメンバーとの会話でも基礎的な知識がないと意思疎通に困るので、必要と考えおいた方がよいです。

体系的な知識に関しては実務でも使える資格の勉強や、言語ごとの初心者向け書籍を網羅できれば十分です。

(その他)一緒に勉強する仲間を作る

協力者として一緒に学ぶ仲間を持ち、学んだことを説明する場を作ります。書籍で勉強しているなら、特定の機能の作り方や、特定の章を相手に説明する。このアウトプット方式を継続していると本の内容が頭に残りやすくなります。

以上、ざっくりとですが、これからプログラミングを独学で始める方へ、挫折という名の壁を叩き壊す方法をご紹介しました。

+ITでは、わいわい会という自習会を定期的に開催しています。
講座を受講される方も、自分で勉強する方も時間を共有するので、一緒に学ぶ仲間も見つかると思います。
興味のある方は、ぜひご参加ください。

わいわい会・体験会は以下のリンクで日程をお知らせしています。