システムエンジニアを仕事にしようと思った時、必ず最初に実施するのが、プログラミング。
これ、人によっては学校で学んだり、独学で学んで仕事にできると思います。
でも挫折しがちなのも事実!その理由と対策を私になりにまとめたいと思います。
この記事でわかること。
- プログラミング学習が挫折しやすい理由
- 挫折せずに行うための方法
プログラミング学習が挫折しやすい理由

それでは具体的にどういう理由があるのかですが、簡単に2つ提示します。
- 本に載っている内容がわかりづらい
- 目的がない
一つずつ解説します。
本がわかりづらい
プログラミングを学習しようと思った時に、本を購入する人も多いと思います。
世の中にはたくさんの本が出ていて、評価の高いものも多く、それで学習できている人もいると思います。
ただ、本だけで勉強しようとした際、私と同様挫折する人も多いのも事実。
この理由は、以下が考えられます。
- 環境構築について記載が煩雑
- 最初に書かれている内容に魅力がない
一つずつ解説します。
環境構築について記載が煩雑
プログラミングをするためには、環境の作る必要があります。
つまりプログラムが動くようにするツールを入れる必要があります。
本の最初の方にその作り方が書いてあることが多いですが、結構雑に書いてあり、その設定で四苦八苦することが多い。そこで嫌になる場合も結構ありました。
しかも勉強中にいろいろな本に手を出していたりすると、いろいろな環境を構築してしまい、相互に干渉してしまってうまく動かないことが多いです。
そんな時、どこが悪いのか、環境を作成していた本だけを見てもわからないことが多く、結局ネットで調べたりすることになるのですが、最初にそれを実施するのは難しいと思います。
最初に書かれている内容に魅力がない
次にどのプログラムの本を見ても、最初に書いてあるのは、必ず
HELLO WORLDを表示させよう!
そして、それから始まる基本的すぎるというか、なんとなくシステムを作った実感がわかないものなので、つまらなさを加速させるので、継続できないかと思います。
実感わくのって、画面作ってそれを操作。パソコンからでもスマホのアプリでも、操作して自分が作ったものが動くことではないでしょうか。
画面がないまでも、何か目的があってプログラミングをしてそれが動くことで楽しくなるのだと思います。
例えばデータを加工して結果を出すというようなもの。
ただ、そこに辿り着くのは中々に遠い道のり。
私は本に載っている内容を頭から実施していきましたが、途中でなんの目的でそれを実施しているのかわからなくなり、つまらなくなって挫折しました。
HELLO WORLD出た!って喜ぶわけがない!
それでもいろいろな本は買いました。エンジニアとしては勉強せねばと思ったので。
結論としては、ある程度できるようになった後、ピンポイントに参考書としての使うために本を使うのがいいのかなと思っています。
最初に本から入るのは中々に難しいのかなと思います。
目的がない
本で挫折しやすいところにも共通するところではあるのですが、何かを作った実感を得るためには、画面なりデータ可能なりの結果を出すための処理を作成することになるかと思います。
ただ、これを独学でやろうとした場合、なかなか難しいと思うのです。
自分自身で目的を設定できる人はどんどん先に進んでいけるでしょう。
でも中には私と同じように目的の設定(どういうものを作るのか)が下手な人もいると思います。
その場合、何を作るのかのイメージができず、本に書いてある通りを進めて、何を作りたいのかわからないままに挫折してしまうことも多いのではないでしょうか。
例えば、画面を作って、Aというボタンを押したら入力した文字を加工するなどという目的が設定できていれば、ピンポイントにその処理をどう作ればいいのかを調べることができたりします。
ただ、学習を始めたばかりでは、なかなかこれができずに、挫折の道に迷い込む人も多いのではないでしょうか。
私も仕事で使用していた言語はC言語でしたが、その後Javaが普及した時に勉強せねばと思いましたが、目的が設定できずに本だけ読んで挫折しました。
挫折せずに行うための方法

