bitbank

学習

[2022年版]プログラミングを独学する苦悩〜独学でエンジニアになった実体験をもとに紹介〜

プログラミングスクールに通うべきか?独学が良いか?

プログラミングの独学って何が大変なの?

プログラミングの独学は僕・わたしでもできる?

このような悩みを抱えていませんか?

この記事を読むことで、「プログラミングを独学することが自分に向いているか」がわかります。

なぜなら、プログラミングを独学したのちにエンジニアになった僕の体験をもとに説明していくからです。

この記事では、「なぜプログラミングを独学したのか?」、「独学して辛かったこと」、「独学のつらさを減らすためのポイント」、「プログラミングスクールもおすすめ」の順に紹介していきます。

記事を読み終える頃には「プログラミングを独学するかどうか」の決心がつきます。

なぜプログラミングを独学したのか?

プログラミングを学習する場合、「独学」と「プログラミングスクールに通う」の2択があります。

その中で僕は迷うことなく「独学」を選びました。

その理由は大きく分けて以下の3つです。

3つの独学した理由

  • お金がなかった。
  • 無料や低価格でも良質な教材があった。
  • 独学でできる自信があった。

では1つずつみていきましょう。

お金がなかった

単純明快な理由です。

当時大学生だったため、スクールに通うお金がありませんでした。

親にお願いする手もあったのですが、そこまでしてプログラミングスクールに通わなくても良いのでは?と考えていました。

結果としては独学でも十分でしたが、おすすめできるのはプログラミングスクールの方ですね。

無料や低価格でも良質な教材があった

よくTwitterとかでも、「今は無料でも良質な教材があっていい時代だな」という発言をよく見かけます。

YouTubeを始めチュートリアル記事、プログラミング学習webアプリなど、無料でもめちゃくちゃ役立つコンテンツがごろごろあります。

さらにudemyやprogateなど、低価格なのにめちゃくちゃ良質な教材で学べます。

教材だけの質で言えば無料や低価格のものでもプログラミングスクールにひけをとりません。

いい時代にプログラミング学習を始められてよかったです。

独学でできる自信があった

何も根拠はなかったですが、独学でもできるという謎の自信がありました。

当時はプログラミングをやってみたくて仕方がなかったので、その気持ちが独学でできるという気持ちを後押ししたのかもしれないです。

あとは、「独学でとりあえずやってみて、もしダメだったらスクールに通うなりすればいい」とも考えていました。

最低でもある程度は独学でもできるので、そのあとプログラミングスクールに通えばいいスタートが切れるという思考ですね。

まとめ

この章では「僕がプログラミングを独学した理由」について紹介してきました。

最後にまとめましょう。

3つの独学した理由

  • お金がなかった。
  • 無料や低価格でも良質な教材があった。
  • 独学でできる自信があった。

次の章では「独学して辛かったこと」についたら紹介します。

独学して辛かったこと

前章では「プログラミングを独学した理由」について紹介しました。

この章では「独学して辛かったこと」について紹介します。

独学して辛かったことは以下の5つになります。

5つの独学して辛かったこと

  • 孤独
  • ゴールが見えない
  • 他の人の成長に焦る
  • インプットばかりしてしまう
  • 質問できない

では1つずつ詳しく説明していきます。

孤独

独学はひたすら孤独です。

僕はプログラミング学習と同時にTwitterで発信し始めたので、定期的に会う人や応援し合える人はいたのですが、やはり家やカフェでモクモクと1人で学習するのは孤独でした。

ちょうどコロナ禍ということもあり、外に出る機会も減ったためより一層孤独感を感じていました。

その分プログラミング学習は捗りましたが、孤独感に耐えきれず挫折してしまう人はいると思います。

ゴールが見えない

独学だと自分で学習手順やロードマップを決める必要があります。

そうすると長期的なゴールや短期的なゴールをどこに置くかも考える必要があります。

長期的なゴールは「エンジニアになる」とかですが、「短期的なゴール」の設定が難しいです。

例えば「Pythonの基礎をマスターする」という短期目標があった時、「どこまでやればマスターとなるか」がわからないのです。

このように曖昧なゴールを設定してしまうと、ゴールが見えないがために永遠と学習してしまい、最終的には挫折してしまうなんてこともあり得ます。

他の人の成長に焦る

Twitterなどを眺めてると半端ないスピードで成長していく人がいます。

そんな人を見てると「あの人は短期間であんなに成長してるのに、自分は全然成長できていない…」と焦りが生まれてきます。

この焦りは心にとって不健康なものです。

焦れば焦るだ集中できなくなり、その辛さから挫折に心が傾いていってしまいます。

インプットばかりしてしまう

プログラミング初学者は総じてアウトプットに苦手意識を持ちます。

理由としては、「何をすれば良いかわからなくなる」からです。

そして楽しい楽しいインプットに気持ちが持ってかれてしまいます。

僕自身当初アウトプットが苦手でした。

