【現役エンジニアが解説】プログラミングで挫折しない方法【挫折しそうな方必見】

PROGRAM

プログラミングで挫折しそうな方や挫折してしまった方に。

この記事を読まれている方は、

  • プログラミングを習得しようとしたが挫折しそう
  • プログラミングですでに挫折してしまった
  • プログラミングで挫折しないためにはどうしたら良いか知りたい

おそらくこのように考えている方が多いと思います。

この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別にフリーランスの副業で月10万円ほど、多いときで20万円ほどの収入があります。

この記事では、現役のエンジニアが、プログラミングで挫折しない方法を解説したいと思います。

プログラミングで挫折してしまう原因と対処法

プログラミングで挫折してしまう原因と対処法

そもそもなぜプログラミングで挫折してしまうのでしょうか。

挫折しそうな方、もしくは挫折してしまった方は、まずはその原因を把握する必要があります。

  • 基礎で理解できないところがある
  • 基礎を理解し、筋道もわかるが、応用の仕方がわからない
  • 基礎を理解しているが、筋道がわからない
  • 時間をかければ理解できそうだが、やる気が起きない
  • 一人で学習することがつらい

おそらく多くの方がいずれかに該当すると思います。
それぞれのケースをもう少し詳しく見て、対処法を考えてみます。

基礎で理解できないところがある

プログラミングは理屈から押さえようとすると退屈だし、なかなか捗らない場合があります。
基本的にプログラミングの基礎を覚えることは、ほぼプログラミングの構文を覚えることと等しいので、英文法や英単語を覚えるときと同じです。

すなわち、例題(例文)を通して覚えることが最適な方法です。
その構文の目的と具体例がセットで自然に覚えられるからです。

プログラミングは大きく分けて、データ構造とアルゴリズムから成っていますが、まずはデータ構造の方を勉強されると良いと思います。

データ構造はわかりやすく言えば、

  • 変数
  • 配列
  • 構造体

上記となっており、アルゴリズムは以下の3種類です。

  • 順次処理
  • 分岐処理
  • 繰返処理

でたらめに並べているわけではなく、それぞれこの順序で学ぶことが最適だと私は思っていて、

変数(デ)→順次処理・分岐処理(ア)→配列・構造体(デ)→繰返処理(ア)

全体を通しては、上記の順序で学ばれると良いと思います。
一通り終わるとたいていのことはできるようになっていると思いますよ。

基礎を理解し、筋道もわかるが、応用の仕方がわからない

Googleで検索する癖をつけてみましょう。

今のGoogleさんは優秀なので、よほど凝ったことをしようとしていない限りは答えてくれます。
※この記事を読まれている方は初心者だと思いますので、凝ったことはしない方が良いです。

検索すると上位に出てくるとは思いますが、何かわからないことがあれば、以下のサイトを使うのも手です。

StackOverflowなんかは英語圏の方向けのサイトですが、基本的にプログラミングのことで調べるときは英語で検索する癖をつけた方が良いと思います。
特にここでは「基礎がわかっている」方が対象なので、応用の方法となると母数が少なくなるので、英語圏のリソースも視野に入れて、英語で探された方が良いです。

探し方のコツについては、

  • エラー文で検索・・・エラーはとりあえずそのまま検索
  • how to ~で検索・・・「〜の仕方」という意味で、〜の部分を変える
  • 複数の英単語で検索・・・関連するキーワードをいくつか入れる

こんなところです。
難しいことをしようとしているわけではなければ、たいていの場合はこれだけでヒットします。
難しいことをしている場合、つまずくのが当たり前なので、やりたいことを一歩引いた上で2つ目や3つ目の方法で検索してみましょう。

最初は日本語で検索してヒットしなかったら英語で、というスタンスで問題ないと思います。

基礎を理解しているが、筋道がわからない

同じようにGoogleで検索してみる、という方法でも良いですが、
あなたが手作業でその作業をやるとしたら、どんな流れになるか、書いてみるというのも有効な手です。

いわゆるフローチャートというものですが、形式はどんなものでも構いません。
要するに、自分の頭で描いている流れを整理してみよう、ということです。

まともなプログラミングでは、プログラムを書く前に、必ずフローチャート(流れ図)というものを書くものですが、今はデバッグ環境が充実しているのもあり、わざわざ書いてる人はあまりみません。

ただ、処理が煩雑になるような場合には、整理のために流れを書いてみることはかなり有用です。

筋道がわからなくなった場合は、このように一度手で作業してみる場合を想定してみると良いです。

時間をかければ理解できそうだが、やる気が起きない

こういう方は真面目に学習しすぎている気がします。
プログラミングは、楽しみながら覚えることが一番の近道だと思いますので、やりたいことをいくつか見つけて、それを実装する楽しさを知りましょう。

もしくは、いっそのことやりたいことに関連するソースコードをネットから片っ端からコピペしていくというのも手です。
私自身あまり理屈から覚えていった身ではなく、for文の正確な書き方すらも覚えたのは半年以上後のことです(笑)

それでもお客さんの要件を聞いて、普通にプログラミングの仕事をしていました。
結局は結果が出れば良いので、プログラミングそのものの過程はなんだっていいのです。(設計やバリデーションとかはしっかりしないとダメですよ。)

やる気が起きないというのは、色々原因はあると思いますが、おそらく真面目にやりすぎています。
ぜひプログラミングの楽しさというものを見出してみてください。

一人で学習することがつらい

独学が苦手な方はいますよね。
また、苦手でなくても、一人でやるには限界というものがあります。

そういう方は以下の方法を試してみるのもありでしょう。

  • 勉強会やイベントに参加してみる
  • プログラミングスクールに通ってみる
  • 完全未経験枠で就職してみる

3つ目の完全未経験枠で就職は少し厳しいかもしれません。
確かにこの業界は人手不足ではあるのですが、リスクを負いたくないというのがどこの企業も本音ですので、少しでもプログラミングの業務経験や経歴を作らないとなかなか難しいです。

先行投資をいとわない方であれば、勉強会やプログラミングスクールに行ってみるのも手の一つだと思います。

まとめ:挫折しないためには

まとめ:挫折しないためには

ここまでで挫折する原因とその対処法について見てきましたので、まとめてみたいと思います。

  • 基礎は例文から覚える
  • 困ったらグーグル先生に(英語で)聞いてみる
  • やりたいことを明確にする
  • 実装方法で迷ったら、流れ図を書いてみる
  • コピペも立派な作業のうち

ざっとこんな感じです。
とても緩い方法に思えますが、センスのあるなしに問わず、有効な方法だと思います。

また、環境面では以下の通りです。

  • お金を払って仲間や先生を作る
  • 完全未経験枠で就職してみる

前者はお金を払う、後者はお金をもらう、ですので全然違うんですけどね(笑)
未経験で就職は自分を追い込んで伸ばすタイプの人でない限りオススメはしません。

プログラミングスクールに関しては別の記事でまとめていますので、興味があればぜひ読んでみてください。