本日はエンジニア志望の方(転職希望もあり)、プログラミングを勉強したいという方向けに記事を書いてみます。結論から書くと「プログラミング独学は可能ですが継続するのは大変」というお話です。
ちなみにネット上では肩書きエンジニアと書いているのに開発実績も載せず謎のプログラミングスクールや情報商材を紹介している記事も見かけます。私自身そういう記事は信用していないので、一応自分の主な開発実績も紹介しておきます。
上の記事のように、私はエンジニア兼ダンサーとしてダンスAIの研究開発もしています。興味ある方はぜひそちらもご覧ください。その他にも「プログラミング」カテゴリに技術系の記事を載せていますのでそちらもよろしければぜひ。
プログラミングの独学は可能?
そもそもプログラミング無理!って言う人もいますが可能です。私自身は大学で情報工学系の学科にいたので正確には独学ではないのですが、学生時代はダンスばかりしていました。真面目に勉強をはじめたのは大学4年の就活も終わりかけの時期でしたが、本記事執筆時点で5年目のエンジニアとして働いています。もちろん、周りにも文系出身のエンジニアの知り合いはたくさんいます。
その真面目にプログラミングを勉強やりだしたきっかけの話は以下の記事に書いています。
上の記事も踏まえ独学が可能な理由を書いておくと「作りたいモノ・サービスがあれば勝手に独学するでしょ」という話です。ただこれは精神論な気もするのでもっと分かりやすい理由も書いておくと、いくらでもネットには初学者のための情報が転がっています。有名どころだと以下のC/C++言語に関するWebサイトなど(本も出ています)。

- 作者: ロベール
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2007/11/15
- メディア: 単行本(ソフトカバー)
- 購入: 26人 クリック: 25,357回
- この商品を含むブログ (127件) を見る
私も一時期ロベールさんのWeb解説や本を読んでいました。C++はけっこう闇が深いので初学者にオススメできるかというと微妙なのですが……ただC言語における考え方は他のプログラミング言語を学習する際も役に立つ場合があるので、じっくり学びたい人にはオススメかも(ちなみにCで書いたプログラムはC++でも基本動きます)。
少し話が逸れてしまいましたが、このようにネット上にはいくらでも無料の情報が転がっているので誰でも勉強することができます。情報の信頼性や分かりやすさという意味だと、書籍を購入して勉強するのも良いでしょう。
また、プログラミングのための環境構築が大変な場合もあります。しかし、例として私が機械学習にも使っているPythonだとGoogle Colaboratoryというオンライン上で完結する無料の開発環境もあります(Googleの回し者ではないですが本当にオススメ)。その他にもネット上のサービスというのはいくらでも存在します。
「気軽に質問できる先生が欲しい」「一緒に勉強できる仲間が欲しい」と言う方はプログラミングスクールでも良いかもしれませんが、お金がかからないという意味でもまずは簡単に独学してみてはいかがでしょうか。その時点で無理な人はおそらくスクールに通っても挫折するのではないかと思います。
プログラミングを学習する上で何よりも必要なのはやる気です。そのやる気を維持するためにも、まずは作りたいモノ・サービスを決めるというのは非常に有効です。
大変なのは継続すること
プログラミングの独学自体は可能という話をしてきました。ただ、継続するのは大変という話をここではしたいと思います。
というのも、エンジニアの世界は技術の流行り廃りが激しい世界なのです。やっと一つのプログラミング言語を習得したと思ったら、すぐに言語の仕様が変わったり別のより便利な新しい言語が出てきたりという感じです。
もちろん古い言語を使い続けて開発するというのも可能ではあるのですが、世の中の需要的にはすぐに置いていかれるでしょう。エンジニアとしてキャリアを積み重ねるには常に勉強し続けることが必要なのです。
また趣味でプログラミングをする分にはそこまで新しい技術や言語、ツールにこだわる必要は無いかもしれません。ただ新しい術を活用した方が、作れるモノの範囲が広がったり作業時間の短縮にも繋がることが多いです。どちらにしろ、インプットし続けることは大切。
つまり、継続が大変というのは勉強し続ける必要があるという意味なのでした。そのモチベーションを維持するために、ここでも作りたいモノ・サービスを決めるというのは良いことです。もし完成したら新しく作りたいモノを見つけましょう。これも大変なことですが、飽き性な方には良い意味で刺激的な世界だと思います。
さいごに
以上がプログラミングの独学は可能ですが継続するのは大変という話でした。
独学するための情報は無料でいくらでも手に入ります。スクール自体を否定しているわけではないので、金銭的な余裕がある方はそちらでも良いかもしれません。ただ、勉強し続ける必要があるという意味で継続させるのは大変です。しかし自分の周りの有能なエンジニアの皆さんはもれなくインプットし続けています(本当にみんなそんな感じです)。
やりたくもないのに無理してプログラミングを続けるのは大変です。もちろんエンジニアとしてお金を稼ぐことも難しいでしょう。そのためにも自分が楽しみながら続けられる理由を見つけるのが大切ということなのでした。