アウトプットしたいけど何すればいいんだろう?」とアウトプットを避けて、楽で楽しいインプットを続けていました。

いくらインプットしても、アウトプットしなければ身に付かず成長もできません。

アウトプットの重要性を早いうちに気づけないと、いつまで経っても成長することができません。

質問できない

身近に質問できる人がいないため、調べてもわからないものはわからないもののままになってしまいます。

質問投稿サイトに質問を投げる手もありますが、質問回答者が優しくない冷たい人ばかりなのでびびって投稿できませんでした。

また、小さいことから大きなことまで、幅広く質問したいことが出てきます。

大量の質問を解決するには、やはり誰かに聞くのが一番早いです。

この質問できないモヤモヤはなかなか苦労しました。

まとめ

この章では「プログラミングを独学して辛かったこと」について紹介してきました。

最後にまとめていきます。

5つの独学して辛かったこと

  • 孤独
  • ゴールが見えない
  • 他の人の成長に焦る
  • インプットばかりしてしまう
  • 質問できない

次の章では、本章で紹介した「プログラミングを独学して辛かったこと」をもとに、その辛さを減らすポイントについて紹介していきます。

独学の辛さを減らすポイント

前章では「プログラミングを独学して辛かったこと」について紹介してきました。

この章では辛かったことをもとに「プログラミングを独学する辛さを減らすポイント」について紹介していきます。

前章で紹介した独学していて辛かったことは以下の5つになります。

5つの独学して辛かったこと

  • 孤独
  • ゴールが見えない
  • 他の人の成長に焦る
  • インプットばかりしてしまう
  • 質問できない

では1つずつ辛さを減らすポイントを紹介していきます。

孤独

孤独の苦痛を減らすためには学習仲間を見つけて一緒に学習するのが良いです。

その学習仲間を見つけられないんだよ!」と思う方、ぜひTwitterを活用してみてください。

僕自身プログラミング学習を始めると同時にTwitterでアカウントを作り発信し始めました。

その中で同時期にプログラミング学習を始めた人たちと仲良くなり、1人とは毎日一緒にプログラミング学習するほど仲良くなりました。

毎日カフェで朝から夕方まで学習し、お互い教え合ったりしながら学習していました。

この時孤独感は全く感じていませんでした。

学習仲間とはそれほど継続力に影響してきます。

ぜひ今からでもTwitterアカウントを作って学習仲間を見つけてみてください!

ゴールが見えない

ゴールが見えない辛さを和らげるにはしっかりとゴールを設定するかありません。

一番まずいのがゴールを設定しないことです。

新しく何かを始めるときは、必ずゴールを決めてから始めてください。

そして抽象的なゴールではなく、具体的なゴールを決めてください。

Pythonをマスターする!」はどこまでできればマスターなのかが分かりません。

そのため、「Pythonの基礎本を1冊学習して、ブラックジャックを作る」というように、誰もがわかるような課題的なゴールを設定してください!

独学でプログラミングを学習する手順は以下が参考になります。

他の人の成長に焦る

これは独学に限らず誰でも起こり得る問題です。

世の中には驚くほどの速度で成長していく人がいます。

Twitterなどを眺めてると、「え!この人この前学習始めたばかりじゃん!もうこんなことまでできるの!!」という人がごろごろしてます。

そんな人を見ると、「僕は全然成長できていない…」と落ち込むはずです。

僕自身そんな経験がありました。

しかし、他人と比べても意味はありません。

重要なのは「いかに自分が成長しているか」です。

Twitterで見つけた会ったこともない人に意識を持ってかれるのではなく、しっかりと自分に意識を向けましょう。

「昨日の自分よりも今日の自分は成長できているか?」

この疑問を毎日自分に投げかけてください。

この疑問に「YES」と答えられるのであれば十分です。

毎日の積み重ねが長期的にみたときに大きな成長となるのです。

(「NO」の方はコツコツ頑張りましょう。)

これからはTwitterの会ったこともない人に感情を左右されるのではなく、「塵も積もれば山となる」という言葉を胸に、昨日の自分と比較しましょう。

インプットばかりしてしまう

これは初学者あるあるです。

インプットは新しいことを学べる楽しさがありついつい続けてしまいます。

しかし、アウトプットしない限りは自分の身につくことはありません。

(何年間も同じインプットを続けていれば別ですが…)

ではなぜアウトプットを避けてしまうのか?

その理由は「何をアウトプットすれば良いかわからない」からです。

アウトプットしようにも、するものが決まらないと手は動かせないですよね?

プログラミングスクールで1年半ほどTAをしていたのですが、この問題に直面する人は本当に多かったです。

このように「何をアウトプットすれば良いかわからない」という人にするアドバイスは「日常の不便を見つけろ!」です。

日常の不便を1つ見つけ、それを解決できるものをプログラミングで作るのが最初のアウトプットには最適です。

以下の記事で詳しく解説しています。

