エンジニアとして長く生き抜くためのキャリアを 株式会社リ・バース 古川 英征氏
GEEK JOB編集部
プログラミングを独学で始めたいと思っている方に向けて、注意点や知っておくべき知識についてまとめています。いかに効率良く独学をすればいいかを書いているので、スタート前に是非目を通して欲しい内容です。
プログラミング学習を始めるにあたり、独学でお金をかけずに始めたいと考えている方も多いはず。確かに、独学でもプログラミングを習得することは可能。しかし、取り組み方については、少し注意点や知っておくべき知識があります。今回はこれからプログラミング学習を始める方に向けて、オススメの独学方法について紹介していきます。
目次
あなたのプログラミング学習環境について整理してみましょう。現状を確認して自分の時間とレベル・環境を整理できれば、一番効率のいい方法が見えてきます。また時間が足りないなら、無駄を削って時間と場所を確保する必要もあります。
あなたが一日の中でどのくらい学習時間が取れるかを計算してみてください。例えば、仕事から自宅に帰って夕飯やお風呂・明日の準備などを21:00に終わるとします。平日は24:00には寝るとして3時間、土日なら6時間ずつは勉強できそうです。
毎日手を動かすのが早く確実に上達するコツ。土日など空いた時間に長時間やるよりも、毎日30分でも続けるという計画の方が習慣化しやすくオススメです。
あなたのプログラミングレベルを確認します。全く触ったことがないけど興味があるのか、少しでもプログラミングしたことがあるかでも変わります。プログラミング言語を既に学んだ事があれば程度まではやれるのかをノートに書き出してみることもオススメです。
友達や先生など相談できる環境があるかも大事。気軽に相談できれば独学でも前進しやすいですが、一人で独学を進めるには工夫が必要です。 もし周りに相談出来る人がいなくて、スキルにも自信がない方も安心してください。後半で一人でも確実に独学を進められる方法をご紹介します。
就職のために独学しようと考えているなら、プログラミングスクールに通うのもオススメです。就職サポートをしてくれ、無料で教えてくれるスクールもあります。
あなたの目的は「独学」?それとも「就職」?スクールも自分に目的に合っていれば効率がいい手段になります。
プログラミングを学ぶのに必要なのはパソコンが一台だけ。コーディングの際に使う、テキストエディタのインストールはしておきましょう。
もし、AIプログラミングなど本格的なものであれば必要なものが増えますが、独学でAI・機械学習から始めるのはあまりオススメできません。
コーディングをサポートしてくれるテキストエディタはとても便利。コードミスを指摘してくれたり、タグのはじまりと終わりをハイライトするなどコーディングがしやすくなります。
多くのテキストエディタは無料でダウンロードできるで、費用もかかりません。プログラミング初心者にオススメのテキストエディタ11選を掲載しておきますので参考にしてください。なるべく作業を効率的に出来る開発環境を整える事もプログラマの大事なスキルの1つです。
最近は、プログラミングの教材も増えて無料で得られる情報も増えてきました。プログラミングを独学できる環境が整ってきました。メリットを整理してみましょう。
今はお金を掛けずに学べる時代。全くお金をかけずに始めたいなら、ネットでの情報収集・勉強から始めましょう。本を購入しなくても、最近では無料で一部の教材を配信しているサイトもあります。
一念発起してスクールに数十万円払い、「やっぱり違った」となるのは勿体ない。そんな風に思うのであれば、お金がかからない始め方は正解です。
また、自分のペースで進められるのもメリット。スクールでは卒業までの期限が決まっていることがあり、躓くとカリキュラムについていけなくなることもあります。
遠慮がちな人は他の受講生がいると、気になるところを気軽に質問できないことも。独学なら自分のペースで勉強出来るので、わからないまま先に進むということがなくなります。また、動画なら何度も視聴し放題です。
独学にはどうしても壁があります。一人でやるのは大変なのはご存知のはず。デメリットを整理して自分には乗り越えられるかを考えてみましょう。
独学で大変なのがエラーを解決すること。気軽に聞ける人が周りにいないと、初心者が一人で解決するのは苦労します。
最も挫折してしまうポイントが実はここ。初期は知識も無いなかで、先に進みたい気持ちとなかなか進まない現実のギャップに対して続けるのが困難になる人も多いです。
目標が定まらないまま独学を続けていると、ふとした時に目的を見失っていることに気付きます。基礎は一通りやったけど、転職したりお金を稼げるレベルではないことを痛感すると続ける意義を失ってしまうことも。
プログラミング学習する目的を持つのは継続するためにも大切です。時間も大事な投資、実はスクールに通った方が目的を達成するには近道だったという場合もあります。
プログラミング学習を一人で続けていくのは、とても大変。自分のモチベーションを維持するのは容易ではありません。自分だけは怠けものではないという安易な考えは捨てましょう。
それでも自分をコントロールして独学で成功している人もいます。そういう人達は何違うのでしょうか。ここでは、独学を成功に導く5つのポイントについて紹介します。もし1つでも自分の行動で改善が出来そうな部分があれば試してみてください。独学でうまくいくヒントになるはず。
一言にプログラミングと言っても幅広いので目的を決めることは大事。あなたが何をしたいかで、最適な学習するべきプログラミング言語は変わります。
ウェブサービス、もしくはアプリ制作なのかで学ぶ言語も変わります。もちろん、キャリアアップのために転職をしたい!というのも立派な目的。ハッキリさせるだけでも独学の成功にグッと近付きます。
最近では、GoogleやYahoo!などの検索サイト、Facebook・TwitterなどのSNS、Amazonなどのウェブサービスに触れない日はありません。ウェブサービスを作りたいならどんなスキルが必要でしょうか。
ユーザーに見える部分(フロントエンド)はHTML、CSS、JavaScriptなどで作られています。運用(バックエンド)はPHP、Java、Pythonといった言語が使われています。
スマホに自分で作ったアプリがインストールできたらワクワクするはず。アプリ開発がしたいならiPhone用かandroid用かで使う言語が異なることを覚えておきましょう。
■iPhoneアプリ:Swift
■Androidアプリ:Java
その他にもRuby、PHP、Python、JavaScript、Perlなど多くの言語が使われていますが、その中から選び開発を行う事になります。
ウェブサービスやアプリ開発など目的がまだ見えてなくて、何から始めてよいのか分からないという方もいるはず。
そんな方は、使われている場面が多いPHP、Python、Rubyの3つがオススメです。データベースを作成したり、ウェブサービスを作ったり様々な用途があります。
次に期日を決めましょう。独学は自分のペースで出来るので非常にやりやすい反面、いつでも出来ると先延ばしになりがちに。気づいた時には勉強する事すら忘れている可能性もあります。
例えば「基礎は2ヶ月でやって、応用を3か月で終わらせる」など、期日を決めて勉強しはじめると気持ちも引き締まるのでやってみてください。
期日を決めると一日に進める量がはっきりして取り組みやすくなります。ただし、無理な期日を設けてしまうのもタブー。継続できる目標設計をしていきましょう。
学習自体を楽しみましょう。新しい知識や技術を覚える過程を楽しめれば続けるのは簡単。
最初のうちは躓く事も多いですが、自ら解決してプログラムが動いた時の感動を忘れないように。ちょっと大げさくらいに自分をほめてみてもいいです。学習の目的に照らし合わせてまた今日も一歩進歩したと思えば自信もつきます。
独学の一番の壁は、エラーが起きたときにどう解決するか。そんな時はQiitaやterateilといったエンジニアのための質問サイトなどを使いましょう。
サイト内で検索をすると、あなたと同じエラーで躓いた人があげた質問や記事が掲載されています。もし似た質問や欲しい回答が無ければ自分で質問をすれば解決できます。
質問サイトを使いこなす方法に関しては別の記事でもまとめています。エラーを解決するためにも効率の良いやり方を探しましょう。
⇒プログラミング 質問 サイト への記事リンク
継続は力なりです。冒頭でも毎日コツコツやる方が良いと説明をしたように、習慣を作る事が何よりも大切。プログラミングは1ヵ月で覚えられるものではありません。プログラミングでは情報のアップデートは常に起こります。学習するクセをつけるためにも、継続できるプラン・習慣作りをしましょう。
独学とはいえ勉強した時間を無駄にしたくないはず。何がなんでもプロダクトを一つ作るところまではやり切りましょう。1つでもプロダクトが作れたら、そこからはより効率化を図ったり自分が作りたいものに対して足りないことを自然に勉強するようになります。
独学を成功させるためには、やってはいけない勉強方法もあります。いきなり難易度の高いことをするのは危険。目の前の小さな成功体験を積み上げていきましょう。
独学ではじめるなら、始めは難しい言語(C#やC++)は避けましょう。難しいものができれば基礎も自然と身に付くという考える人もいますが、先ほども紹介したようにそもそも学習が継続しなければ意味がありません。初心者でも取り組みやすい言語から勉強を開始するべきです。
コードを書かずにスキルが上達する人はいません。どれだけテニスの入門書を見て理屈が分かっても実際にコートに立って、ボールを打ってみなければ打てないはず。
実際に手を動かしてコードを書くからこそ分かる事がたくさんあります。エラーやミスは理解度を深めるためにも重要なので、分かると出来るは違うという事を肝に銘じてください。
分からない事を、全く考えないのも勉強方法として正しくありません。躓いた時にすぐに答えを聞ける環境は大切ですが、甘んじるのではなく自分で考えて解決のために頭を使うことはとても大事。
自分で考える習慣が出来ている人とそうでない人とでは、実践で大きな差が出ます。まず考えながらやってみて、もう一度考えて、それでもダメなら質問をしてみるというサイクルを作れると勉強効率が上がります。
ここからは、プログラミング初心者・未経験の方が知っておくべきオススメの学習プロセスをご紹介します。一番躓かずに勉強を続けられる方法です!
プログラミングがどんなものか触ってみましょう。実際にプログラムが動いているところを見られるので初心者がイメージを掴むには、動画やスライドショーの教材がいいはず。無料で見られるサービスもあるので初心者向けのサービスを2つ紹介します。
代表的なのがProgate(プロゲート)です。環境構築をする必要がなくブラウザ上で進められる手軽さと、スライドを確認しながらコーディングができます。一部無料でできるので、無料でやってみて自分に合うと思えば有料版を数カ月試すのもありです。
Progateは既に84万人のユーザーを抱えていて、全世界100ヵ国以上で展開をしているグローバルなサービス。イラストを中心としたスライドで分かりやすい構成になっています。全16コース・76レッスンが用意されています。
もう1つオススメのサイトはドットインストール。基礎から応用まで幅広く扱っており、アプリ開発など自分がやりたいテーマにそってどの動画を見れば良いかをまとめられています。
こちらも無料コンテンツには限りがありますが、Progateよりも見られる数は多いです。講師が話している動画を見ながら進めていくのでイメージがつきやすいです。
動画の中で説明されているものを真似して作ることで、プログラミングの楽しさを得られるようになっています。レッスンごとに細かいステップになっていて負担が少なく勉強出来ます。3分ほどの動画が多いので通勤中などすきま時間にも視聴可能。勉強時間を少しでも捻出したい方にはオススメです。
言語のイメージが掴めたら一歩先に。実践的なチュートリアルに取り組みましょう。完成の手本を見ながら自分のパソコンでプログラミングしていきます。当然、エラーが起こります。どこが動いていなくて何が上手くいってないのか、考えながら解決していくので勉強になります。
初心者でも覚えやすく、使い勝手が良いとされるRubyのチュートリアルです。筑波大学や琉球大学でも採用されていて、オンライン版は全て無料で公開されていることもあり非常によく知られています。
中身はTwitterのようなSNSを作るチュートリアルです。興味がある人はもちろん、まだどの言語を学ぶか迷っている人にもRubyはオススメなので是非試してみてください。
URL:https://docs.python.org/ja/3/tutorial/index.html
最近人気のPythonのチュートリアルです。Pythonの特徴的な機能を中心に紹介されています。実はYouTubeやインスタグラム、それに今後非常に大事な要素になってくる機械学習もPythonで作られているのです。
その他にもアプリ、分析等々非常に幅広く活用でき、コードも少なくて済むので実用面でも機能面でも学びやすい言語なのでオススメです。
チュートリアルまでできると、きっと自分のサービスを作りたくなっているはず。オリジナルサービスは経験値としてはもちろん、実績としても使えるので転職活動でも有利になります。サービスアイデアが思いつかなければ、チュートリアルで作ったものを改造・改善するだけでも勉強になります。
慣れたらゼロから作るのをオススメします。プログラミングは実践あるのみ、非常に効率的な学習方法です。
学習方法には書籍で学ぶ方法もありますが、少しだけ注意が必要。選ぶ際のポイントを知ったうえで手に取りましょう。
プログラミングの目的はあなたが作りたいサービスを作る事のはず。書籍の中には概念的な本があり、コーディングに取り組むには物足りない本もあります。
そのまま実践できるイメージが湧くかどうかで選びましょう。あなたが手にとった本は、ページを開きながらコードを打つことができる本ですか?
自分に合った本かどうかを見極める事も大切です。本を買おうとすると情報量が多いものや少しでも高度な事が書かれているものを選びがち。レベルが合っていない本を読むのは勿体ないです。可能であれば内容を覗いてみて、これなら最後まで通して読めそうだとイメージが湧くものを選ぶようにしましょう。
実用的なサンプルコードの数が多い本を選ぶのも1つのポイント。1つ1つのコードはシンプルなものでOK!サンプルコードにたくさん触れておくと、自分でサービスを作る際にも引き出しが増えます。
読む前から、サービス制作時に必要かどうかを判断するのは難しいのでたくさん演習がある本を選ぶのも良いでしょう。
本はどうしても発行までに時間がかかります。プログラミングの概念を知るためなら最新ではなくてもいいです。しかし、プログラミング言語一つが題材の本を購入するときは、最新版かどうかの確認はしておきましょう。
どの本を選べばいいかわからないという方へ向けて、GEEK JOBがおすすめするプログラミング初心者向けの本をまとめた記事が下記になります。ぜひ参考にしてみてください!
たった一人、孤独で勉強するだけが独学ではありません。一緒に悩みながら成長できる仲間がいるとモチベーションの維持や成長スピードも変わります。独学を成功させるためにもコミュニティなどで探してみるといいかもしれません!
一緒に切磋琢磨出来るプログラマー・エンジニア仲間やメンターはとても大事。できるなら、いつでも相談出来たりリフレッシュ出来る環境を作っておきましょう。
オンライン・オフラインでも多くのコミュニティができています。コミュニティは仲間を作りに来ている方も多いので、同志が見つかるかもしれません。転職などを考える際にも情報交換ができるのでオススメです。
Doorkeeperというコミュニティは地域ごとや初心者ごと、言語ごとなど割り振りがハッキリしています。地域ごとに探せるのでコミュニティが見つかりやすいのもポイント。
・スキルアップ
・就職
・趣味
などコミュニティごとで学ぶ理由がハッキリしているので、ミスマッチが起こりにくいのも特徴です。無料体験レッスンを開催しているところもあります。
エンジニア同士をつなぐ勉強支援コミュニティ。SNSとも連携をしており、イベントの開催を見逃さないという利点があります。自らカリキュラムを作成してコースとして打ち出している人もいます。
フリーランスの一歩として足を踏み入れるのも良い経験になるのではないでしょうか。もちろん、気に入ったコースがあれば受講する事も可能。他のユーザーがどのようにイベントを立てているのかを学ぶのも勉強になります。
もし転職の意思が固く今すぐにでも動き出したいと考えているなら、独学以外の選択肢も考えてみて。就職までワンストップでサポートしてくれる、無料のプログラミングスクールなどもあるのです。
IT業界を知り尽くしたメンターが基礎から教えてくれ、エンジニアとしての経験豊富な方がサポートしてくれるのは就職時の不安などの相談もしやすいです。
無料体験レッスンなどを行っているスクールもあるので参加してはいかがでしょうか。