独学プログラミングのすすめ
はじめに
近年、世の中の仕組みのデジタル化やIoTの進行により、ウェブやシステムが、ますます日常生活に身近となり、便利で快適に過ごせるようになっています。しかし、冒頭でもお話しましたように、プログラミングやITという言葉に対して「難しい」や「複雑」という感想を持つ方も少なくないかと思います。要因としては、興味や関心が無い限り、特段プログラミングに触れる機会が無いことが挙げられます。また、興味はあるものの「何から始めたらよいのか」「何を準備すればよいのか」等が分からず、独学でのプログラミング学習に対して高いハードルを感じている方も一定数いらっしゃるかと思います。IT業界に入る以前の私がまさにその1人でしたが、いざ業界に入り、必要に駆られて独学を始めてみると、良い意味で裏切られた感覚でした。したがってここでは独学の手軽さ、文系の私でもプログラミングを難しくないと感じられた理由、プログラミング学習の利点など、業界経験が浅いながらに感じることのできた経験を基に整理していきます。これからプログラミング学習を独学で始めるにあたって、少しでも興味をもっていただけるきっかけとなれば幸いです。
学習サイトでプログラミング独学
プログラミングを独学で学習するにあたって、まず乗り越えなくてはいけないハードルとして環境構築があります。要するにシステムやソフトウェアなどの実行環境や開発環境などを利用者が実際に使用可能な状態に整えることを言いますが、言葉で聞いてもいまいち分かり辛く、この環境構築が出来ずに早くも挫折してしまう初心者の方もいるかと思います。しかし、実は環境構築不要でプログラミングを始められる方法がいくつかあります。その中でも特に手軽に始められる方法は「プログラミング学習サイト」を利用することです。近年ITエンジニアの需要増加に伴って、書籍以外でプログラミングを学びたいニーズが増えている背景があり、複数サイトで無料且つ環境構築不要でサービスが展開されています。学習方法も、動画によるハンズオン形式や問題演習形式、スライド形式など多岐にわたり、自身に合った方法を選択し、学習することが可能です。無料で学習できる範囲に制限があり、有料会員になることで全サービスが解放されるものがほとんどです。ただ有料会員になったとしても月額数百円から数千円で利用できるものも多く、プログラミングスクールに通うよりも安価且つ時間が作りやすいのも利点と言えます。私もProgate、ドットインストールといったサイトを利用したことがありますが、独学をはじめる段階では無料版でも充分に学習効果が期待できます。また、サイト内で理解することができない難しい単語や不明な箇所は検索することで解決できるものがほとんどのはずです。すぐに有識者に聞くことが出来ないからこそ分からない点で立ち止まり、徹底的に自身で調べる時間が作れるため、着実な知識増大につながる点も独学の利点であると感じます。したがってPCとインターネット環境とプログラミング学習サイトの3点さえあれば、環境構築不要且つ無料で手軽に独学をはじめることができますので、何から始めるべきか悩んでいる方でも取り組みやすい方法です。
文系でも困らないプログラミング
次に、プログラミングに対して「難しい」という感情が軽減されたきっかけについて紹介します。プログラミングの参考書や学習サイトを手元に準備し、基礎を学び始めると、必ずと言っていいほど「進数」や「単位」や「処理速度」など、なにかと数字が絡んでくる点が目立ちます。よって初心者の方はプログラミングには数学の知識が必要というイメージがあり、抵抗を感じやすい点かもしれません。文系出身である私自身、物理や数学に対して苦手意識が強く、「プログラミング = 数学」といったイメージを持っていました。しかし実際のところ、プログラミングに数学の知識はほとんど必要なく、四則演算や小数などが扱えれば充分です。最も大きな気付きとなったのは、独学を始めて3ヶ月ほど経過し、インターネット上に載っているサンプルソースコードを見て、何がどのように書いてあると、どういった動作や結果になるのかを学ぶために声に出しながら読んでいた時のことです。簡単な例として下記のソースコードをご覧ください。ソースコード自体の意味は分からなくても問題ありません。
if ( score >= 80 ) {
grade = ‘A’;
}else if ( score >= 70 ) {
grade = ‘B’;
}else if ( score >= 60 ) {
grade = ‘C’;
} else {
grade = ‘D’;
}
例えば上記の様なscoreという点数を表す変数とgradeという評価を表す変数を扱うif文(※条件分岐)を「もし点数が80点を超えていたら評価はAとなる、もし点数が…」といった要領で読んでいきます。要するに、ソースコードは文章であり、行っていたことはソースコードの翻訳です。この作業を繰り返し行っているうちに実務においても次第にソースコードが読めるように、書けるようになっていきました。身近な例を挙げると、英語を学習している際に、まず読めるようになり、次に書けるようになり、そして少しずつ話せるようになる感覚をイメージしてもらえると分かりやすいかと思います。もちろんソースコードの中には数字や演算子等の記号も含まれていますが、大事なのは文章自体の意味や、どうしてそのように動くのかといったことを理解するための「読解力」であると感じます。また、上記のようにプログラムを動かす為には「プログラミング言語」と呼ばれる、パソコンが理解できる言葉で書く必要があります。プログラミング言語は英単語や英語の文法を利用して作られています。「言語」という表現をすることからも、プログラミングが言葉であるイメージを持ちやすいかと思います。以上のことから、独学を始める以前に持っていた「プログラミング = 数学」なので「難しそう」というイメージが払拭され、文系であることを特に意識せず学習することができるようになりました。以上が文系の私でもプログラミングを難しくないと感じられた理由です。
身近に潜むプログラミング
続いて、プログラマーを目指していなくともプログラミングを学習することで得られるメリットについてです。業界経験が浅いながらも大きく分けて2つのメリットを感じました。まず1点目は、プログラミングの学習を行う過程で論理的な思考力や問題解決能力など、普遍的な力が養われることです。そもそもプログラムは、兎にも角にも書いたとおりにしか動かず、再現性のあるものです。処理が合っていても間違っていても、そうなるべくして動作しており論理的に筋道が通っているため、必ず原因と理由を説明することが可能です。こうした訓練を継続することで培われた論理的思考力は、意外にも日常生活やビジネスの場において役立ちます。自身の案や直感的なアイデアに対して論理的な説明をすることで、例え価値観が異なっている相手にでも伝わりやすく、建設的に会話を行うことができます。2点目は、冒頭でも書いたように、現代の世の中の仕組みや生活にウェブやシステムは欠かせないものであり便利である一方、様々なリスクも確かに存在します。その知識を少し身に着けるだけでも、一層快適に過ごすことが出来たり、リスク管理を行う上で知識が役立つこともしばしばあります。以上のことから、プログラミングの独学はビジネスマンのスキルアップにも効果的であると言えるのではないでしょうか。
まとめ
私自身、エンジニアとしてもビジネスマンとしても未だ未熟ではありますが、手軽に独学でプログラミングが学べる現代だからこそ、プログラミングに対する抵抗感を解消でき、日常生活においても利点を感じることができたと言えます。また、今後ますますIT業界のエンジニア不足が懸念される中で、2020年4月よりプログラミング教育が小学校で必修化されるなど、教育機関においてもプログラミングへの関心が高まっています。チャンスの多い業界でもあるため、少しでも興味のある方は独学でプログラミングをはじめてみてはいかがでしょうか。