ぜひ記事を参考にアウトプットマスターを目指してください!

質問できない

プログラミングはわからないことだらけです。

エンジニアに慣れた自分でも、わからないことだらけで日々勉強してます。

わからないとき」ググって解決できれば良いのですが、そう簡単に解決しないことがよくあります。

ググってもググってわからない!

こんな時質問できる人がそばにいると大きな助けとなります。

しかし、独学だとそう簡単に質問できる人が身近にいません。

そこで使用するのが質問投稿サイトだったり、TwitterなどのSNSです。

ただ、どちらも親切心から答えてくれるだけなので、必ず質問に答えてもらえるかは分かりませんし、丁寧かつ詳しく説明してくれる保証もありません。

結局理解できなかった…

となることもよくあります。

そんな時は一旦置いておくのも手です。

プログラミングでよくあるのが、「ある時点でわからなくても、少し進んだらわかる」ことです。

学習が進むほど知識が増えるため、「あ!この前のとこはこういうことだったんだ!」となりやすいです。

わからない!やばい!」と焦り、解決するまでそこで足踏みするのではなく、とりあえず前に進むことを覚えると良いです。

ただし、基礎的なことや理解しないと前に進めないものに関しては、しっかりと理解してから進んでください。

まとめ

この章では「プログラミングを独学する辛さを減らすポイント」を5つ紹介してきました。

最後にまとめましょう。

5つの独学の辛さを減らすポイント

  • 孤独
    • Twitter作って仲間を見つける。
  • ゴールが見えない
    • 誰でもわかるような具体的なゴールを設定する。
  • 他の人の成長に焦る
    • 「昨日の自分と比較して成長しているか」を意識する。
  • インプット過多になる。
    • 日常の不便を見つけて、プログラミングでそれを解決する。
  • 質問できない
    • 一旦置いてみる。

プログラミングスクールもおすすめ

前章では、「プログラミングを独学する辛さを減らすポイント」について紹介してきました。

自分には独学向いてないかも…

独学難しそうだな…

独学以外だとどんな学習方法があるの?

前章まで読んで上記のように感じた方もいるはずです。

そんな人におすすめしたいのがプログラミングスクールです。

プログラミングスクールであれば、前章まで紹介した5つのポイントに楽々対処できます。

ではそれについて見ていきましょう。

孤独

プログラミングスクールには他にも多くの生徒がいます。

その生徒と仲良くなることで孤独感を感じなくなります。

また、他の生徒と仲良く慣れなくても、講師の方と仲良くなれるため、孤独感もうすまります。

ゴールが見えない

プログラミングスクール側がカリキュラムを全て作ってくれます。

そのため「ゴールが見えない」なんてことはありえません。

(もし「ゴールが見えない」スクールであればやめた方が良いです。)

スクールによってはオーダーメイドのカリキュラムを組んでくれることもあるので、自分に合ったゴールとゴールまでの道のりを作ってくれます。

他の人の成長に焦る

これはプログラミングスクールに通っていても起こります。

ただ、焦りを感じる暇がないほど学習に忙しいです。

独学だと良くも悪くも暇な時間があります。

その暇な時間にSNSなどを見て焦ってしまうのです。

一方、プログラミングスクールは、短期間での成長を念頭に置いているため、課題やら教材やらが沢山あります。

これらの理由からそこまで心配する必要もなさそうですね。

インプットばかりしてしまう

これも心配な必要はありません。

プログラミングスクールは必ずカリキュラムの中にアウトプットを含んでいます。

カリキュラムに沿って学習している限り、インプットばかりになってしまうことはありません。

(カリキュラムに沿わなくなったら、プログラミングスクールに通っている必要もなくなくなります。)

強制的にアウトプットできるプログラミングスクールではいらない心配ですね。

質問できない

プログラミングスクールでは必ず講師の方がいます。

大体のスクールではその講師に質問できることをサービスの一部としています。

中には質問し放題の場合もあるので、むしろ質問できちゃう環境です。

この点はプログラミングスクールの大きなメリットになります。

おすすめのプログラミングスクール

このようにプログラミングスクールはすべての悩みを一気に解決してくれます。

ある程度の金額を支払うだけで、このような環境に身を置けるのは最高ですね。

以下の記事でおすすめのプログラミングスクールについてまとめています。

ぜひプログラミングスクールを検討している方は参考にしてください。

最後に

この記事では「プログラミングを独学する苦悩」について独学でエンジニアになった僕の体験をもとに紹介してきました。

ここまで読んだあなたは、自分がプログラミングを独学するのに向いているかどうかがわかったはずです。

独学向いている!

と思った方は是非プログラミングを独学してください!

独学は難しそうだな...

と思った方は是非プログラミングスクールなどを検討してみてください。

以下が参考になります。

普段はPythonやブロックチェーンメインに情報発信をしています。

Twiiterでは図解でわかりやすく解説する投稿をしているのでぜひフォローしてくれると嬉しいです!

-学習
-