プログラミングをこれから学びたいという人にとって、
- プログラミングをどうやって勉強すればいいのか?
- 何を最初に始めればいいのか?
- 何がわからないかもわからない・・・
こんな状況の人も多いと思います。
僕もそうでした。
「独学でプログラマーになるぞ!」とは決めたものの、本屋にはプログラミングの入門書が山のようにある。ネットで調べても「開発環境とツールを決める」「エディタを決める」とか。。。いや、そーゆーことも自分で決められないんだよなーって思ってました。
もちろん「具体的にこういったアプリが作ってみたい!」というのがあれば、それに向かって必要なことを初歩からやるんですけど、プログラミングを学んでみたいという人にとって、そこまで明確な目標はなかなかないのが実情です。
それはあなたが悪いのではなく、具体的な目標立てるのに必要な知識がまだないから。
このページでは、右も左もよくわからないプログラミング初心者に本当にやってほしいこと(やるべきこと)をご紹介したいと思います。
本当はプログラミングスクールに入ってほしい
いきなり本音を言ってしまうと、、、
初心者はプログラミングスクールに入ってほしいです。
これは、僕がプログラミングスクールに入って、プログラマーとして就職できたという経験があるというのもあるのですが・・・
先ほども言ったように、プログラミングを学ぼうとする初心者に多いのは、何かを決める知識もないことです。
いきなり
- WindowsかMacか決めて
- 開発環境(フレームワーク)は何がいいか決めて
- エディターは色んな機能があるし、いろんな種類があるから決めて
- 習得したいプログラミング言語を選んで
と言われたってわかるはずありません。一人で決められません。
でも、プログラミングを学ぶためには決めなくてはいけないことです。
この最初に決めなくてはいけないこともサポートしてくれるのがプログラミングスクールです。
プログラミング言語、開発環境、エディターなどは、その後の方針を左右する重要なことです。これはプログラマーとして働きだして実感しました。
僕は、今後の方針を左右する最初の決め事を、プログラミングスクールの講師(現役プログラマー)と一緒に決めることができて本当に良かったと思ってます。
ぼんやりとしかない考えを上手く言語化してくれて、今、自分にとって何の勉強が必要なのかを的確にアドバイスしてくれます。
だからこそ、プログラミング初心者に本当にやってほしいことが「プログラミングスクールで学ぶこと」なんです。
初心者のやるべきことを調べて、いきなり「プログラミングスクールに入れ!」と言われてもビックリすると思いますが、本気でプログラミングを学んで、将来的にプログラマーとして働きたい!と思っているのなら、スタートで方向を決めて基礎からしっかり学ぶことが何より大事です。
それは、介護士からプログラマーとして転職した僕が身にしみて感じたことです。本気なら、ぜひプログラミングスクールも検討してみてください。
>>おすすめのプログラミングスクール!人気のスクールを徹底比較
プログラミング初心者が勉強を始める前にやるべきこと
ここからは、プログラミング初心者が勉強を始める前にやるべきことをご紹介します。
先ほども言ったように、本当はプログラミングスクールに入って現役プログラマーである講師と一緒に決めるのがいいのですが、実際にどんなことを決める必要があるのかをご紹介します。
作りたいものを決める
まずは、簡単でもいいので作りたいものを決めます。
作りたいものが無いという状態は、ゴールを決めずに登山するようなものです。軽いピクニックだろうと真剣な登山だろうと、目的(ゴール)は必ず設定するはずです。
何を作りたいかで、どういうプログラミング言語を学ぶのか?どういった開発環境で学ぶのか?が決まります。
- WEBサイトやWEB上で動くアプリが作りたい
- スマホで動作するスマホアプリが作りたい
- パソコン上で動作するアプリやサービスが作りたい
- 大企業の基幹システムの開発に携わりたい
- IT企業に就職するためのプログラミングスキルがほしい
- ブログ作成・運営をしてみたい
上記のような希望だけでも、やるべき内容と難易度が全然違います。
まずは何がやりたいか?何を作りたいか?
これを決めましょう。
プログラミング言語を決める
やりたいこと、作りたいものが決まったら、習得するプログラミング言語を決めます。
WEBサービスが作りたいのか?スマホアプリが作りたいのか?企業の基幹システムの開発に携わる仕事がしたいのか?といった内容で、学ぶべきプログラミング言語が異なります。
ざっくりとした対応表は以下のとおりです。
仕事内容 | プログラミング言語 |
---|---|
WEBアプリ開発 WEBエンジニア |
Ruby、Java、PHP、Perl、JavaScript、jQuery、HTML5、CSS |
スマホアプリ開発 ゲームアプリ開発 |
Swift、Kotlin、Java、Object C、C#、Unity、 |
企業の基幹システム開発 SE・プログラマー |
C、C++、C#、VB.net、Java、Perl、Linux、MySQL、Oracle |
ブログの作成・運営 | WordPress、HTML5、CSS、PHP |
まずは簡単なプログラミング言語となると
・Ruby、PHP、JavaScript、jQuery
といったところになります。
プログラミング初心者の最初の入りとして「簡単かどうか」で決めるものありだとは思いますが、将来的にこういうものが作りたい、こういった仕事に就きたいというのがあれば、仕事に合わせたプログラミング言語の選択が必要です。
開発環境(フレームワーク)を決める
開発環境(フレームワーク)とは、プログラミング言語の開発をサポートするツールみたいなもので、プログラマーが開発しやすいようにするために様々な機能が提供されています。
今日の開発の現場では、いかにスピーディーに工数(時間・期間)を少なく開発するかが勝負になっています。そのため、開発をサポートするフレームワーク選びも重要なことのひとつです。
ここでも、代表的なフレームワークをご紹介します。
フレームワーク (ツール) |
特徴 |
---|---|
Ruby on Rails | WEBサービス、WEBアプリ開発で使用される「Ruby」のフレームワーク。生産性の向上、品質管理、メンテナンス性、開発スピードを向上させるため、Rubyの開発の場では必ず使われている。 |
Xcode | Appleが提供するIDE(統合開発環境)で、iPhone、iPad、macOSなどで動作するソフトウェアを開発するために無くてはならないツールです。iOSのシミュレーターなど、開発に役立つ機能やソフトウェアが用意されていて、開発品質や開発スピード向上に貢献しています。 |
Android Studio | こちらはAndroid向けの開発に必要なIDEで、Googleが提供しています。Xcodeと同じように開発環境をサポートする機能が用意されていて、Androidアプリを開発するためには無くてはならないツールです。 |
この他にもツールとして個人の好みが分かれるのが「テキストエディタ」です。
一般的には統合開発環境やフレームワーク上でコーディング(コードを書いていく)のですが、メモをとったり、ちょっとしたコードを書いたり、UNIX(Linux)上でコーディングしたりと、テキストエディタの使用頻度は結構あります。
代表的なテキストエディタとしては
- Sublime Text(Win/Mac)
- Vim(Win/Mac)
- TeraPad(Winのみ)
- サクラエディタ(Winのみ)
- 秀丸エディタ(Winのみ)
- mi(Macのみ)
- CotEditor(Macのみ)
- Liveweave(Macのみ)
などがあります。
どれがいいとかではなく、最初に使っていたエディターor好みなので、使ってみないとわかりません。
ただ、テキストエディタはショートカットキーなどの設定ができるため、仕事で使いこなすと開発スピードに大きく影響します。つまり、最初に何を使うか?が意外と重要になってくるわけです。
ちなみに僕は、上記で言うと「Vim、秀丸エディタ、mi」などを使用しています。
より効率的に学習するために必要なこと
初心者が効率的にプログラミングを学び、できるだけ短期間でマスターするために必要なことがあります。
プログラミングの学習時間
プログラミングで実用的なアプリやサービスが作れるようになるまで(仕事として通用するレベルに到達するため)には、150時間~300時間くらいの学習時間が必要です。
もちろんプログラミング言語によって違いもあるし、個人の能力や進捗によっても違います。理解が早い人もいれば遅い人もいます。上記は平均的な学習時間です。
大体、1日平均3時間を月20日勉強して、3ヶ月~5ヶ月でマスターできる計算です。
上記はプログラミングスクールなどで効率よく学んだときの時間であり、独学だけでマスターしようとすると最低でもその倍の半年~1年はかかると思ってください。
短期集中で学習する
プログラミングは英語や国語と一緒です。
英単語を覚えたり、国語の感じを覚えるのと同じく、プログラミング言語を覚えれば誰でもマスターできます。理系か文系かなどは関係ありません。
事実、僕は数学も苦手だったし、計算も得意ではありません。
ですが、管理人プロフィールにも書いたように、今は会社のエースとしてバリバリプログラミングの仕事をこなしています。要は覚えるかどうかです。
初心者に意識してほしいのは、短期集中で学習すること。
プログラミング初心者のうちは、プログラミングに触れないとどんどん忘れていきます。
独学で多い失敗が、プログラミングの勉強に間を空けてしまうため、前回のことを忘れてしまい手戻りが発生すること。全然前に進まずに挫折してしまいます。
- どんなに忙しくても、1日30分はプログラミングに触れること
- 短期集中で一気にマスターしてしまうこと
効率よくスキルアップするためには必要なことです。
自分ひとりだと、どうしてもサボったりわからないことがあると挫折して諦めてしまいがちです。
これもプログラミングスクールなら、ある程度強制力が出てくるのでサボることもしないし、わからないこともリアルタイムでサポートがあるので短期間でマスターできます。
プログラミングは誰でもマスターできます
当サイトで何回も言ってることだしこのページでも言ってきましたが、
プログラミングは誰でもマスターできます。
初心者から勉強して、短期間でプログラマーとしてIT企業に転職もできます。
僕自身がそうだったように、選び方を間違えず効率よく学習すれば、働きながらでも短期間でプログラマーになることは可能なんです。
今回ご紹介したプログラミング初心者がやるべきことをしっかり守って、プログラミングをマスターしてください。
そしてもし本気で短期間でマスターしたいのであれば、プログラミングスクールに入って学ぶことを強くおすすめします。
現役プログラマーである僕自身、即戦力として転職/就職を有利にすすめるためにも、プログラミングスクールは必須だと感じています。