ここまで挫折してしまう理由について書いてきましたが、ここからは挫折せずに学習する方法について書いていこうと思います。
私が過去に実践してきたこと、目的に則したことをまとめると、
- e-learningに頼る
- プログラミングスクールに入る
- 会社に入る
e-learningに頼る
本で勉強しようとすると中々難しい場合、映像で見るというのは割と有効だと思います。
それで利用するのがe-learning。上記のプログラミングを実施するための環境の作成なども動画を見ながら実施できるため、本を見て実施するより分かりやすいと思います。
ただ、いくつかの環境を作成した場合など、競合してうまくいかない場合があるのは、本で学習するのと同じことがあり得ることだけ注意してください。
あともう一点、わからない時に聞けないことも同様です。
それ以外は、頭から順に実施することである程度理解は進められると思います。
プログラミングスクールに入る
本やe-learningで学習する最大の問題は、疑問に思ったことを自分で調べないといけないことです。
ネットで調べればなんとかなると思うかもしれませんが、学習し始めの人にはかなり難しいことではないでしょうか。
特に上記しましたが、目的がないと調べることにとても苦労するので、プログラミングスクールであれば、そもそも課題を与えられて勉強していくと思うので、目的がありつつ、講師の先生に質問することができます。
最初は質問を多くして覚えていくと思いますが、実施していく中で調べることのスキルも上がっていき、講師への質問の質も変わっていくと思います。
ということで、
- 目的がある
- 講師にすぐ聞ける
の2点のメリットを享受して学習できると思います。
会社に入る
何言ってんの?と思われるかもしれませんが、新卒であれば確実に、そうでない中途採用でも若手であれば、大変有効な選択肢だと思います。その理由は、
- 研修で課題を渡してくれる
- e-learningを無料?で受講できる
- そもそも仕事が課題の宝庫
一つずつ解説します。
研修で課題を渡してくれる
挫折する理由にも書きましたが、どういうプログラムを作るのか、目的を個人で決めるのはなかなか難しいものです。研修ではこういうプログラムを作成してという課題を出してくれます。
その課題(目的)に対して調べることでプログラミングスキルがついていきます。
1点、注意すべきは他の新人社員と一緒に課題に取り組むため、遅れ始めると覚えることより終わさせることが目的になっていく人がいます。
こうなってしまうとプログラミングどころではなく、早くやらねば!という気持ち優先で周りに聞いたりしてなんとかプログラムを仕上げるだけで、覚えないということもあります。
その点に注意すれば、独学するより理解は進みますし、やるべき目的を自分で考える必要すらありません。
プログラミングスクールに行けば結構な金額を取られることを考えれば、言い方が正しいかわかりませんが、無料で教育を受けられるのはいいですよね。
e-learningなどの研修を無料?で受講できる
新卒時でなくても、会社に在籍していれば、定期的に研修を受けられることが多いです。
新人研修後、現場に出て仕事をする中で、教育の名目で研修を受けさせる会社が多いです。
別記事で書きましたが、会社選びをする場合、研修がどうなのかは確認した方はいいですね。

そもそも仕事が課題の宝庫
勉強をするには目的が一番必要と言いました。
会社にいることが一番プログラミングスキルが伸びる理由であります。
それは日々の業務自体に目的が決まっているということです。
どういうプログラムを組むかを決めてからプログラミングを始める、ということは、目的が決まっているということです。
しかも個人で扱うことができない大きなシステムの中で、いろいろな言語、大量のデータなどを扱ってのプログラミング。
それを実現させるためにgoogleで調べてプログラムを組んでいきます。
こんな環境はプログラミングスクールでも難しいので、勉強する環境としては最高です。
私も独学より現場で学ぶことが一番のスキルアップになったと思います。(というか独学が苦手な私はこれで大半覚えた気がします。)
ある程度の年齢、キャリアになってくると新しいことを覚えていくのが難しくなる人もいますが、仕事し始めやキャリアの最初の方であればいくらでも勉強できると思います。
まとめ
こんな感じで、プログラミングの独学が難しい理由とその対策を書いてみました。
現在、私が勉強を始めた時より多くの情報にあふれ、スマホアプリなどは学生の時から作成して売り出している人もいるかもしれません。
でも、今でも私のように本で学習をしようとして挫折して、プログラミングなんて独学できないよ!って思っている人もいると思ってこちらの記事を書きました。
こちらで勉強の仕方や長年システムエンジニアで働けるということを知ってもらえたら嬉しいです。
私の持論ですが、目的、作成するもののイメージがあれば、プログラミングは覚えられると思います。
もちろん初学で簡単にできるとは言いません。
でも、できない理由がわかれば対処はできると思います。
当記事をその参考にしていただいて、システムエンジニア(今回の場合でいればプログラマ?)を目指していただければと思います。
そこまで困難な道ではないと思います。
ここまで読んでいただいてありがとうございました。
他に聞いてみたいことなどあれば、お知らせください。