プログラミング学習を色々試してみて感じた、初心者へおすすめのプログラミング入門勉強法ステップ
まず何から始めれば良いのか?が一番難しい
自分自身は大学で情報系だったわけでもなく、就職もバリバリの文系就職だったので、プログラミングとは無縁のキャリアでした。
それが、とあるきっかけからプログラミングに興味を持ち勉強を開始するに至ります。
最初にぶつかった壁は、「まず何から始めれば良いの?」ということでした。 手当たり次第に色々試してみて、時には直ぐに辞めてしまったものもあるなど、プログラミング学習に色々と悩んできたのですが、 色々試してきた結果、なんとなく楽しく続けられる方法がわかってきましたので、 これからプログラミングの勉強を始められる方や、なんとなく興味を持ち始めた方の参考になればと思います。
プログラミング学習で一番大切だと思うこと
私がプログラミング学習を始めた時よりも、現在は色々なサービスが増えており、逆に言うと選択に迷ってしまうかもしれません。
私もそのタイプで、まずは色々試してみるしかありませんでした。 そこで感じたプログラミング学習で一番大切なことは、「継続できること」です。
過去には(私には)小難しい技術書を意気込んで買い込み、やるぞ!と思ったは良いのですが、気がつけば本棚の肥やしに。。。 結局続かなかったんですね。プログラミングも一朝一夕では到底理解できるものではないですし、 やはり継続的にコツコツと勉強していける教材やサービスことが大切だと思います。
まず最初に始めるなら「Progate」が絶対おすすめ!
Progateは、オンラインでプログラミングが学習できるサービスで、Google ChromeのようなWebブラウザだけあれば、難しいPCの環境設定がなくても開始できる点が特徴です。
オススメのポイント
用意するものはWebブラウザだけでOK
プログラミングをするには、通常色々なPCでの環境構築が必要なのですが、これが結構難しいと言うか、つまづきやすいんです。 それはそれで重要な知識なのですが、まずはプログラミングに触れてみるという目的であれば、こういった環境構築がいらないProgateはとても簡単に始められて素晴らしいと思うます。
カリキュラムが充実
Webサイトを構成する基本的な要素、HTML&CSS、JavaScriptなどはもちろん、現在多くのWebサービスで採用されているRubyやRuby on Rails、そして機械学習、ディープラーニング、AIといった分野で主流のPythonなど、幅広い分野のコースが用意されています。
とにかくわかりやすい!そして直ぐに試せる!
学習の進め方も、パワーポイントのようなスライドでイラストや画像も交えたわかりやすい説明の後に、それを直ぐ実践して確かめてみることができるという内容になっています。 これがとにかくわかりやすい。何かを間違うと間違っている部分も教えてくれるので、サクサクと進められます。
アプリもあるので、電車の中でも!
最初はWebブラウザだけのサービスでしたが、今ではスマホアプリも登場しています。まだコンテンツはWeb版と比べると一部ですが、執筆現在でHTML&CSS、JavaScript、Ruby、Pythonが提供されており、個人的には十分すぎる内容かと。スマホアプリは隙間時間でも勉強ができるので、ぜひ有効活用したいですね。
無料で始められる!
さらに、基本のコンテンツは無料で利用することができます。お財布事情を気にせず、まずは気軽に試してみることができるのが良いですね。 また学習を進めていって有料コンテンツにも手を出したくなったらぜひ有料会員にも登録してみてください。有料といっても月額980円(税込)なので、 負担も少ないのが素晴らしいです。
レベルアップやランキングとった仕組みも楽しい
Progateでは自分の学習量が経験値的に溜まっていき、どんどんレベルがアップしていきますが、これが結構継続のモチベーションに繋がります。またユーザーランキング機能もあり、競争心がくすぐられるのも良いですね。
Progateをある程度使い込んだら・・・
Progateである程度カリキュラムをやっていくと、次のステップを考えても良いかもしれません。ここからは学習の目的によって複数パターンがありそうです。
AI、機械学習に枝を伸ばしていくなら「Aidemy」
Aidemyもまた、ブラウザのみで学習をスタートできるのが特徴のプログラミング学習サービスです。最大の特徴はAIや機械学習といったカテゴリに特化していること。まさに時流に乗ったテーマですし、興味がある方も多いのではないでしょうか。
オススメのポイント
ブラウザだけで始められる。
Progateと同様、Webブラウザだけで利用することができますので、手軽に始めることができます。
無料から始められ、有料コンテンツもお手頃価格。
無料で利用できるコンテンツもあり、まずは試しに始めてみる、ということも可能です。 私はまだ無料コンテンツしか取り組めていませんが、有料コンテンツにもいずれチャレンジしたいです。
有料コンテンツを利用する場合の料金プランが少し複雑で、有料コンテンツの買い切りか、月額のチケット制となっているみたいです。
「ドットインストール」や「Udemy」で動画学習
動画を教材として提供しているサービスは複数あり、私はドットインストールやUdemyを試してみました。 動画でわかりやすく解説してくれているのが大きな魅力なのですが、個人的には一番最初にここから始めるのはおすすめできません。
というのも実際私が一番最初に始めたのがドットインストールだったのですが、動画を見てなんとなくわかった気になってしまい、 ついつい手を動かさずに終わってしまったりしたこともありましたし、 最初は分からないことも多い中で、動画をいちいち止めて調べながら進めるというのがなかなか大変でした。
ただし、サービスとしては素晴らしく、使うタイミングや使い方に気をつければ大丈夫だと思います。
オススメのポイント
豊富なコンテンツ
動画系サービス全般に言えることが、豊富なコンテンツ数です。自分の目的にあった動画コンテンツをいろいろ利用できるのがメリットですね。
ダウンロードして通勤中に
Udemyについては、スマホアプリを利用してダウンロードが可能なコンテンツが多くあり、通勤中などの時間にも勉強することが可能です。
まとめ
まずはProgate。そのあとは目的に応じてAidemyや動画系のサービスを利用する。
これが、私が経験上感じる、「挫折しない、続けられるプログラミング学習のスタート」です。 ProgateやAidemyなどで基礎学習をできたなら、おそらく初心者から初級者くらいにはなれているんだと思います。 私もまだプログラミング学習を開始して日も浅いので、その先はどう学習を進めていくべきかについては今まさに検証中です。
本当はもっと先の道筋も書けたら良かったのですが、すみません。
個人として現在進行形の活動としては、プログラミングスクールにいき始めました。別記事でその感想などは書いていますので、 ご興味があればお読みいただければと。
書評:『Webの創成 ―World Wide Webはいかにして生まれどこに向かうのか』を読んだ。
同僚のエンジニアからの勧めで、『Webの創成 ―World Wide Webはいかにして生まれどこに向かうのか』という本を読んだ。
タイトルの通り、Webの作者がWebの生い立ちについて書き綴っている本。
物心ついた時にはWebが当たり前にある環境だったし、あることが当たり前に感じていたが、Webが誰かの手によって想いを持って創られたことを認識させられた。そして不思議とWebというものに体温を感じるようになった。小説の向こうに作家の存在を感じるが如く、Webの向こうにいる開発者の存在感じた、というような感覚と言えば良いのだろうか。
なぜだか不思議とWebに対して親しみを覚えるようになったし、読んでよかった本。ちなみに絶版本なので図書館で借りて読んだ。
また、Webが元々目指していた方向性についても知れたことは面白かった。
DIVE INTO CODE授業4回目〜Rubyの巻〜
DIC授業ネタ以外も書かなければ。
今回はRuby。と言ってもRubyの言語仕様や文法を細かく教えるというよりは、Rubyを使ってアルゴリズムに関する講義をしたって感じだった。
「データ構造とアルゴリズム、大事」 なんかよく聞くやつだ!やはり大事なのか、まぁそんな予感はしていた。
今更なのですが、講義はコーディングしないって感じなのね。良いと思う。 2週間に1回の授業では、講義やワークが中心で、コーディングとかはオンラインのテキストで各自っていう住み分けなのか。
ペアだったりグループ単位で、お題のテーマについてディスカッションしたりホワイトボードにフローチャート書いたりコード書いたり、ってのは楽しい。
小話
野呂さんがルワンダに行った時は、Rubyの地名度はほぼ0。そりゃそうか。Pythonの方が知っている人がいたそう。へー。
KPT大事!という話も。そうだよね。
「Rubyやるならまずリファレンス。信頼性の観点でね。」なるほど。
DIVE INTO CODE授業3回目
今日はDIVE INTO CODE授業3回目。JavaScriptの巻だった。
フローチャートを初めてちゃんと書いてみる。普段頭の中でやっている条件分岐やらなんやらを図にアウトプットしてみると案外難しい。でも行き詰まったらこういう風に図にしてみると良いんだろうな。
毎度のごとくグループで話し合ったり発表しあったり。みんなで技術について話するの面白い。あっという間に時間が過ぎる。 こういう楽しさは、完全独学のオンラインサービスにはない部分だなぁ。俺も将来勉強会で色々交流できるくらいにはなりたいものだ。
授業の内容はJSの基本的な部分と、つまりやすそうな部分の解説。 データが膨大になったケースを想定した実装にしたり、仕様変更を見据えて共通化していく意識も大切だよ、みたいな部分は「確かに」と思った。
DIVE INTO CODE授業2回目
前回がオリエン+各自の自己紹介という感じだったので、今回から本格的に講義がスタート。
といっても基本は教材を各自が進めて行くスタイルなので、授業でがっつり座学があるというよりは、クラスメイトとお互いのコードを確認しあったり、気づいた点は発表するようなグループワークが中心。
今回のテーマはHTML, CSS。事前に課題で対応していた自分の書いたコードを改めて読んでみる。
・・・コードの可読性の重要性を感じた。自分が書いたコードでも、時間が経つとどこに何が書いてあるのか、それが何を指しているのかが極めて不明確になるという、聞いては知っていたけど、、、みたいなことが体感できてよかった。
講義終わりには何人かでランチしながら雑談。「同期」というコミュニティが新卒入社以来ということもありなんだか新鮮な気分。
DIVE INTO CODE 授業1日目に行ってきた
DIVE INTO CODEの2018年3月期に入学し、先日第1回目の授業だった。 基本的にはオンラインでテキストを進める独習スタイルだが、10回ほどはオフラインの授業がある。
授業の内容と感想
今回は第1回目ということもあり、内容は代表の野呂さんからのDICのビジョンや学習で大切なことのオリエンテーションと、受講生同期の自己紹介。
同期のバックグラウンドも営業やメーカーの研究者など様々だし、入学の思いも様々。 所属企業の将来性への不安や自身のキャリアへの不安、アイデアをカタチにするということへの想いなど、聞いていてとても刺激を受けた。
ここまでコンテンツを進めてみて
授業の進捗と関係なく、テキストはどんどん進めることができる。わからない部分は掲示板的な機能で質問できるし、基本的にメンターの方々のレスがとても早いw サクサク進められてとても楽しく取り組めている。
テックカンファレンスを楽しめるようになりたい
今週はDroidKaigiでしたね。スピーカーから色々資料も共有されていたり、参加者同士の交流があったり、やっぱりこういうテックコミュニティって良いなーと思う、
ただ、雰囲気を楽しむだけでも良いのだけれど、やっぱり発表内容を理解して楽しみたい。
そういうところもプログラミング学習のモチベーションかもしれない。